@etherisc/gif-next 0.0.2-ce2fc91-485 → 0.0.2-ce3fd5e-324

Sign up to get free protection for your applications and to get access to all the features.
Files changed (550) hide show
  1. package/README.md +249 -39
  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 +327 -1590
  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 +478 -1771
  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 +1569 -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 +2837 -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 +1 -1
  35. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +94 -127
  36. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  37. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  38. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +138 -249
  39. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +38 -13
  41. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  42. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  43. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  44. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +237 -0
  45. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  46. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  47. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  48. package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IComponents.sol/IComponents.json} +2 -2
  49. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  50. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  51. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  52. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  53. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  54. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  55. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  56. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
  57. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  58. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  59. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  60. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1288 -0
  61. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  62. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +696 -0
  63. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  64. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +735 -0
  65. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  66. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1095 -0
  67. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  68. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1077 -0
  69. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  70. package/artifacts/contracts/pool/Pool.sol/Pool.json +1407 -0
  71. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  72. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1622 -0
  73. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  74. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +708 -0
  75. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  76. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +918 -0
  77. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  78. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +648 -0
  79. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  80. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1376 -0
  81. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  82. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +748 -0
  83. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  84. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +250 -234
  85. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  86. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +743 -0
  87. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  88. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +651 -0
  89. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  90. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +510 -0
  91. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  92. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +861 -0
  93. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  94. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IProductService.sol/IProductService.json} +222 -156
  95. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  96. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1281 -0
  97. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  98. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +740 -0
  99. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  100. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1004 -0
  101. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  102. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +688 -0
  103. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  104. package/artifacts/contracts/product/Product.sol/Product.json +1198 -0
  105. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  106. package/artifacts/contracts/product/ProductService.sol/ProductService.json +864 -0
  107. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  108. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +640 -0
  109. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +199 -12
  111. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +485 -34
  113. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +858 -0
  115. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  116. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  117. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  118. package/artifacts/contracts/registry/Registry.sol/Registry.json +491 -105
  119. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  120. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  121. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  122. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1150 -0
  123. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  124. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +657 -0
  125. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  126. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
  127. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  128. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +485 -0
  129. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  130. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  131. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  132. package/artifacts/contracts/shared/Component.sol/Component.json +873 -0
  133. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  134. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +631 -0
  135. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  136. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  137. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  138. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +636 -0
  139. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  140. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +125 -0
  141. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  142. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +189 -0
  143. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  144. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -37
  145. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  146. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  147. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  148. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/IService.sol/IService.json} +157 -156
  149. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  150. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +16 -125
  151. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  152. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +238 -0
  153. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  154. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +302 -0
  155. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  156. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +569 -0
  157. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  158. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +245 -27
  159. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  160. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  161. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  162. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → shared/Service.sol/Service.json} +256 -220
  163. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  164. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +114 -0
  165. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  166. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  167. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  168. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +29 -115
  169. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  170. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +523 -0
  171. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  172. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +628 -0
  173. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  174. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +767 -0
  175. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  176. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  177. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  178. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  179. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  180. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
  181. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  182. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  183. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  184. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  185. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  186. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  187. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  188. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  189. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  190. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +166 -0
  191. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  192. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  193. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  194. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  195. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  196. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  197. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  198. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  199. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  200. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  201. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  202. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +156 -0
  203. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  204. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -0
  205. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  206. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  207. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  208. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +280 -0
  209. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  210. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  211. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  212. package/artifacts/contracts/{types/UFixed.sol/UFixedMathLib.json → type/UFixed.sol/UFixedLib.json} +4 -4
  213. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  214. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  215. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  216. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  217. package/contracts/distribution/Distribution.sol +285 -0
  218. package/contracts/distribution/DistributionService.sol +349 -0
  219. package/contracts/distribution/DistributionServiceManager.sol +51 -0
  220. package/contracts/distribution/IDistributionComponent.sol +71 -0
  221. package/contracts/distribution/IDistributionService.sol +87 -0
  222. package/contracts/instance/BundleManager.sol +126 -0
  223. package/contracts/instance/IInstance.sol +67 -42
  224. package/contracts/instance/IInstanceService.sol +73 -0
  225. package/contracts/instance/Instance.sol +213 -52
  226. package/contracts/instance/InstanceAccessManager.sol +543 -0
  227. package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
  228. package/contracts/instance/InstanceReader.sol +368 -0
  229. package/contracts/instance/InstanceService.sol +308 -0
  230. package/contracts/instance/InstanceServiceManager.sol +54 -0
  231. package/contracts/instance/InstanceStore.sol +211 -0
  232. package/contracts/instance/base/Cloneable.sol +51 -0
  233. package/contracts/instance/base/IKeyValueStore.sol +22 -18
  234. package/contracts/instance/base/ILifecycle.sol +4 -4
  235. package/contracts/instance/base/KeyValueStore.sol +65 -53
  236. package/contracts/instance/base/Lifecycle.sol +42 -17
  237. package/contracts/instance/base/ObjectManager.sol +82 -0
  238. package/contracts/instance/module/IAccess.sol +54 -0
  239. package/contracts/instance/module/IBundle.sol +23 -0
  240. package/contracts/instance/module/IComponents.sol +41 -0
  241. package/contracts/instance/module/IDistribution.sol +42 -0
  242. package/contracts/instance/module/IPolicy.sol +77 -0
  243. package/contracts/instance/module/IRisk.sol +11 -0
  244. package/contracts/instance/module/ISetup.sol +33 -0
  245. package/contracts/instance/module/ITreasury.sol +23 -0
  246. package/contracts/pool/BundleService.sol +382 -0
  247. package/contracts/pool/BundleServiceManager.sol +51 -0
  248. package/contracts/pool/IBundleService.sol +118 -0
  249. package/contracts/pool/IPoolComponent.sol +114 -0
  250. package/contracts/pool/IPoolService.sol +114 -0
  251. package/contracts/pool/Pool.sol +302 -0
  252. package/contracts/pool/PoolService.sol +403 -0
  253. package/contracts/pool/PoolServiceManager.sol +51 -0
  254. package/contracts/product/ApplicationService.sol +186 -0
  255. package/contracts/product/ApplicationServiceManager.sol +35 -0
  256. package/contracts/product/ClaimService.sol +437 -0
  257. package/contracts/product/ClaimServiceManager.sol +35 -0
  258. package/contracts/product/IApplicationService.sol +62 -0
  259. package/contracts/product/IClaimService.sol +90 -0
  260. package/contracts/product/IPolicyService.sol +80 -0
  261. package/contracts/product/IPricingService.sol +37 -0
  262. package/contracts/product/IProductComponent.sol +41 -0
  263. package/contracts/product/IProductService.sol +40 -0
  264. package/contracts/product/PolicyService.sol +376 -0
  265. package/contracts/product/PolicyServiceManager.sol +54 -0
  266. package/contracts/product/PricingService.sol +275 -0
  267. package/contracts/product/PricingServiceManager.sol +51 -0
  268. package/contracts/product/Product.sol +375 -0
  269. package/contracts/product/ProductService.sol +210 -0
  270. package/contracts/product/ProductServiceManager.sol +54 -0
  271. package/contracts/registry/ChainNft.sol +87 -36
  272. package/contracts/registry/IRegistry.sol +71 -27
  273. package/contracts/registry/IRegistryService.sol +66 -0
  274. package/contracts/registry/ITransferInterceptor.sol +7 -0
  275. package/contracts/registry/Registry.sol +372 -286
  276. package/contracts/registry/RegistryAccessManager.sol +216 -0
  277. package/contracts/registry/RegistryService.sol +285 -0
  278. package/contracts/registry/RegistryServiceManager.sol +60 -0
  279. package/contracts/registry/ReleaseManager.sol +328 -0
  280. package/contracts/registry/TokenRegistry.sol +116 -0
  281. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  282. package/contracts/shared/Component.sol +271 -0
  283. package/contracts/shared/ComponentService.sol +150 -0
  284. package/contracts/shared/ERC165.sol +14 -8
  285. package/contracts/shared/IComponent.sol +90 -0
  286. package/contracts/shared/INftOwnable.sol +23 -0
  287. package/contracts/shared/IPolicyHolder.sol +40 -0
  288. package/contracts/shared/IRegisterable.sol +10 -19
  289. package/contracts/shared/IRegistryLinked.sol +11 -0
  290. package/contracts/shared/IService.sol +18 -0
  291. package/contracts/shared/IVersionable.sol +38 -37
  292. package/contracts/shared/NftOwnable.sol +118 -0
  293. package/contracts/shared/PolicyHolder.sol +94 -0
  294. package/contracts/shared/ProxyManager.sol +169 -0
  295. package/contracts/shared/Registerable.sol +54 -65
  296. package/contracts/shared/RegistryLinked.sol +43 -0
  297. package/contracts/shared/Service.sol +72 -0
  298. package/contracts/shared/TokenHandler.sol +35 -0
  299. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  300. package/contracts/shared/Versionable.sol +38 -68
  301. package/contracts/staking/IStakingService.sol +102 -0
  302. package/contracts/staking/StakeingServiceManager.sol +37 -0
  303. package/contracts/staking/StakingService.sol +166 -0
  304. package/contracts/type/Amount.sol +109 -0
  305. package/contracts/{types → type}/Blocknumber.sol +1 -0
  306. package/contracts/type/ClaimId.sol +75 -0
  307. package/contracts/type/DistributorType.sol +55 -0
  308. package/contracts/type/Fee.sol +65 -0
  309. package/contracts/{types → type}/Key32.sol +8 -3
  310. package/contracts/{types → type}/NftId.sol +8 -0
  311. package/contracts/type/NftIdSet.sol +62 -0
  312. package/contracts/{types → type}/ObjectType.sol +55 -12
  313. package/contracts/type/PayoutId.sol +82 -0
  314. package/contracts/type/Referral.sol +89 -0
  315. package/contracts/type/RiskId.sol +43 -0
  316. package/contracts/type/RoleId.sol +132 -0
  317. package/contracts/type/Seconds.sol +54 -0
  318. package/contracts/{types → type}/StateId.sol +12 -3
  319. package/contracts/{types → type}/Timestamp.sol +22 -13
  320. package/contracts/{types → type}/UFixed.sol +129 -12
  321. package/contracts/{types → type}/Version.sol +14 -1
  322. package/package.json +6 -5
  323. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  324. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  325. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  326. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -174
  327. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  328. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  329. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  330. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  331. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  332. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  333. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  334. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  335. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  336. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  337. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  338. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  339. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  340. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  341. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  342. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  343. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  344. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  345. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  346. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  347. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  349. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  350. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  351. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  352. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  353. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  354. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  355. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  356. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  357. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  358. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  359. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  360. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  361. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  362. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  363. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  364. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  365. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  366. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  367. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  368. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  369. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  370. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  371. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  372. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  373. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  374. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -63
  375. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  376. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  377. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  378. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  379. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  380. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  381. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  382. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  383. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  384. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  385. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  386. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  387. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
  388. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  389. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  390. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
  391. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  392. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  393. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  394. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  395. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  396. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  397. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  398. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -241
  399. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  400. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  401. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  402. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -241
  403. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  404. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  405. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -271
  406. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  407. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -271
  408. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  409. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  410. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  411. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  412. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  413. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  414. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  415. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  416. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  417. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  418. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  419. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  420. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  421. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  422. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  423. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  424. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  425. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  426. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  427. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -507
  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/PoolService.sol/PoolService.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  434. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  436. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  437. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  438. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  439. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  440. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  441. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  442. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  443. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  444. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  445. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  446. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  447. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  448. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  449. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  450. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  451. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  452. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  453. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  454. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  455. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  456. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  457. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  458. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  459. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  460. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  461. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  462. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  463. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  464. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  465. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  466. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  467. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  468. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  469. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  470. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  471. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  472. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  473. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  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 -88
  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/base/ComponentServiceBase.sol +0 -42
  505. package/contracts/instance/base/IInstanceBase.sol +0 -14
  506. package/contracts/instance/base/IService.sol +0 -15
  507. package/contracts/instance/base/InstanceBase.sol +0 -80
  508. package/contracts/instance/base/ModuleBase.sol +0 -52
  509. package/contracts/instance/base/ServiceBase.sol +0 -37
  510. package/contracts/instance/module/access/Access.sol +0 -149
  511. package/contracts/instance/module/access/IAccess.sol +0 -53
  512. package/contracts/instance/module/bundle/BundleModule.sol +0 -136
  513. package/contracts/instance/module/bundle/IBundle.sol +0 -58
  514. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  515. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  516. package/contracts/instance/module/component/ComponentModule.sol +0 -104
  517. package/contracts/instance/module/component/IComponent.sol +0 -63
  518. package/contracts/instance/module/policy/IPolicy.sol +0 -61
  519. package/contracts/instance/module/policy/PolicyModule.sol +0 -77
  520. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  521. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  522. package/contracts/instance/module/risk/IRisk.sol +0 -10
  523. package/contracts/instance/module/risk/RiskModule.sol +0 -8
  524. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  525. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  526. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  527. package/contracts/instance/service/ComponentOwnerService.sol +0 -176
  528. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  529. package/contracts/instance/service/IPoolService.sol +0 -30
  530. package/contracts/instance/service/IProductService.sol +0 -58
  531. package/contracts/instance/service/PoolService.sol +0 -123
  532. package/contracts/instance/service/ProductService.sol +0 -354
  533. package/contracts/registry/IChainNft.sol +0 -21
  534. package/contracts/registry/IRegistryLinked.sol +0 -8
  535. package/contracts/shared/IOwnable.sol +0 -6
  536. package/contracts/test/TestFee.sol +0 -25
  537. package/contracts/test/TestPool.sol +0 -22
  538. package/contracts/test/TestProduct.sol +0 -44
  539. package/contracts/test/TestRegisterable.sol +0 -19
  540. package/contracts/test/TestRoleId.sol +0 -14
  541. package/contracts/test/TestService.sol +0 -32
  542. package/contracts/test/TestToken.sol +0 -26
  543. package/contracts/test/TestVersion.sol +0 -44
  544. package/contracts/test/TestVersionable.sol +0 -17
  545. package/contracts/test/Usdc.sol +0 -26
  546. package/contracts/types/ChainId.sol +0 -38
  547. package/contracts/types/Fee.sol +0 -51
  548. package/contracts/types/NftIdSet.sol +0 -60
  549. package/contracts/types/RoleId.sol +0 -38
  550. /package/contracts/{types → type}/AddressSet.sol +0 -0
@@ -4,267 +4,209 @@
4
4
  "sourceName": "contracts/instance/IInstance.sol",
5
5
  "abi": [
6
6
  {
7
- "anonymous": false,
8
7
  "inputs": [
9
8
  {
10
- "indexed": false,
11
- "internalType": "RoleId",
12
- "name": "role",
13
- "type": "bytes8"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "string",
18
- "name": "roleName",
19
- "type": "string"
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
20
12
  }
21
13
  ],
22
- "name": "LogAccessRoleCreated",
23
- "type": "event"
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
24
16
  },
25
17
  {
26
- "anonymous": false,
27
18
  "inputs": [
28
19
  {
29
- "indexed": false,
30
- "internalType": "RoleId",
31
- "name": "role",
32
- "type": "bytes8"
33
- },
34
- {
35
- "indexed": false,
36
20
  "internalType": "address",
37
- "name": "member",
21
+ "name": "caller",
38
22
  "type": "address"
39
23
  },
40
24
  {
41
- "indexed": false,
42
- "internalType": "bool",
43
- "name": "isMember",
44
- "type": "bool"
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
45
28
  }
46
29
  ],
47
- "name": "LogAccessRoleGranted",
48
- "type": "event"
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
49
32
  },
50
33
  {
51
- "anonymous": false,
52
34
  "inputs": [
53
35
  {
54
- "indexed": false,
55
- "internalType": "RoleId",
56
- "name": "role",
57
- "type": "bytes8"
58
- },
59
- {
60
- "indexed": false,
61
- "internalType": "bool",
62
- "name": "active",
63
- "type": "bool"
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
64
39
  }
65
40
  ],
66
- "name": "LogAccessRoleStateSet",
67
- "type": "event"
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
68
43
  },
69
44
  {
70
- "anonymous": false,
71
45
  "inputs": [
72
46
  {
73
- "indexed": false,
74
- "internalType": "Version",
75
- "name": "version",
76
- "type": "uint24"
77
- },
78
- {
79
- "indexed": false,
80
47
  "internalType": "address",
81
- "name": "implementation",
48
+ "name": "instanceBundleManager",
82
49
  "type": "address"
83
- },
50
+ }
51
+ ],
52
+ "name": "ErrorInstanceBundleManagerAlreadySet",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
84
57
  {
85
- "indexed": false,
86
58
  "internalType": "address",
87
- "name": "activatedBy",
59
+ "name": "instanceAuthority",
88
60
  "type": "address"
89
61
  }
90
62
  ],
91
- "name": "LogVersionableActivated",
92
- "type": "event"
63
+ "name": "ErrorInstanceBundleManagerAuthorityMismatch",
64
+ "type": "error"
93
65
  },
94
66
  {
95
67
  "inputs": [
96
68
  {
97
69
  "internalType": "address",
98
- "name": "implementation",
70
+ "name": "instance",
99
71
  "type": "address"
100
- },
72
+ }
73
+ ],
74
+ "name": "ErrorInstanceBundleManagerInstanceMismatch",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [
101
79
  {
102
80
  "internalType": "address",
103
- "name": "activatedBy",
81
+ "name": "instanceAccessManager",
104
82
  "type": "address"
105
83
  }
106
84
  ],
107
- "name": "activate",
108
- "outputs": [],
109
- "stateMutability": "nonpayable",
110
- "type": "function"
85
+ "name": "ErrorInstanceInstanceAccessManagerAlreadySet",
86
+ "type": "error"
111
87
  },
112
88
  {
113
89
  "inputs": [
114
90
  {
115
- "internalType": "NftId",
116
- "name": "bundleNftId",
117
- "type": "uint96"
118
- },
119
- {
120
- "internalType": "NftId",
121
- "name": "poolNftId",
122
- "type": "uint96"
123
- },
124
- {
125
- "internalType": "uint256",
126
- "name": "amount",
127
- "type": "uint256"
91
+ "internalType": "address",
92
+ "name": "instanceAuthority",
93
+ "type": "address"
128
94
  }
129
95
  ],
130
- "name": "addBundleToPool",
131
- "outputs": [],
132
- "stateMutability": "nonpayable",
133
- "type": "function"
96
+ "name": "ErrorInstanceInstanceAccessManagerAuthorityMismatch",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "ErrorInstanceInstanceAccessManagerZero",
102
+ "type": "error"
134
103
  },
135
104
  {
136
105
  "inputs": [
137
106
  {
138
- "internalType": "uint256",
139
- "name": "amount",
140
- "type": "uint256"
141
- },
142
- {
143
- "components": [
144
- {
145
- "internalType": "UFixed",
146
- "name": "fractionalFee",
147
- "type": "uint256"
148
- },
149
- {
150
- "internalType": "uint256",
151
- "name": "fixedFee",
152
- "type": "uint256"
153
- }
154
- ],
155
- "internalType": "struct Fee",
156
- "name": "fee",
157
- "type": "tuple"
107
+ "internalType": "address",
108
+ "name": "instanceAuthority",
109
+ "type": "address"
158
110
  }
159
111
  ],
160
- "name": "calculateFeeAmount",
161
- "outputs": [
162
- {
163
- "internalType": "uint256",
164
- "name": "feeAmount",
165
- "type": "uint256"
166
- },
112
+ "name": "ErrorInstanceInstanceReaderInstanceMismatch",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [
167
117
  {
168
- "internalType": "uint256",
169
- "name": "netAmount",
170
- "type": "uint256"
118
+ "internalType": "address",
119
+ "name": "instanceStore",
120
+ "type": "address"
171
121
  }
172
122
  ],
173
- "stateMutability": "pure",
174
- "type": "function"
123
+ "name": "ErrorInstanceInstanceStoreAlreadySet",
124
+ "type": "error"
175
125
  },
176
126
  {
177
127
  "inputs": [
178
128
  {
179
- "internalType": "NftId",
180
- "name": "bundleNftId",
181
- "type": "uint96"
182
- },
183
- {
184
- "internalType": "NftId",
185
- "name": "policyNftId",
186
- "type": "uint96"
187
- },
188
- {
189
- "internalType": "uint256",
190
- "name": "amount",
191
- "type": "uint256"
129
+ "internalType": "address",
130
+ "name": "instanceAuthority",
131
+ "type": "address"
192
132
  }
193
133
  ],
194
- "name": "collateralizePolicy",
195
- "outputs": [],
196
- "stateMutability": "nonpayable",
197
- "type": "function"
134
+ "name": "ErrorInstanceInstanceStoreAuthorityMismatch",
135
+ "type": "error"
198
136
  },
199
137
  {
200
138
  "inputs": [
201
139
  {
202
140
  "internalType": "NftId",
203
- "name": "productNftId",
204
- "type": "uint96"
205
- },
206
- {
207
- "internalType": "NftId",
208
- "name": "policyNftId",
209
- "type": "uint96"
210
- },
211
- {
212
- "internalType": "uint256",
213
- "name": "sumInsuredAmount",
214
- "type": "uint256"
215
- },
216
- {
217
- "internalType": "uint256",
218
- "name": "premiumAmount",
219
- "type": "uint256"
220
- },
221
- {
222
- "internalType": "uint256",
223
- "name": "lifetime",
224
- "type": "uint256"
225
- },
226
- {
227
- "internalType": "NftId",
228
- "name": "bundleNftId",
141
+ "name": "nftId",
229
142
  "type": "uint96"
230
143
  }
231
144
  ],
232
- "name": "createApplication",
233
- "outputs": [],
234
- "stateMutability": "nonpayable",
235
- "type": "function"
145
+ "name": "ErrorNftOwnableAlreadyLinked",
146
+ "type": "error"
236
147
  },
237
148
  {
238
149
  "inputs": [
239
150
  {
240
- "internalType": "NftId",
241
- "name": "bundleNftId",
242
- "type": "uint96"
243
- },
151
+ "internalType": "address",
152
+ "name": "contractAddress",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "ErrorNftOwnableContractNotRegistered",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "ErrorNftOwnableInitialOwnerZero",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [
244
166
  {
245
- "internalType": "NftId",
246
- "name": "poolNftId",
247
- "type": "uint96"
248
- },
167
+ "internalType": "address",
168
+ "name": "account",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "ErrorNftOwnableNotOwner",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [
249
177
  {
250
- "internalType": "uint256",
251
- "name": "amount",
252
- "type": "uint256"
253
- },
178
+ "internalType": "address",
179
+ "name": "registryAddress",
180
+ "type": "address"
181
+ }
182
+ ],
183
+ "name": "ErrorNotRegistry",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "anonymous": false,
188
+ "inputs": [
254
189
  {
255
- "internalType": "uint256",
256
- "name": "lifetime",
257
- "type": "uint256"
258
- },
190
+ "indexed": false,
191
+ "internalType": "address",
192
+ "name": "authority",
193
+ "type": "address"
194
+ }
195
+ ],
196
+ "name": "AuthorityUpdated",
197
+ "type": "event"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "authority",
202
+ "outputs": [
259
203
  {
260
- "internalType": "bytes",
261
- "name": "filter",
262
- "type": "bytes"
204
+ "internalType": "address",
205
+ "name": "",
206
+ "type": "address"
263
207
  }
264
208
  ],
265
- "name": "createBundleInfo",
266
- "outputs": [],
267
- "stateMutability": "nonpayable",
209
+ "stateMutability": "view",
268
210
  "type": "function"
269
211
  },
270
212
  {
@@ -273,14 +215,24 @@
273
215
  "internalType": "string",
274
216
  "name": "roleName",
275
217
  "type": "string"
218
+ },
219
+ {
220
+ "internalType": "string",
221
+ "name": "adminName",
222
+ "type": "string"
276
223
  }
277
224
  ],
278
225
  "name": "createRole",
279
226
  "outputs": [
280
227
  {
281
228
  "internalType": "RoleId",
282
- "name": "role",
283
- "type": "bytes8"
229
+ "name": "roleId",
230
+ "type": "uint64"
231
+ },
232
+ {
233
+ "internalType": "RoleId",
234
+ "name": "admin",
235
+ "type": "uint64"
284
236
  }
285
237
  ],
286
238
  "stateMutability": "nonpayable",
@@ -289,31 +241,63 @@
289
241
  {
290
242
  "inputs": [
291
243
  {
292
- "internalType": "NftId",
293
- "name": "poolNftId",
294
- "type": "uint96"
244
+ "internalType": "address",
245
+ "name": "target",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "string",
250
+ "name": "name",
251
+ "type": "string"
295
252
  }
296
253
  ],
297
- "name": "getBundleCount",
254
+ "name": "createTarget",
255
+ "outputs": [],
256
+ "stateMutability": "nonpayable",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [],
261
+ "name": "getBundleManager",
298
262
  "outputs": [
299
263
  {
300
- "internalType": "uint256",
301
- "name": "bundleCount",
302
- "type": "uint256"
264
+ "internalType": "contract BundleManager",
265
+ "name": "",
266
+ "type": "address"
303
267
  }
304
268
  ],
305
269
  "stateMutability": "view",
306
270
  "type": "function"
307
271
  },
308
272
  {
309
- "inputs": [
273
+ "inputs": [],
274
+ "name": "getBundleService",
275
+ "outputs": [
310
276
  {
311
- "internalType": "NftId",
312
- "name": "bundleNftId",
313
- "type": "uint96"
277
+ "internalType": "contract IBundleService",
278
+ "name": "",
279
+ "type": "address"
314
280
  }
315
281
  ],
316
- "name": "getBundleInfo",
282
+ "stateMutability": "view",
283
+ "type": "function"
284
+ },
285
+ {
286
+ "inputs": [],
287
+ "name": "getDistributionService",
288
+ "outputs": [
289
+ {
290
+ "internalType": "contract IDistributionService",
291
+ "name": "",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "stateMutability": "view",
296
+ "type": "function"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "getInitialInfo",
317
301
  "outputs": [
318
302
  {
319
303
  "components": [
@@ -324,42 +308,37 @@
324
308
  },
325
309
  {
326
310
  "internalType": "NftId",
327
- "name": "poolNftId",
311
+ "name": "parentNftId",
328
312
  "type": "uint96"
329
313
  },
330
314
  {
331
- "internalType": "bytes",
332
- "name": "filter",
333
- "type": "bytes"
334
- },
335
- {
336
- "internalType": "uint256",
337
- "name": "capitalAmount",
338
- "type": "uint256"
315
+ "internalType": "ObjectType",
316
+ "name": "objectType",
317
+ "type": "uint8"
339
318
  },
340
319
  {
341
- "internalType": "uint256",
342
- "name": "lockedAmount",
343
- "type": "uint256"
320
+ "internalType": "bool",
321
+ "name": "isInterceptor",
322
+ "type": "bool"
344
323
  },
345
324
  {
346
- "internalType": "uint256",
347
- "name": "balanceAmount",
348
- "type": "uint256"
325
+ "internalType": "address",
326
+ "name": "objectAddress",
327
+ "type": "address"
349
328
  },
350
329
  {
351
- "internalType": "Timestamp",
352
- "name": "expiredAt",
353
- "type": "uint40"
330
+ "internalType": "address",
331
+ "name": "initialOwner",
332
+ "type": "address"
354
333
  },
355
334
  {
356
- "internalType": "Timestamp",
357
- "name": "closedAt",
358
- "type": "uint40"
335
+ "internalType": "bytes",
336
+ "name": "data",
337
+ "type": "bytes"
359
338
  }
360
339
  ],
361
- "internalType": "struct IBundle.BundleInfo",
362
- "name": "bundleInfo",
340
+ "internalType": "struct IRegistry.ObjectInfo",
341
+ "name": "",
363
342
  "type": "tuple"
364
343
  }
365
344
  ],
@@ -367,24 +346,13 @@
367
346
  "type": "function"
368
347
  },
369
348
  {
370
- "inputs": [
371
- {
372
- "internalType": "NftId",
373
- "name": "poolNftId",
374
- "type": "uint96"
375
- },
376
- {
377
- "internalType": "uint256",
378
- "name": "index",
379
- "type": "uint256"
380
- }
381
- ],
382
- "name": "getBundleNftId",
349
+ "inputs": [],
350
+ "name": "getInstanceAccessManager",
383
351
  "outputs": [
384
352
  {
385
- "internalType": "NftId",
386
- "name": "bundleNftId",
387
- "type": "uint96"
353
+ "internalType": "contract InstanceAccessManager",
354
+ "name": "",
355
+ "type": "address"
388
356
  }
389
357
  ],
390
358
  "stateMutability": "view",
@@ -392,94 +360,64 @@
392
360
  },
393
361
  {
394
362
  "inputs": [],
395
- "name": "getComponentCount",
363
+ "name": "getInstanceReader",
396
364
  "outputs": [
397
365
  {
398
- "internalType": "uint256",
399
- "name": "numberOfCompnents",
400
- "type": "uint256"
366
+ "internalType": "contract InstanceReader",
367
+ "name": "",
368
+ "type": "address"
401
369
  }
402
370
  ],
403
371
  "stateMutability": "view",
404
372
  "type": "function"
405
373
  },
406
374
  {
407
- "inputs": [
408
- {
409
- "internalType": "uint256",
410
- "name": "idx",
411
- "type": "uint256"
412
- }
413
- ],
414
- "name": "getComponentId",
375
+ "inputs": [],
376
+ "name": "getInstanceStore",
415
377
  "outputs": [
416
378
  {
417
- "internalType": "NftId",
418
- "name": "nftId",
419
- "type": "uint96"
379
+ "internalType": "contract InstanceStore",
380
+ "name": "",
381
+ "type": "address"
420
382
  }
421
383
  ],
422
384
  "stateMutability": "view",
423
385
  "type": "function"
424
386
  },
425
387
  {
426
- "inputs": [
427
- {
428
- "internalType": "NftId",
429
- "name": "nftId",
430
- "type": "uint96"
431
- }
432
- ],
433
- "name": "getComponentInfo",
388
+ "inputs": [],
389
+ "name": "getMajorVersion",
434
390
  "outputs": [
435
391
  {
436
- "components": [
437
- {
438
- "internalType": "NftId",
439
- "name": "nftId",
440
- "type": "uint96"
441
- },
442
- {
443
- "internalType": "contract IERC20Metadata",
444
- "name": "token",
445
- "type": "address"
446
- }
447
- ],
448
- "internalType": "struct IComponent.ComponentInfo",
449
- "name": "info",
450
- "type": "tuple"
392
+ "internalType": "VersionPart",
393
+ "name": "majorVersion",
394
+ "type": "uint8"
451
395
  }
452
396
  ],
453
- "stateMutability": "view",
397
+ "stateMutability": "pure",
454
398
  "type": "function"
455
399
  },
456
400
  {
457
401
  "inputs": [],
458
- "name": "getComponentOwnerService",
402
+ "name": "getNftId",
459
403
  "outputs": [
460
404
  {
461
- "internalType": "contract IComponentOwnerService",
405
+ "internalType": "NftId",
462
406
  "name": "",
463
- "type": "address"
407
+ "type": "uint96"
464
408
  }
465
409
  ],
466
410
  "stateMutability": "view",
467
411
  "type": "function"
468
412
  },
469
413
  {
470
- "inputs": [
471
- {
472
- "internalType": "NftId",
473
- "name": "nftId",
474
- "type": "uint96"
475
- }
476
- ],
477
- "name": "getComponentState",
414
+ "inputs": [],
415
+ "name": "getOwner",
478
416
  "outputs": [
479
417
  {
480
- "internalType": "StateId",
481
- "name": "state",
482
- "type": "uint8"
418
+ "internalType": "address",
419
+ "name": "",
420
+ "type": "address"
483
421
  }
484
422
  ],
485
423
  "stateMutability": "view",
@@ -487,60 +425,37 @@
487
425
  },
488
426
  {
489
427
  "inputs": [],
490
- "name": "getData",
428
+ "name": "getPolicyService",
491
429
  "outputs": [
492
430
  {
493
- "internalType": "bytes",
494
- "name": "data",
495
- "type": "bytes"
431
+ "internalType": "contract IPolicyService",
432
+ "name": "",
433
+ "type": "address"
496
434
  }
497
435
  ],
498
436
  "stateMutability": "view",
499
437
  "type": "function"
500
438
  },
501
439
  {
502
- "inputs": [
503
- {
504
- "internalType": "UFixed",
505
- "name": "fractionalFee",
506
- "type": "uint256"
507
- },
508
- {
509
- "internalType": "uint256",
510
- "name": "fixedFee",
511
- "type": "uint256"
512
- }
513
- ],
514
- "name": "getFee",
440
+ "inputs": [],
441
+ "name": "getPoolService",
515
442
  "outputs": [
516
443
  {
517
- "components": [
518
- {
519
- "internalType": "UFixed",
520
- "name": "fractionalFee",
521
- "type": "uint256"
522
- },
523
- {
524
- "internalType": "uint256",
525
- "name": "fixedFee",
526
- "type": "uint256"
527
- }
528
- ],
529
- "internalType": "struct Fee",
530
- "name": "fee",
531
- "type": "tuple"
444
+ "internalType": "contract IPoolService",
445
+ "name": "",
446
+ "type": "address"
532
447
  }
533
448
  ],
534
- "stateMutability": "pure",
449
+ "stateMutability": "view",
535
450
  "type": "function"
536
451
  },
537
452
  {
538
453
  "inputs": [],
539
- "name": "getKeyValueStore",
454
+ "name": "getProductService",
540
455
  "outputs": [
541
456
  {
542
- "internalType": "contract IKeyValueStore",
543
- "name": "keyValueStore",
457
+ "internalType": "contract IProductService",
458
+ "name": "",
544
459
  "type": "address"
545
460
  }
546
461
  ],
@@ -549,1250 +464,146 @@
549
464
  },
550
465
  {
551
466
  "inputs": [],
552
- "name": "getNftId",
467
+ "name": "getRegistry",
553
468
  "outputs": [
554
469
  {
555
- "internalType": "NftId",
556
- "name": "nftId",
557
- "type": "uint96"
470
+ "internalType": "contract IRegistry",
471
+ "name": "",
472
+ "type": "address"
558
473
  }
559
474
  ],
560
475
  "stateMutability": "view",
561
476
  "type": "function"
562
477
  },
563
478
  {
564
- "inputs": [],
565
- "name": "getOwner",
566
- "outputs": [
479
+ "inputs": [
480
+ {
481
+ "internalType": "RoleId",
482
+ "name": "roleId",
483
+ "type": "uint64"
484
+ },
567
485
  {
568
486
  "internalType": "address",
569
- "name": "owner",
487
+ "name": "account",
570
488
  "type": "address"
571
489
  }
572
490
  ],
573
- "stateMutability": "view",
491
+ "name": "grantRole",
492
+ "outputs": [],
493
+ "stateMutability": "nonpayable",
574
494
  "type": "function"
575
495
  },
576
496
  {
577
497
  "inputs": [],
578
- "name": "getParentNftId",
498
+ "name": "isConsumingScheduledOp",
579
499
  "outputs": [
580
500
  {
581
- "internalType": "NftId",
582
- "name": "nftId",
583
- "type": "uint96"
501
+ "internalType": "bytes4",
502
+ "name": "",
503
+ "type": "bytes4"
584
504
  }
585
505
  ],
586
506
  "stateMutability": "view",
587
507
  "type": "function"
588
508
  },
509
+ {
510
+ "inputs": [],
511
+ "name": "linkToRegisteredNftId",
512
+ "outputs": [],
513
+ "stateMutability": "nonpayable",
514
+ "type": "function"
515
+ },
589
516
  {
590
517
  "inputs": [
591
518
  {
592
- "internalType": "NftId",
593
- "name": "nftId",
594
- "type": "uint96"
595
- }
596
- ],
597
- "name": "getPolicyInfo",
598
- "outputs": [
519
+ "internalType": "address",
520
+ "name": "to",
521
+ "type": "address"
522
+ },
599
523
  {
600
- "components": [
601
- {
602
- "internalType": "NftId",
603
- "name": "nftId",
604
- "type": "uint96"
605
- },
606
- {
607
- "internalType": "NftId",
608
- "name": "productNftId",
609
- "type": "uint96"
610
- },
611
- {
612
- "internalType": "NftId",
613
- "name": "bundleNftId",
614
- "type": "uint96"
615
- },
616
- {
617
- "internalType": "address",
618
- "name": "beneficiary",
619
- "type": "address"
620
- },
621
- {
622
- "internalType": "StateId",
623
- "name": "state",
624
- "type": "uint8"
625
- },
626
- {
627
- "internalType": "uint256",
628
- "name": "sumInsuredAmount",
629
- "type": "uint256"
630
- },
631
- {
632
- "internalType": "uint256",
633
- "name": "premiumAmount",
634
- "type": "uint256"
635
- },
636
- {
637
- "internalType": "uint256",
638
- "name": "premiumPaidAmount",
639
- "type": "uint256"
640
- },
641
- {
642
- "internalType": "uint256",
643
- "name": "lifetime",
644
- "type": "uint256"
645
- },
646
- {
647
- "internalType": "bytes",
648
- "name": "applicationData",
649
- "type": "bytes"
650
- },
651
- {
652
- "internalType": "bytes",
653
- "name": "policyData",
654
- "type": "bytes"
655
- },
656
- {
657
- "internalType": "Timestamp",
658
- "name": "createdAt",
659
- "type": "uint40"
660
- },
661
- {
662
- "internalType": "Timestamp",
663
- "name": "activatedAt",
664
- "type": "uint40"
665
- },
666
- {
667
- "internalType": "Timestamp",
668
- "name": "expiredAt",
669
- "type": "uint40"
670
- },
671
- {
672
- "internalType": "Timestamp",
673
- "name": "closedAt",
674
- "type": "uint40"
675
- },
676
- {
677
- "internalType": "Blocknumber",
678
- "name": "updatedIn",
679
- "type": "uint32"
680
- }
681
- ],
682
- "internalType": "struct IPolicy.PolicyInfo",
683
- "name": "info",
684
- "type": "tuple"
524
+ "internalType": "uint256",
525
+ "name": "tokenId",
526
+ "type": "uint256"
685
527
  }
686
528
  ],
687
- "stateMutability": "view",
529
+ "name": "nftMint",
530
+ "outputs": [],
531
+ "stateMutability": "nonpayable",
688
532
  "type": "function"
689
533
  },
690
534
  {
691
535
  "inputs": [
692
536
  {
693
- "internalType": "NftId",
694
- "name": "nftId",
695
- "type": "uint96"
537
+ "internalType": "address",
538
+ "name": "from",
539
+ "type": "address"
540
+ },
541
+ {
542
+ "internalType": "address",
543
+ "name": "to",
544
+ "type": "address"
545
+ },
546
+ {
547
+ "internalType": "uint256",
548
+ "name": "tokenId",
549
+ "type": "uint256"
696
550
  }
697
551
  ],
698
- "name": "getPoolInfo",
699
- "outputs": [
552
+ "name": "nftTransferFrom",
553
+ "outputs": [],
554
+ "stateMutability": "nonpayable",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [
700
559
  {
701
- "components": [
702
- {
703
- "internalType": "NftId",
704
- "name": "nftId",
705
- "type": "uint96"
706
- },
707
- {
708
- "internalType": "bool",
709
- "name": "isVerifying",
710
- "type": "bool"
711
- },
712
- {
713
- "internalType": "UFixed",
714
- "name": "collateralizationLevel",
715
- "type": "uint256"
716
- }
717
- ],
718
- "internalType": "struct IPool.PoolInfo",
719
- "name": "info",
720
- "type": "tuple"
560
+ "internalType": "RoleId",
561
+ "name": "roleId",
562
+ "type": "uint64"
563
+ },
564
+ {
565
+ "internalType": "address",
566
+ "name": "account",
567
+ "type": "address"
721
568
  }
722
569
  ],
723
- "stateMutability": "view",
570
+ "name": "revokeRole",
571
+ "outputs": [],
572
+ "stateMutability": "nonpayable",
724
573
  "type": "function"
725
574
  },
726
575
  {
727
- "inputs": [],
728
- "name": "getPoolService",
729
- "outputs": [
576
+ "inputs": [
730
577
  {
731
- "internalType": "contract IPoolService",
578
+ "internalType": "address",
732
579
  "name": "",
733
580
  "type": "address"
734
581
  }
735
582
  ],
736
- "stateMutability": "view",
583
+ "name": "setAuthority",
584
+ "outputs": [],
585
+ "stateMutability": "nonpayable",
737
586
  "type": "function"
738
587
  },
739
588
  {
740
589
  "inputs": [
741
590
  {
742
- "internalType": "NftId",
743
- "name": "poolNftId",
744
- "type": "uint96"
591
+ "internalType": "string",
592
+ "name": "targetName",
593
+ "type": "string"
594
+ },
595
+ {
596
+ "internalType": "bytes4[]",
597
+ "name": "selectors",
598
+ "type": "bytes4[]"
599
+ },
600
+ {
601
+ "internalType": "RoleId",
602
+ "name": "roleId",
603
+ "type": "uint64"
745
604
  }
746
605
  ],
747
- "name": "getPoolSetup",
748
- "outputs": [
749
- {
750
- "components": [
751
- {
752
- "internalType": "NftId",
753
- "name": "poolNftId",
754
- "type": "uint96"
755
- },
756
- {
757
- "internalType": "address",
758
- "name": "wallet",
759
- "type": "address"
760
- },
761
- {
762
- "components": [
763
- {
764
- "internalType": "UFixed",
765
- "name": "fractionalFee",
766
- "type": "uint256"
767
- },
768
- {
769
- "internalType": "uint256",
770
- "name": "fixedFee",
771
- "type": "uint256"
772
- }
773
- ],
774
- "internalType": "struct Fee",
775
- "name": "stakingFee",
776
- "type": "tuple"
777
- },
778
- {
779
- "components": [
780
- {
781
- "internalType": "UFixed",
782
- "name": "fractionalFee",
783
- "type": "uint256"
784
- },
785
- {
786
- "internalType": "uint256",
787
- "name": "fixedFee",
788
- "type": "uint256"
789
- }
790
- ],
791
- "internalType": "struct Fee",
792
- "name": "performanceFee",
793
- "type": "tuple"
794
- }
795
- ],
796
- "internalType": "struct ITreasury.PoolSetup",
797
- "name": "setup",
798
- "type": "tuple"
799
- }
800
- ],
801
- "stateMutability": "view",
802
- "type": "function"
803
- },
804
- {
805
- "inputs": [],
806
- "name": "getProductService",
807
- "outputs": [
808
- {
809
- "internalType": "contract IProductService",
810
- "name": "",
811
- "type": "address"
812
- }
813
- ],
814
- "stateMutability": "view",
815
- "type": "function"
816
- },
817
- {
818
- "inputs": [
819
- {
820
- "internalType": "NftId",
821
- "name": "productNftId",
822
- "type": "uint96"
823
- }
824
- ],
825
- "name": "getProductSetup",
826
- "outputs": [
827
- {
828
- "components": [
829
- {
830
- "internalType": "NftId",
831
- "name": "productNftId",
832
- "type": "uint96"
833
- },
834
- {
835
- "internalType": "NftId",
836
- "name": "distributorNftId",
837
- "type": "uint96"
838
- },
839
- {
840
- "internalType": "NftId",
841
- "name": "poolNftId",
842
- "type": "uint96"
843
- },
844
- {
845
- "internalType": "contract IERC20Metadata",
846
- "name": "token",
847
- "type": "address"
848
- },
849
- {
850
- "internalType": "address",
851
- "name": "wallet",
852
- "type": "address"
853
- },
854
- {
855
- "components": [
856
- {
857
- "internalType": "UFixed",
858
- "name": "fractionalFee",
859
- "type": "uint256"
860
- },
861
- {
862
- "internalType": "uint256",
863
- "name": "fixedFee",
864
- "type": "uint256"
865
- }
866
- ],
867
- "internalType": "struct Fee",
868
- "name": "policyFee",
869
- "type": "tuple"
870
- },
871
- {
872
- "components": [
873
- {
874
- "internalType": "UFixed",
875
- "name": "fractionalFee",
876
- "type": "uint256"
877
- },
878
- {
879
- "internalType": "uint256",
880
- "name": "fixedFee",
881
- "type": "uint256"
882
- }
883
- ],
884
- "internalType": "struct Fee",
885
- "name": "processingFee",
886
- "type": "tuple"
887
- }
888
- ],
889
- "internalType": "struct ITreasury.ProductSetup",
890
- "name": "setup",
891
- "type": "tuple"
892
- }
893
- ],
894
- "stateMutability": "view",
895
- "type": "function"
896
- },
897
- {
898
- "inputs": [],
899
- "name": "getRegistry",
900
- "outputs": [
901
- {
902
- "internalType": "contract IRegistry",
903
- "name": "registry",
904
- "type": "address"
905
- }
906
- ],
907
- "stateMutability": "view",
908
- "type": "function"
909
- },
910
- {
911
- "inputs": [
912
- {
913
- "internalType": "uint256",
914
- "name": "idx",
915
- "type": "uint256"
916
- }
917
- ],
918
- "name": "getRole",
919
- "outputs": [
920
- {
921
- "internalType": "RoleId",
922
- "name": "role",
923
- "type": "bytes8"
924
- }
925
- ],
926
- "stateMutability": "view",
927
- "type": "function"
928
- },
929
- {
930
- "inputs": [],
931
- "name": "getRoleCount",
932
- "outputs": [
933
- {
934
- "internalType": "uint256",
935
- "name": "roles",
936
- "type": "uint256"
937
- }
938
- ],
939
- "stateMutability": "view",
940
- "type": "function"
941
- },
942
- {
943
- "inputs": [
944
- {
945
- "internalType": "string",
946
- "name": "roleName",
947
- "type": "string"
948
- }
949
- ],
950
- "name": "getRoleId",
951
- "outputs": [
952
- {
953
- "internalType": "RoleId",
954
- "name": "role",
955
- "type": "bytes8"
956
- }
957
- ],
958
- "stateMutability": "pure",
959
- "type": "function"
960
- },
961
- {
962
- "inputs": [
963
- {
964
- "internalType": "RoleId",
965
- "name": "role",
966
- "type": "bytes8"
967
- }
968
- ],
969
- "name": "getRoleInfo",
970
- "outputs": [
971
- {
972
- "components": [
973
- {
974
- "internalType": "RoleId",
975
- "name": "id",
976
- "type": "bytes8"
977
- },
978
- {
979
- "internalType": "string",
980
- "name": "name",
981
- "type": "string"
982
- },
983
- {
984
- "internalType": "bool",
985
- "name": "isActive",
986
- "type": "bool"
987
- }
988
- ],
989
- "internalType": "struct IAccess.RoleInfo",
990
- "name": "info",
991
- "type": "tuple"
992
- }
993
- ],
994
- "stateMutability": "view",
995
- "type": "function"
996
- },
997
- {
998
- "inputs": [
999
- {
1000
- "internalType": "RoleId",
1001
- "name": "role",
1002
- "type": "bytes8"
1003
- },
1004
- {
1005
- "internalType": "uint256",
1006
- "name": "idx",
1007
- "type": "uint256"
1008
- }
1009
- ],
1010
- "name": "getRoleMember",
1011
- "outputs": [
1012
- {
1013
- "internalType": "address",
1014
- "name": "roleMember",
1015
- "type": "address"
1016
- }
1017
- ],
1018
- "stateMutability": "view",
1019
- "type": "function"
1020
- },
1021
- {
1022
- "inputs": [
1023
- {
1024
- "internalType": "RoleId",
1025
- "name": "role",
1026
- "type": "bytes8"
1027
- }
1028
- ],
1029
- "name": "getRoleMemberCount",
1030
- "outputs": [
1031
- {
1032
- "internalType": "uint256",
1033
- "name": "roleMembers",
1034
- "type": "uint256"
1035
- }
1036
- ],
1037
- "stateMutability": "view",
1038
- "type": "function"
1039
- },
1040
- {
1041
- "inputs": [
1042
- {
1043
- "internalType": "NftId",
1044
- "name": "componentNftId",
1045
- "type": "uint96"
1046
- }
1047
- ],
1048
- "name": "getTokenHandler",
1049
- "outputs": [
1050
- {
1051
- "internalType": "contract TokenHandler",
1052
- "name": "tokenHandler",
1053
- "type": "address"
1054
- }
1055
- ],
1056
- "stateMutability": "view",
1057
- "type": "function"
1058
- },
1059
- {
1060
- "inputs": [],
1061
- "name": "getType",
1062
- "outputs": [
1063
- {
1064
- "internalType": "ObjectType",
1065
- "name": "objectType",
1066
- "type": "uint8"
1067
- }
1068
- ],
1069
- "stateMutability": "pure",
1070
- "type": "function"
1071
- },
1072
- {
1073
- "inputs": [
1074
- {
1075
- "internalType": "uint256",
1076
- "name": "a",
1077
- "type": "uint256"
1078
- },
1079
- {
1080
- "internalType": "int8",
1081
- "name": "exp",
1082
- "type": "int8"
1083
- }
1084
- ],
1085
- "name": "getUFixed",
1086
- "outputs": [
1087
- {
1088
- "internalType": "UFixed",
1089
- "name": "",
1090
- "type": "uint256"
1091
- }
1092
- ],
1093
- "stateMutability": "pure",
1094
- "type": "function"
1095
- },
1096
- {
1097
- "inputs": [
1098
- {
1099
- "internalType": "uint256",
1100
- "name": "a",
1101
- "type": "uint256"
1102
- }
1103
- ],
1104
- "name": "getUFixed",
1105
- "outputs": [
1106
- {
1107
- "internalType": "UFixed",
1108
- "name": "",
1109
- "type": "uint256"
1110
- }
1111
- ],
1112
- "stateMutability": "pure",
1113
- "type": "function"
1114
- },
1115
- {
1116
- "inputs": [],
1117
- "name": "getVersion",
1118
- "outputs": [
1119
- {
1120
- "internalType": "Version",
1121
- "name": "",
1122
- "type": "uint24"
1123
- }
1124
- ],
1125
- "stateMutability": "pure",
1126
- "type": "function"
1127
- },
1128
- {
1129
- "inputs": [
1130
- {
1131
- "internalType": "uint256",
1132
- "name": "index",
1133
- "type": "uint256"
1134
- }
1135
- ],
1136
- "name": "getVersion",
1137
- "outputs": [
1138
- {
1139
- "internalType": "Version",
1140
- "name": "version",
1141
- "type": "uint24"
1142
- }
1143
- ],
1144
- "stateMutability": "view",
1145
- "type": "function"
1146
- },
1147
- {
1148
- "inputs": [],
1149
- "name": "getVersionCount",
1150
- "outputs": [
1151
- {
1152
- "internalType": "uint256",
1153
- "name": "numberOfVersions",
1154
- "type": "uint256"
1155
- }
1156
- ],
1157
- "stateMutability": "view",
1158
- "type": "function"
1159
- },
1160
- {
1161
- "inputs": [
1162
- {
1163
- "internalType": "Version",
1164
- "name": "version",
1165
- "type": "uint24"
1166
- }
1167
- ],
1168
- "name": "getVersionInfo",
1169
- "outputs": [
1170
- {
1171
- "components": [
1172
- {
1173
- "internalType": "Version",
1174
- "name": "version",
1175
- "type": "uint24"
1176
- },
1177
- {
1178
- "internalType": "address",
1179
- "name": "implementation",
1180
- "type": "address"
1181
- },
1182
- {
1183
- "internalType": "address",
1184
- "name": "activatedBy",
1185
- "type": "address"
1186
- },
1187
- {
1188
- "internalType": "Timestamp",
1189
- "name": "activatedAt",
1190
- "type": "uint40"
1191
- },
1192
- {
1193
- "internalType": "Blocknumber",
1194
- "name": "activatedIn",
1195
- "type": "uint32"
1196
- }
1197
- ],
1198
- "internalType": "struct IVersionable.VersionInfo",
1199
- "name": "versionInfo",
1200
- "type": "tuple"
1201
- }
1202
- ],
1203
- "stateMutability": "view",
1204
- "type": "function"
1205
- },
1206
- {
1207
- "inputs": [],
1208
- "name": "getZeroFee",
1209
- "outputs": [
1210
- {
1211
- "components": [
1212
- {
1213
- "internalType": "UFixed",
1214
- "name": "fractionalFee",
1215
- "type": "uint256"
1216
- },
1217
- {
1218
- "internalType": "uint256",
1219
- "name": "fixedFee",
1220
- "type": "uint256"
1221
- }
1222
- ],
1223
- "internalType": "struct Fee",
1224
- "name": "fee",
1225
- "type": "tuple"
1226
- }
1227
- ],
1228
- "stateMutability": "pure",
1229
- "type": "function"
1230
- },
1231
- {
1232
- "inputs": [
1233
- {
1234
- "internalType": "RoleId",
1235
- "name": "role",
1236
- "type": "bytes8"
1237
- },
1238
- {
1239
- "internalType": "address",
1240
- "name": "member",
1241
- "type": "address"
1242
- }
1243
- ],
1244
- "name": "grantRole",
1245
- "outputs": [],
1246
- "stateMutability": "nonpayable",
1247
- "type": "function"
1248
- },
1249
- {
1250
- "inputs": [
1251
- {
1252
- "internalType": "RoleId",
1253
- "name": "role",
1254
- "type": "bytes8"
1255
- },
1256
- {
1257
- "internalType": "address",
1258
- "name": "member",
1259
- "type": "address"
1260
- }
1261
- ],
1262
- "name": "hasRole",
1263
- "outputs": [
1264
- {
1265
- "internalType": "bool",
1266
- "name": "hasRole",
1267
- "type": "bool"
1268
- }
1269
- ],
1270
- "stateMutability": "view",
1271
- "type": "function"
1272
- },
1273
- {
1274
- "inputs": [
1275
- {
1276
- "internalType": "Version",
1277
- "name": "version",
1278
- "type": "uint24"
1279
- }
1280
- ],
1281
- "name": "isActivated",
1282
- "outputs": [
1283
- {
1284
- "internalType": "bool",
1285
- "name": "",
1286
- "type": "bool"
1287
- }
1288
- ],
1289
- "stateMutability": "view",
1290
- "type": "function"
1291
- },
1292
- {
1293
- "inputs": [],
1294
- "name": "register",
1295
- "outputs": [
1296
- {
1297
- "internalType": "NftId",
1298
- "name": "nftId",
1299
- "type": "uint96"
1300
- }
1301
- ],
1302
- "stateMutability": "nonpayable",
1303
- "type": "function"
1304
- },
1305
- {
1306
- "inputs": [
1307
- {
1308
- "internalType": "NftId",
1309
- "name": "nftId",
1310
- "type": "uint96"
1311
- },
1312
- {
1313
- "internalType": "ObjectType",
1314
- "name": "objectType",
1315
- "type": "uint8"
1316
- },
1317
- {
1318
- "internalType": "contract IERC20Metadata",
1319
- "name": "token",
1320
- "type": "address"
1321
- }
1322
- ],
1323
- "name": "registerComponent",
1324
- "outputs": [],
1325
- "stateMutability": "nonpayable",
1326
- "type": "function"
1327
- },
1328
- {
1329
- "inputs": [
1330
- {
1331
- "internalType": "NftId",
1332
- "name": "poolNftId",
1333
- "type": "uint96"
1334
- },
1335
- {
1336
- "internalType": "address",
1337
- "name": "wallet",
1338
- "type": "address"
1339
- },
1340
- {
1341
- "components": [
1342
- {
1343
- "internalType": "UFixed",
1344
- "name": "fractionalFee",
1345
- "type": "uint256"
1346
- },
1347
- {
1348
- "internalType": "uint256",
1349
- "name": "fixedFee",
1350
- "type": "uint256"
1351
- }
1352
- ],
1353
- "internalType": "struct Fee",
1354
- "name": "stakingFee",
1355
- "type": "tuple"
1356
- },
1357
- {
1358
- "components": [
1359
- {
1360
- "internalType": "UFixed",
1361
- "name": "fractionalFee",
1362
- "type": "uint256"
1363
- },
1364
- {
1365
- "internalType": "uint256",
1366
- "name": "fixedFee",
1367
- "type": "uint256"
1368
- }
1369
- ],
1370
- "internalType": "struct Fee",
1371
- "name": "performanceFee",
1372
- "type": "tuple"
1373
- }
1374
- ],
1375
- "name": "registerPool",
1376
- "outputs": [],
1377
- "stateMutability": "nonpayable",
1378
- "type": "function"
1379
- },
1380
- {
1381
- "inputs": [
1382
- {
1383
- "internalType": "NftId",
1384
- "name": "poolNftId",
1385
- "type": "uint96"
1386
- },
1387
- {
1388
- "internalType": "bool",
1389
- "name": "isVerifying",
1390
- "type": "bool"
1391
- },
1392
- {
1393
- "internalType": "UFixed",
1394
- "name": "collateralizationLevel",
1395
- "type": "uint256"
1396
- }
1397
- ],
1398
- "name": "registerPool",
1399
- "outputs": [],
1400
- "stateMutability": "nonpayable",
1401
- "type": "function"
1402
- },
1403
- {
1404
- "inputs": [
1405
- {
1406
- "internalType": "NftId",
1407
- "name": "productNftId",
1408
- "type": "uint96"
1409
- },
1410
- {
1411
- "internalType": "NftId",
1412
- "name": "distributorNftId",
1413
- "type": "uint96"
1414
- },
1415
- {
1416
- "internalType": "NftId",
1417
- "name": "poolNftId",
1418
- "type": "uint96"
1419
- },
1420
- {
1421
- "internalType": "contract IERC20Metadata",
1422
- "name": "token",
1423
- "type": "address"
1424
- },
1425
- {
1426
- "internalType": "address",
1427
- "name": "wallet",
1428
- "type": "address"
1429
- },
1430
- {
1431
- "components": [
1432
- {
1433
- "internalType": "UFixed",
1434
- "name": "fractionalFee",
1435
- "type": "uint256"
1436
- },
1437
- {
1438
- "internalType": "uint256",
1439
- "name": "fixedFee",
1440
- "type": "uint256"
1441
- }
1442
- ],
1443
- "internalType": "struct Fee",
1444
- "name": "policyFee",
1445
- "type": "tuple"
1446
- },
1447
- {
1448
- "components": [
1449
- {
1450
- "internalType": "UFixed",
1451
- "name": "fractionalFee",
1452
- "type": "uint256"
1453
- },
1454
- {
1455
- "internalType": "uint256",
1456
- "name": "fixedFee",
1457
- "type": "uint256"
1458
- }
1459
- ],
1460
- "internalType": "struct Fee",
1461
- "name": "processingFee",
1462
- "type": "tuple"
1463
- }
1464
- ],
1465
- "name": "registerProduct",
1466
- "outputs": [],
1467
- "stateMutability": "nonpayable",
1468
- "type": "function"
1469
- },
1470
- {
1471
- "inputs": [
1472
- {
1473
- "internalType": "NftId",
1474
- "name": "bundleNftId",
1475
- "type": "uint96"
1476
- },
1477
- {
1478
- "internalType": "NftId",
1479
- "name": "policyNftId",
1480
- "type": "uint96"
1481
- }
1482
- ],
1483
- "name": "releasePolicy",
1484
- "outputs": [
1485
- {
1486
- "internalType": "uint256",
1487
- "name": "collateralAmount",
1488
- "type": "uint256"
1489
- }
1490
- ],
1491
- "stateMutability": "nonpayable",
1492
- "type": "function"
1493
- },
1494
- {
1495
- "inputs": [
1496
- {
1497
- "internalType": "RoleId",
1498
- "name": "role",
1499
- "type": "bytes8"
1500
- },
1501
- {
1502
- "internalType": "address",
1503
- "name": "member",
1504
- "type": "address"
1505
- }
1506
- ],
1507
- "name": "revokeRole",
1508
- "outputs": [],
1509
- "stateMutability": "nonpayable",
1510
- "type": "function"
1511
- },
1512
- {
1513
- "inputs": [
1514
- {
1515
- "internalType": "RoleId",
1516
- "name": "role",
1517
- "type": "bytes8"
1518
- }
1519
- ],
1520
- "name": "roleExists",
1521
- "outputs": [
1522
- {
1523
- "internalType": "bool",
1524
- "name": "",
1525
- "type": "bool"
1526
- }
1527
- ],
1528
- "stateMutability": "view",
1529
- "type": "function"
1530
- },
1531
- {
1532
- "inputs": [
1533
- {
1534
- "components": [
1535
- {
1536
- "internalType": "NftId",
1537
- "name": "nftId",
1538
- "type": "uint96"
1539
- },
1540
- {
1541
- "internalType": "NftId",
1542
- "name": "poolNftId",
1543
- "type": "uint96"
1544
- },
1545
- {
1546
- "internalType": "bytes",
1547
- "name": "filter",
1548
- "type": "bytes"
1549
- },
1550
- {
1551
- "internalType": "uint256",
1552
- "name": "capitalAmount",
1553
- "type": "uint256"
1554
- },
1555
- {
1556
- "internalType": "uint256",
1557
- "name": "lockedAmount",
1558
- "type": "uint256"
1559
- },
1560
- {
1561
- "internalType": "uint256",
1562
- "name": "balanceAmount",
1563
- "type": "uint256"
1564
- },
1565
- {
1566
- "internalType": "Timestamp",
1567
- "name": "expiredAt",
1568
- "type": "uint40"
1569
- },
1570
- {
1571
- "internalType": "Timestamp",
1572
- "name": "closedAt",
1573
- "type": "uint40"
1574
- }
1575
- ],
1576
- "internalType": "struct IBundle.BundleInfo",
1577
- "name": "bundleInfo",
1578
- "type": "tuple"
1579
- }
1580
- ],
1581
- "name": "setBundleInfo",
1582
- "outputs": [],
1583
- "stateMutability": "nonpayable",
1584
- "type": "function"
1585
- },
1586
- {
1587
- "inputs": [
1588
- {
1589
- "components": [
1590
- {
1591
- "internalType": "NftId",
1592
- "name": "nftId",
1593
- "type": "uint96"
1594
- },
1595
- {
1596
- "internalType": "contract IERC20Metadata",
1597
- "name": "token",
1598
- "type": "address"
1599
- }
1600
- ],
1601
- "internalType": "struct IComponent.ComponentInfo",
1602
- "name": "info",
1603
- "type": "tuple"
1604
- }
1605
- ],
1606
- "name": "setComponentInfo",
1607
- "outputs": [],
1608
- "stateMutability": "nonpayable",
1609
- "type": "function"
1610
- },
1611
- {
1612
- "inputs": [
1613
- {
1614
- "components": [
1615
- {
1616
- "internalType": "NftId",
1617
- "name": "nftId",
1618
- "type": "uint96"
1619
- },
1620
- {
1621
- "internalType": "NftId",
1622
- "name": "productNftId",
1623
- "type": "uint96"
1624
- },
1625
- {
1626
- "internalType": "NftId",
1627
- "name": "bundleNftId",
1628
- "type": "uint96"
1629
- },
1630
- {
1631
- "internalType": "address",
1632
- "name": "beneficiary",
1633
- "type": "address"
1634
- },
1635
- {
1636
- "internalType": "StateId",
1637
- "name": "state",
1638
- "type": "uint8"
1639
- },
1640
- {
1641
- "internalType": "uint256",
1642
- "name": "sumInsuredAmount",
1643
- "type": "uint256"
1644
- },
1645
- {
1646
- "internalType": "uint256",
1647
- "name": "premiumAmount",
1648
- "type": "uint256"
1649
- },
1650
- {
1651
- "internalType": "uint256",
1652
- "name": "premiumPaidAmount",
1653
- "type": "uint256"
1654
- },
1655
- {
1656
- "internalType": "uint256",
1657
- "name": "lifetime",
1658
- "type": "uint256"
1659
- },
1660
- {
1661
- "internalType": "bytes",
1662
- "name": "applicationData",
1663
- "type": "bytes"
1664
- },
1665
- {
1666
- "internalType": "bytes",
1667
- "name": "policyData",
1668
- "type": "bytes"
1669
- },
1670
- {
1671
- "internalType": "Timestamp",
1672
- "name": "createdAt",
1673
- "type": "uint40"
1674
- },
1675
- {
1676
- "internalType": "Timestamp",
1677
- "name": "activatedAt",
1678
- "type": "uint40"
1679
- },
1680
- {
1681
- "internalType": "Timestamp",
1682
- "name": "expiredAt",
1683
- "type": "uint40"
1684
- },
1685
- {
1686
- "internalType": "Timestamp",
1687
- "name": "closedAt",
1688
- "type": "uint40"
1689
- },
1690
- {
1691
- "internalType": "Blocknumber",
1692
- "name": "updatedIn",
1693
- "type": "uint32"
1694
- }
1695
- ],
1696
- "internalType": "struct IPolicy.PolicyInfo",
1697
- "name": "policyInfo",
1698
- "type": "tuple"
1699
- }
1700
- ],
1701
- "name": "setPolicyInfo",
1702
- "outputs": [],
1703
- "stateMutability": "nonpayable",
1704
- "type": "function"
1705
- },
1706
- {
1707
- "inputs": [
1708
- {
1709
- "internalType": "NftId",
1710
- "name": "poolNftId",
1711
- "type": "uint96"
1712
- },
1713
- {
1714
- "components": [
1715
- {
1716
- "internalType": "UFixed",
1717
- "name": "fractionalFee",
1718
- "type": "uint256"
1719
- },
1720
- {
1721
- "internalType": "uint256",
1722
- "name": "fixedFee",
1723
- "type": "uint256"
1724
- }
1725
- ],
1726
- "internalType": "struct Fee",
1727
- "name": "stakingFee",
1728
- "type": "tuple"
1729
- },
1730
- {
1731
- "components": [
1732
- {
1733
- "internalType": "UFixed",
1734
- "name": "fractionalFee",
1735
- "type": "uint256"
1736
- },
1737
- {
1738
- "internalType": "uint256",
1739
- "name": "fixedFee",
1740
- "type": "uint256"
1741
- }
1742
- ],
1743
- "internalType": "struct Fee",
1744
- "name": "performanceFee",
1745
- "type": "tuple"
1746
- }
1747
- ],
1748
- "name": "setPoolFees",
1749
- "outputs": [],
1750
- "stateMutability": "nonpayable",
1751
- "type": "function"
1752
- },
1753
- {
1754
- "inputs": [
1755
- {
1756
- "internalType": "NftId",
1757
- "name": "productNftId",
1758
- "type": "uint96"
1759
- },
1760
- {
1761
- "components": [
1762
- {
1763
- "internalType": "UFixed",
1764
- "name": "fractionalFee",
1765
- "type": "uint256"
1766
- },
1767
- {
1768
- "internalType": "uint256",
1769
- "name": "fixedFee",
1770
- "type": "uint256"
1771
- }
1772
- ],
1773
- "internalType": "struct Fee",
1774
- "name": "policyFee",
1775
- "type": "tuple"
1776
- },
1777
- {
1778
- "components": [
1779
- {
1780
- "internalType": "UFixed",
1781
- "name": "fractionalFee",
1782
- "type": "uint256"
1783
- },
1784
- {
1785
- "internalType": "uint256",
1786
- "name": "fixedFee",
1787
- "type": "uint256"
1788
- }
1789
- ],
1790
- "internalType": "struct Fee",
1791
- "name": "processingFee",
1792
- "type": "tuple"
1793
- }
1794
- ],
1795
- "name": "setProductFees",
606
+ "name": "setTargetFunctionRole",
1796
607
  "outputs": [],
1797
608
  "stateMutability": "nonpayable",
1798
609
  "type": "function"
@@ -1800,17 +611,17 @@
1800
611
  {
1801
612
  "inputs": [
1802
613
  {
1803
- "internalType": "RoleId",
1804
- "name": "role",
1805
- "type": "bytes8"
614
+ "internalType": "address",
615
+ "name": "target",
616
+ "type": "address"
1806
617
  },
1807
618
  {
1808
619
  "internalType": "bool",
1809
- "name": "active",
620
+ "name": "locked",
1810
621
  "type": "bool"
1811
622
  }
1812
623
  ],
1813
- "name": "setRoleState",
624
+ "name": "setTargetLocked",
1814
625
  "outputs": [],
1815
626
  "stateMutability": "nonpayable",
1816
627
  "type": "function"
@@ -1833,80 +644,6 @@
1833
644
  ],
1834
645
  "stateMutability": "view",
1835
646
  "type": "function"
1836
- },
1837
- {
1838
- "inputs": [
1839
- {
1840
- "internalType": "NftId",
1841
- "name": "bundleNftId",
1842
- "type": "uint96"
1843
- }
1844
- ],
1845
- "name": "toBundleKey32",
1846
- "outputs": [
1847
- {
1848
- "internalType": "Key32",
1849
- "name": "key32",
1850
- "type": "bytes32"
1851
- }
1852
- ],
1853
- "stateMutability": "view",
1854
- "type": "function"
1855
- },
1856
- {
1857
- "inputs": [
1858
- {
1859
- "internalType": "NftId",
1860
- "name": "nftId",
1861
- "type": "uint96"
1862
- }
1863
- ],
1864
- "name": "toComponentKey32",
1865
- "outputs": [
1866
- {
1867
- "internalType": "Key32",
1868
- "name": "key32",
1869
- "type": "bytes32"
1870
- }
1871
- ],
1872
- "stateMutability": "view",
1873
- "type": "function"
1874
- },
1875
- {
1876
- "inputs": [
1877
- {
1878
- "internalType": "NftId",
1879
- "name": "bundleNftId",
1880
- "type": "uint96"
1881
- },
1882
- {
1883
- "internalType": "StateId",
1884
- "name": "state",
1885
- "type": "uint8"
1886
- }
1887
- ],
1888
- "name": "updateBundleState",
1889
- "outputs": [],
1890
- "stateMutability": "nonpayable",
1891
- "type": "function"
1892
- },
1893
- {
1894
- "inputs": [
1895
- {
1896
- "internalType": "NftId",
1897
- "name": "nftId",
1898
- "type": "uint96"
1899
- },
1900
- {
1901
- "internalType": "StateId",
1902
- "name": "state",
1903
- "type": "uint8"
1904
- }
1905
- ],
1906
- "name": "updateComponentState",
1907
- "outputs": [],
1908
- "stateMutability": "nonpayable",
1909
- "type": "function"
1910
647
  }
1911
648
  ],
1912
649
  "bytecode": "0x",