@etherisc/gif-next 0.0.2-2a59cd5-352 → 0.0.2-2aa1035-611

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 (363) hide show
  1. package/README.md +6 -83
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
  3. package/artifacts/contracts/components/Component.sol/Component.json +90 -145
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +145 -233
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +158 -73
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +169 -150
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +350 -180
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +162 -145
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +298 -288
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +95 -218
  18. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  19. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  20. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  21. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +64 -50
  22. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
  23. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.json +5 -0
  24. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  25. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +274 -2000
  26. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +183 -203
  28. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  29. package/artifacts/contracts/instance/Instance.sol/Instance.json +398 -2776
  30. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +491 -127
  32. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  33. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  34. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +253 -236
  36. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  37. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +216 -451
  38. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  39. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +184 -121
  40. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  41. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2663 -0
  42. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  43. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +8 -13
  44. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +100 -215
  46. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  48. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
  50. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
  52. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +56 -73
  54. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  56. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  57. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  62. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  63. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +164 -379
  64. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +649 -0
  66. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
  67. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +433 -425
  68. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  69. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +244 -105
  70. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +1072 -0
  72. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  73. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +685 -0
  74. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +657 -318
  76. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +270 -115
  78. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  79. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +99 -236
  80. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +235 -319
  82. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  83. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +602 -0
  84. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  85. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +373 -158
  86. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +417 -232
  88. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +568 -120
  90. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +4 -0
  91. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.json +518 -0
  92. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  93. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +64 -163
  94. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +563 -366
  96. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  97. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +220 -121
  98. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +771 -247
  100. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +237 -102
  102. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +988 -0
  104. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +689 -0
  106. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  107. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +136 -271
  108. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  109. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +186 -107
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +19 -0
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +4 -193
  116. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  118. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.json +31 -12
  120. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
  121. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +2 -2
  122. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +28 -277
  124. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +182 -113
  126. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +23 -11
  128. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  129. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +34 -67
  130. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  132. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  133. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  134. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +4 -30
  135. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  136. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  137. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +4 -30
  138. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  139. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -21
  140. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  141. package/artifacts/contracts/shared/IService.sol/IService.json +64 -163
  142. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -150
  144. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  145. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +10 -62
  146. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  147. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -23
  148. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  149. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +171 -88
  150. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  151. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +11 -74
  152. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  153. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -23
  154. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  155. package/artifacts/contracts/shared/Service.sol/Service.json +72 -203
  156. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  157. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  158. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  159. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  160. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  161. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -150
  162. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  163. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  164. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +11 -74
  166. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  167. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
  168. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  169. package/artifacts/contracts/test/TestService.sol/TestService.json +90 -253
  170. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  171. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  172. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  173. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  174. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +6 -188
  175. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  176. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  177. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
  178. package/artifacts/contracts/types/Amount.sol/AmountLib.json +209 -0
  179. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  181. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  182. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  183. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +179 -0
  184. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  185. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  186. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  187. package/artifacts/contracts/types/Fee.sol/FeeLib.json +40 -9
  188. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  189. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  190. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  191. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
  192. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  193. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  194. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  197. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  198. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +209 -0
  199. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  200. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
  201. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  202. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  203. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  204. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  205. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  206. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  207. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  208. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  209. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  210. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +38 -7
  211. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  212. package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
  213. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  214. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
  215. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  216. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  217. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  218. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  219. package/contracts/components/Component.sol +100 -83
  220. package/contracts/components/Distribution.sol +22 -46
  221. package/contracts/components/IComponent.sol +43 -17
  222. package/contracts/components/IDistributionComponent.sol +1 -30
  223. package/contracts/components/IPoolComponent.sol +73 -47
  224. package/contracts/components/IProductComponent.sol +3 -2
  225. package/contracts/components/Pool.sol +178 -130
  226. package/contracts/components/Product.sol +172 -76
  227. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +13 -0
  228. package/contracts/instance/BundleManager.sol +10 -9
  229. package/contracts/instance/Cloneable.sol +7 -2
  230. package/contracts/instance/IInstance.sol +43 -49
  231. package/contracts/instance/IInstanceService.sol +32 -12
  232. package/contracts/instance/Instance.sol +129 -173
  233. package/contracts/instance/InstanceAccessManager.sol +404 -160
  234. package/contracts/instance/InstanceAuthorizationsLib.sol +300 -0
  235. package/contracts/instance/InstanceReader.sol +43 -16
  236. package/contracts/instance/InstanceService.sol +160 -293
  237. package/contracts/instance/InstanceServiceManager.sol +1 -1
  238. package/contracts/instance/InstanceStore.sol +208 -0
  239. package/contracts/instance/ObjectManager.sol +6 -8
  240. package/contracts/instance/base/ComponentService.sol +53 -39
  241. package/contracts/instance/base/KeyValueStore.sol +13 -5
  242. package/contracts/instance/base/Lifecycle.sol +23 -6
  243. package/contracts/instance/module/IAccess.sol +21 -14
  244. package/contracts/instance/module/IBundle.sol +8 -5
  245. package/contracts/instance/module/IComponents.sol +41 -0
  246. package/contracts/instance/module/IDistribution.sol +2 -0
  247. package/contracts/instance/module/IPolicy.sol +41 -9
  248. package/contracts/instance/module/ISetup.sol +7 -21
  249. package/contracts/instance/service/ApplicationService.sol +75 -158
  250. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  251. package/contracts/instance/service/BundleService.sol +230 -88
  252. package/contracts/instance/service/BundleServiceManager.sol +1 -1
  253. package/contracts/instance/service/ClaimService.sol +239 -0
  254. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  255. package/contracts/instance/service/DistributionService.sol +156 -96
  256. package/contracts/instance/service/DistributionServiceManager.sol +1 -1
  257. package/contracts/instance/service/IApplicationService.sol +9 -30
  258. package/contracts/instance/service/IBundleService.sol +74 -26
  259. package/contracts/instance/service/IClaimService.sol +92 -0
  260. package/contracts/instance/service/IDistributionService.sol +26 -6
  261. package/contracts/instance/service/IPolicyService.sol +89 -38
  262. package/contracts/instance/service/IPoolService.sol +85 -3
  263. package/contracts/instance/service/IPricingService.sol +36 -0
  264. package/contracts/instance/service/PolicyService.sol +358 -305
  265. package/contracts/instance/service/PolicyServiceManager.sol +2 -2
  266. package/contracts/instance/service/PoolService.sol +246 -19
  267. package/contracts/instance/service/PoolServiceManager.sol +1 -1
  268. package/contracts/instance/service/PricingService.sol +275 -0
  269. package/contracts/instance/service/PricingServiceManager.sol +51 -0
  270. package/contracts/instance/service/ProductService.sol +37 -60
  271. package/contracts/instance/service/ProductServiceManager.sol +2 -2
  272. package/contracts/registry/ChainNft.sol +8 -0
  273. package/contracts/registry/IRegistry.sol +2 -0
  274. package/contracts/registry/IRegistryService.sol +11 -10
  275. package/contracts/registry/ITransferInterceptor.sol +1 -0
  276. package/contracts/registry/Registry.sol +23 -20
  277. package/contracts/registry/RegistryService.sol +56 -47
  278. package/contracts/registry/RegistryServiceManager.sol +13 -13
  279. package/contracts/registry/ReleaseManager.sol +26 -33
  280. package/contracts/registry/TokenRegistry.sol +13 -10
  281. package/contracts/shared/ERC165.sol +2 -1
  282. package/contracts/shared/INftOwnable.sol +4 -9
  283. package/contracts/shared/IRegistryLinked.sol +0 -3
  284. package/contracts/shared/IService.sol +4 -4
  285. package/contracts/shared/IVersionable.sol +4 -47
  286. package/contracts/shared/NftOwnable.sol +10 -80
  287. package/contracts/shared/ProxyManager.sol +98 -24
  288. package/contracts/shared/Registerable.sol +3 -10
  289. package/contracts/shared/RegistryLinked.sol +10 -26
  290. package/contracts/shared/Service.sol +29 -17
  291. package/contracts/shared/TokenHandler.sol +11 -5
  292. package/contracts/shared/Versionable.sol +1 -90
  293. package/contracts/test/TestService.sol +1 -1
  294. package/contracts/types/Amount.sol +70 -0
  295. package/contracts/types/Blocknumber.sol +1 -0
  296. package/contracts/types/ClaimId.sol +75 -0
  297. package/contracts/types/Fee.sol +13 -5
  298. package/contracts/types/NftId.sol +8 -0
  299. package/contracts/types/ObjectType.sol +12 -7
  300. package/contracts/types/PayoutId.sol +82 -0
  301. package/contracts/types/Referral.sol +4 -0
  302. package/contracts/types/RoleId.sol +16 -9
  303. package/contracts/types/Seconds.sol +54 -0
  304. package/contracts/types/StateId.sol +7 -2
  305. package/contracts/types/Timestamp.sol +18 -13
  306. package/contracts/types/UFixed.sol +1 -0
  307. package/contracts/types/Version.sol +1 -0
  308. package/package.json +1 -1
  309. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  310. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  311. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  312. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  313. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  314. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  315. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  316. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  317. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  318. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  319. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  320. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  321. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  322. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  323. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  324. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  325. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  326. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  327. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  328. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  329. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  330. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  331. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  332. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  333. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  334. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  335. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  336. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  337. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  338. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  339. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  340. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  341. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  342. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  343. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  344. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  345. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  346. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  347. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  349. package/contracts/experiment/cloning/Cloner.sol +0 -47
  350. package/contracts/experiment/errors/Require.sol +0 -38
  351. package/contracts/experiment/errors/Revert.sol +0 -44
  352. package/contracts/experiment/inheritance/A.sol +0 -53
  353. package/contracts/experiment/inheritance/B.sol +0 -28
  354. package/contracts/experiment/inheritance/C.sol +0 -34
  355. package/contracts/experiment/inheritance/IA.sol +0 -13
  356. package/contracts/experiment/inheritance/IB.sol +0 -10
  357. package/contracts/experiment/inheritance/IC.sol +0 -12
  358. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  359. package/contracts/experiment/statemachine/ISM.sol +0 -25
  360. package/contracts/experiment/statemachine/SM.sol +0 -57
  361. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  362. package/contracts/experiment/types/TypeA.sol +0 -47
  363. package/contracts/experiment/types/TypeB.sol +0 -29
@@ -45,262 +45,218 @@
45
45
  "inputs": [
46
46
  {
47
47
  "internalType": "address",
48
- "name": "registry",
48
+ "name": "instanceBundleManager",
49
49
  "type": "address"
50
- },
51
- {
52
- "internalType": "NftId",
53
- "name": "nftId",
54
- "type": "uint96"
55
50
  }
56
51
  ],
57
- "name": "ErrorAlreadyLinked",
52
+ "name": "ErrorInstanceBundleManagerAlreadySet",
58
53
  "type": "error"
59
54
  },
60
55
  {
61
56
  "inputs": [
62
57
  {
63
58
  "internalType": "address",
64
- "name": "contractAddress",
59
+ "name": "instanceAuthority",
65
60
  "type": "address"
66
61
  }
67
62
  ],
68
- "name": "ErrorContractNotRegistered",
63
+ "name": "ErrorInstanceBundleManagerAuthorityMismatch",
69
64
  "type": "error"
70
65
  },
71
66
  {
72
- "inputs": [],
73
- "name": "ErrorInitialOwnerZero",
67
+ "inputs": [
68
+ {
69
+ "internalType": "address",
70
+ "name": "instance",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "name": "ErrorInstanceBundleManagerInstanceMismatch",
74
75
  "type": "error"
75
76
  },
76
77
  {
77
78
  "inputs": [
78
79
  {
79
- "internalType": "ObjectType",
80
- "name": "objectType",
81
- "type": "uint8"
82
- },
83
- {
84
- "internalType": "StateId",
85
- "name": "fromStateId",
86
- "type": "uint8"
87
- },
88
- {
89
- "internalType": "StateId",
90
- "name": "toStateId",
91
- "type": "uint8"
80
+ "internalType": "address",
81
+ "name": "instanceAccessManager",
82
+ "type": "address"
92
83
  }
93
84
  ],
94
- "name": "ErrorInvalidStateTransition",
85
+ "name": "ErrorInstanceInstanceAccessManagerAlreadySet",
95
86
  "type": "error"
96
87
  },
97
88
  {
98
89
  "inputs": [
99
90
  {
100
- "internalType": "NftId",
101
- "name": "nftId",
102
- "type": "uint96"
103
- },
91
+ "internalType": "address",
92
+ "name": "instanceAuthority",
93
+ "type": "address"
94
+ }
95
+ ],
96
+ "name": "ErrorInstanceInstanceAccessManagerAuthorityMismatch",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [
104
101
  {
105
- "internalType": "ObjectType",
106
- "name": "objectType",
107
- "type": "uint8"
102
+ "internalType": "address",
103
+ "name": "instanceAuthority",
104
+ "type": "address"
108
105
  }
109
106
  ],
110
- "name": "ErrorNoLifecycle",
107
+ "name": "ErrorInstanceInstanceReaderInstanceMismatch",
111
108
  "type": "error"
112
109
  },
113
110
  {
114
111
  "inputs": [
115
112
  {
116
113
  "internalType": "address",
117
- "name": "account",
114
+ "name": "instanceStore",
118
115
  "type": "address"
119
116
  }
120
117
  ],
121
- "name": "ErrorNotOwner",
118
+ "name": "ErrorInstanceInstanceStoreAlreadySet",
122
119
  "type": "error"
123
120
  },
124
121
  {
125
122
  "inputs": [
126
123
  {
127
124
  "internalType": "address",
128
- "name": "registryAddress",
125
+ "name": "instanceAuthority",
129
126
  "type": "address"
130
127
  }
131
128
  ],
132
- "name": "ErrorNotRegistry",
129
+ "name": "ErrorInstanceInstanceStoreAuthorityMismatch",
133
130
  "type": "error"
134
131
  },
135
132
  {
136
- "inputs": [],
137
- "name": "ErrorRegistryAddressZero",
133
+ "inputs": [
134
+ {
135
+ "internalType": "NftId",
136
+ "name": "nftId",
137
+ "type": "uint96"
138
+ }
139
+ ],
140
+ "name": "ErrorNftOwnableAlreadyLinked",
138
141
  "type": "error"
139
142
  },
140
143
  {
141
144
  "inputs": [
142
145
  {
143
146
  "internalType": "address",
144
- "name": "registry",
147
+ "name": "contractAddress",
145
148
  "type": "address"
146
149
  }
147
150
  ],
148
- "name": "ErrorRegistryAlreadyInitialized",
151
+ "name": "ErrorNftOwnableContractNotRegistered",
149
152
  "type": "error"
150
153
  },
151
154
  {
152
155
  "inputs": [],
153
- "name": "ErrorRegistryNotInitialized",
156
+ "name": "ErrorNftOwnableInitialOwnerZero",
154
157
  "type": "error"
155
158
  },
156
159
  {
157
- "anonymous": false,
158
160
  "inputs": [
159
161
  {
160
- "indexed": false,
161
162
  "internalType": "address",
162
- "name": "authority",
163
+ "name": "account",
163
164
  "type": "address"
164
165
  }
165
166
  ],
166
- "name": "AuthorityUpdated",
167
- "type": "event"
167
+ "name": "ErrorNftOwnableNotOwner",
168
+ "type": "error"
168
169
  },
169
170
  {
170
- "anonymous": false,
171
171
  "inputs": [
172
172
  {
173
- "indexed": false,
174
- "internalType": "ObjectType",
175
- "name": "objectType",
176
- "type": "uint8"
177
- },
178
- {
179
- "indexed": false,
180
- "internalType": "KeyId",
181
- "name": "keyId",
182
- "type": "bytes31"
183
- },
184
- {
185
- "indexed": false,
186
- "internalType": "StateId",
187
- "name": "state",
188
- "type": "uint8"
189
- },
190
- {
191
- "indexed": false,
192
- "internalType": "address",
193
- "name": "createdBy",
194
- "type": "address"
195
- },
196
- {
197
- "indexed": false,
198
173
  "internalType": "address",
199
- "name": "txOrigin",
174
+ "name": "registryAddress",
200
175
  "type": "address"
201
176
  }
202
177
  ],
203
- "name": "LogInfoCreated",
204
- "type": "event"
178
+ "name": "ErrorNotRegistry",
179
+ "type": "error"
205
180
  },
206
181
  {
207
182
  "anonymous": false,
208
183
  "inputs": [
209
- {
210
- "indexed": false,
211
- "internalType": "ObjectType",
212
- "name": "objectType",
213
- "type": "uint8"
214
- },
215
- {
216
- "indexed": false,
217
- "internalType": "KeyId",
218
- "name": "keyId",
219
- "type": "bytes31"
220
- },
221
- {
222
- "indexed": false,
223
- "internalType": "StateId",
224
- "name": "state",
225
- "type": "uint8"
226
- },
227
184
  {
228
185
  "indexed": false,
229
186
  "internalType": "address",
230
- "name": "updatedBy",
187
+ "name": "authority",
231
188
  "type": "address"
232
- },
189
+ }
190
+ ],
191
+ "name": "AuthorityUpdated",
192
+ "type": "event"
193
+ },
194
+ {
195
+ "inputs": [],
196
+ "name": "authority",
197
+ "outputs": [
233
198
  {
234
- "indexed": false,
235
199
  "internalType": "address",
236
- "name": "txOrigin",
200
+ "name": "",
237
201
  "type": "address"
238
- },
239
- {
240
- "indexed": false,
241
- "internalType": "Blocknumber",
242
- "name": "lastUpdatedIn",
243
- "type": "uint32"
244
202
  }
245
203
  ],
246
- "name": "LogInfoUpdated",
247
- "type": "event"
204
+ "stateMutability": "view",
205
+ "type": "function"
248
206
  },
249
207
  {
250
- "anonymous": false,
251
208
  "inputs": [
252
209
  {
253
- "indexed": false,
254
- "internalType": "ObjectType",
255
- "name": "objectType",
256
- "type": "uint8"
257
- },
258
- {
259
- "indexed": false,
260
- "internalType": "KeyId",
261
- "name": "keyId",
262
- "type": "bytes31"
210
+ "internalType": "string",
211
+ "name": "roleName",
212
+ "type": "string"
263
213
  },
264
214
  {
265
- "indexed": false,
266
- "internalType": "StateId",
267
- "name": "stateOld",
268
- "type": "uint8"
269
- },
215
+ "internalType": "string",
216
+ "name": "adminName",
217
+ "type": "string"
218
+ }
219
+ ],
220
+ "name": "createRole",
221
+ "outputs": [
270
222
  {
271
- "indexed": false,
272
- "internalType": "StateId",
273
- "name": "stateNew",
274
- "type": "uint8"
223
+ "internalType": "RoleId",
224
+ "name": "roleId",
225
+ "type": "uint64"
275
226
  },
276
227
  {
277
- "indexed": false,
278
- "internalType": "address",
279
- "name": "updatedBy",
280
- "type": "address"
281
- },
228
+ "internalType": "RoleId",
229
+ "name": "admin",
230
+ "type": "uint64"
231
+ }
232
+ ],
233
+ "stateMutability": "nonpayable",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [
282
238
  {
283
- "indexed": false,
284
239
  "internalType": "address",
285
- "name": "txOrigin",
240
+ "name": "target",
286
241
  "type": "address"
287
242
  },
288
243
  {
289
- "indexed": false,
290
- "internalType": "Blocknumber",
291
- "name": "lastUpdatedIn",
292
- "type": "uint32"
244
+ "internalType": "string",
245
+ "name": "name",
246
+ "type": "string"
293
247
  }
294
248
  ],
295
- "name": "LogStateUpdated",
296
- "type": "event"
249
+ "name": "createTarget",
250
+ "outputs": [],
251
+ "stateMutability": "nonpayable",
252
+ "type": "function"
297
253
  },
298
254
  {
299
255
  "inputs": [],
300
- "name": "authority",
256
+ "name": "getBundleManager",
301
257
  "outputs": [
302
258
  {
303
- "internalType": "address",
259
+ "internalType": "contract BundleManager",
304
260
  "name": "",
305
261
  "type": "address"
306
262
  }
@@ -309,152 +265,66 @@
309
265
  "type": "function"
310
266
  },
311
267
  {
312
- "inputs": [
313
- {
314
- "internalType": "NftId",
315
- "name": "bundleNftId",
316
- "type": "uint96"
317
- },
268
+ "inputs": [],
269
+ "name": "getBundleService",
270
+ "outputs": [
318
271
  {
319
- "components": [
320
- {
321
- "internalType": "NftId",
322
- "name": "poolNftId",
323
- "type": "uint96"
324
- },
325
- {
326
- "components": [
327
- {
328
- "internalType": "UFixed",
329
- "name": "fractionalFee",
330
- "type": "uint256"
331
- },
332
- {
333
- "internalType": "uint256",
334
- "name": "fixedFee",
335
- "type": "uint256"
336
- }
337
- ],
338
- "internalType": "struct Fee",
339
- "name": "fee",
340
- "type": "tuple"
341
- },
342
- {
343
- "internalType": "bytes",
344
- "name": "filter",
345
- "type": "bytes"
346
- },
347
- {
348
- "internalType": "uint256",
349
- "name": "capitalAmount",
350
- "type": "uint256"
351
- },
352
- {
353
- "internalType": "uint256",
354
- "name": "lockedAmount",
355
- "type": "uint256"
356
- },
357
- {
358
- "internalType": "uint256",
359
- "name": "balanceAmount",
360
- "type": "uint256"
361
- },
362
- {
363
- "internalType": "uint256",
364
- "name": "lifetime",
365
- "type": "uint256"
366
- },
367
- {
368
- "internalType": "Timestamp",
369
- "name": "expiredAt",
370
- "type": "uint40"
371
- },
372
- {
373
- "internalType": "Timestamp",
374
- "name": "closedAt",
375
- "type": "uint40"
376
- }
377
- ],
378
- "internalType": "struct IBundle.BundleInfo",
379
- "name": "bundle",
380
- "type": "tuple"
272
+ "internalType": "contract IBundleService",
273
+ "name": "",
274
+ "type": "address"
381
275
  }
382
276
  ],
383
- "name": "createBundle",
384
- "outputs": [],
385
- "stateMutability": "nonpayable",
277
+ "stateMutability": "view",
386
278
  "type": "function"
387
279
  },
388
280
  {
389
- "inputs": [
281
+ "inputs": [],
282
+ "name": "getDistributionService",
283
+ "outputs": [
390
284
  {
391
- "internalType": "NftId",
392
- "name": "distributionNftId",
393
- "type": "uint96"
394
- },
285
+ "internalType": "contract IDistributionService",
286
+ "name": "",
287
+ "type": "address"
288
+ }
289
+ ],
290
+ "stateMutability": "view",
291
+ "type": "function"
292
+ },
293
+ {
294
+ "inputs": [],
295
+ "name": "getInitialInfo",
296
+ "outputs": [
395
297
  {
396
298
  "components": [
397
299
  {
398
300
  "internalType": "NftId",
399
- "name": "productNftId",
301
+ "name": "nftId",
400
302
  "type": "uint96"
401
303
  },
402
304
  {
403
- "internalType": "contract TokenHandler",
404
- "name": "tokenHandler",
405
- "type": "address"
305
+ "internalType": "NftId",
306
+ "name": "parentNftId",
307
+ "type": "uint96"
406
308
  },
407
309
  {
408
- "components": [
409
- {
410
- "internalType": "UFixed",
411
- "name": "fractionalFee",
412
- "type": "uint256"
413
- },
414
- {
415
- "internalType": "uint256",
416
- "name": "fixedFee",
417
- "type": "uint256"
418
- }
419
- ],
420
- "internalType": "struct Fee",
421
- "name": "distributionFee",
422
- "type": "tuple"
310
+ "internalType": "ObjectType",
311
+ "name": "objectType",
312
+ "type": "uint8"
313
+ },
314
+ {
315
+ "internalType": "bool",
316
+ "name": "isInterceptor",
317
+ "type": "bool"
423
318
  },
424
319
  {
425
320
  "internalType": "address",
426
- "name": "wallet",
321
+ "name": "objectAddress",
427
322
  "type": "address"
428
- }
429
- ],
430
- "internalType": "struct ISetup.DistributionSetupInfo",
431
- "name": "setup",
432
- "type": "tuple"
433
- }
434
- ],
435
- "name": "createDistributionSetup",
436
- "outputs": [],
437
- "stateMutability": "nonpayable",
438
- "type": "function"
439
- },
440
- {
441
- "inputs": [
442
- {
443
- "internalType": "NftId",
444
- "name": "nftId",
445
- "type": "uint96"
446
- },
447
- {
448
- "components": [
449
- {
450
- "internalType": "DistributorType",
451
- "name": "distributorType",
452
- "type": "bytes8"
453
323
  },
454
324
  {
455
- "internalType": "bool",
456
- "name": "active",
457
- "type": "bool"
325
+ "internalType": "address",
326
+ "name": "initialOwner",
327
+ "type": "address"
458
328
  },
459
329
  {
460
330
  "internalType": "bytes",
@@ -462,929 +332,22 @@
462
332
  "type": "bytes"
463
333
  }
464
334
  ],
465
- "internalType": "struct IDistribution.DistributorInfo",
466
- "name": "info",
335
+ "internalType": "struct IRegistry.ObjectInfo",
336
+ "name": "",
467
337
  "type": "tuple"
468
338
  }
469
339
  ],
470
- "name": "createDistributor",
471
- "outputs": [],
472
- "stateMutability": "nonpayable",
340
+ "stateMutability": "view",
473
341
  "type": "function"
474
342
  },
475
343
  {
476
- "inputs": [
477
- {
478
- "internalType": "Key32",
479
- "name": "distributorKey",
480
- "type": "bytes32"
481
- },
344
+ "inputs": [],
345
+ "name": "getInstanceAccessManager",
346
+ "outputs": [
482
347
  {
483
- "components": [
484
- {
485
- "internalType": "string",
486
- "name": "name",
487
- "type": "string"
488
- },
489
- {
490
- "internalType": "UFixed",
491
- "name": "minDiscountPercentage",
492
- "type": "uint256"
493
- },
494
- {
495
- "internalType": "UFixed",
496
- "name": "maxDiscountPercentage",
497
- "type": "uint256"
498
- },
499
- {
500
- "internalType": "UFixed",
501
- "name": "commissionPercentage",
502
- "type": "uint256"
503
- },
504
- {
505
- "internalType": "uint32",
506
- "name": "maxReferralCount",
507
- "type": "uint32"
508
- },
509
- {
510
- "internalType": "uint32",
511
- "name": "maxReferralLifetime",
512
- "type": "uint32"
513
- },
514
- {
515
- "internalType": "bool",
516
- "name": "allowSelfReferrals",
517
- "type": "bool"
518
- },
519
- {
520
- "internalType": "bool",
521
- "name": "allowRenewals",
522
- "type": "bool"
523
- },
524
- {
525
- "internalType": "bytes",
526
- "name": "data",
527
- "type": "bytes"
528
- }
529
- ],
530
- "internalType": "struct IDistribution.DistributorTypeInfo",
531
- "name": "info",
532
- "type": "tuple"
533
- }
534
- ],
535
- "name": "createDistributorType",
536
- "outputs": [],
537
- "stateMutability": "nonpayable",
538
- "type": "function"
539
- },
540
- {
541
- "inputs": [
542
- {
543
- "internalType": "NftId",
544
- "name": "policyNftId",
545
- "type": "uint96"
546
- },
547
- {
548
- "components": [
549
- {
550
- "internalType": "NftId",
551
- "name": "productNftId",
552
- "type": "uint96"
553
- },
554
- {
555
- "internalType": "NftId",
556
- "name": "bundleNftId",
557
- "type": "uint96"
558
- },
559
- {
560
- "internalType": "ReferralId",
561
- "name": "referralId",
562
- "type": "bytes8"
563
- },
564
- {
565
- "internalType": "RiskId",
566
- "name": "riskId",
567
- "type": "bytes8"
568
- },
569
- {
570
- "internalType": "uint256",
571
- "name": "sumInsuredAmount",
572
- "type": "uint256"
573
- },
574
- {
575
- "internalType": "uint256",
576
- "name": "premiumAmount",
577
- "type": "uint256"
578
- },
579
- {
580
- "internalType": "uint256",
581
- "name": "premiumPaidAmount",
582
- "type": "uint256"
583
- },
584
- {
585
- "internalType": "uint256",
586
- "name": "lifetime",
587
- "type": "uint256"
588
- },
589
- {
590
- "internalType": "bytes",
591
- "name": "applicationData",
592
- "type": "bytes"
593
- },
594
- {
595
- "internalType": "bytes",
596
- "name": "policyData",
597
- "type": "bytes"
598
- },
599
- {
600
- "internalType": "uint16",
601
- "name": "claimsCount",
602
- "type": "uint16"
603
- },
604
- {
605
- "internalType": "uint16",
606
- "name": "openClaimsCount",
607
- "type": "uint16"
608
- },
609
- {
610
- "internalType": "uint256",
611
- "name": "payoutAmount",
612
- "type": "uint256"
613
- },
614
- {
615
- "internalType": "Timestamp",
616
- "name": "activatedAt",
617
- "type": "uint40"
618
- },
619
- {
620
- "internalType": "Timestamp",
621
- "name": "expiredAt",
622
- "type": "uint40"
623
- },
624
- {
625
- "internalType": "Timestamp",
626
- "name": "closedAt",
627
- "type": "uint40"
628
- }
629
- ],
630
- "internalType": "struct IPolicy.PolicyInfo",
631
- "name": "policy",
632
- "type": "tuple"
633
- }
634
- ],
635
- "name": "createPolicy",
636
- "outputs": [],
637
- "stateMutability": "nonpayable",
638
- "type": "function"
639
- },
640
- {
641
- "inputs": [
642
- {
643
- "internalType": "NftId",
644
- "name": "poolNftId",
645
- "type": "uint96"
646
- },
647
- {
648
- "components": [
649
- {
650
- "internalType": "NftId",
651
- "name": "productNftId",
652
- "type": "uint96"
653
- },
654
- {
655
- "internalType": "contract TokenHandler",
656
- "name": "tokenHandler",
657
- "type": "address"
658
- },
659
- {
660
- "internalType": "bool",
661
- "name": "isInterceptingBundleTransfers",
662
- "type": "bool"
663
- },
664
- {
665
- "internalType": "bool",
666
- "name": "isExternallyManaged",
667
- "type": "bool"
668
- },
669
- {
670
- "internalType": "bool",
671
- "name": "isVerifyingApplications",
672
- "type": "bool"
673
- },
674
- {
675
- "internalType": "UFixed",
676
- "name": "collateralizationLevel",
677
- "type": "uint256"
678
- },
679
- {
680
- "internalType": "UFixed",
681
- "name": "retentionLevel",
682
- "type": "uint256"
683
- },
684
- {
685
- "components": [
686
- {
687
- "internalType": "UFixed",
688
- "name": "fractionalFee",
689
- "type": "uint256"
690
- },
691
- {
692
- "internalType": "uint256",
693
- "name": "fixedFee",
694
- "type": "uint256"
695
- }
696
- ],
697
- "internalType": "struct Fee",
698
- "name": "poolFee",
699
- "type": "tuple"
700
- },
701
- {
702
- "components": [
703
- {
704
- "internalType": "UFixed",
705
- "name": "fractionalFee",
706
- "type": "uint256"
707
- },
708
- {
709
- "internalType": "uint256",
710
- "name": "fixedFee",
711
- "type": "uint256"
712
- }
713
- ],
714
- "internalType": "struct Fee",
715
- "name": "stakingFee",
716
- "type": "tuple"
717
- },
718
- {
719
- "components": [
720
- {
721
- "internalType": "UFixed",
722
- "name": "fractionalFee",
723
- "type": "uint256"
724
- },
725
- {
726
- "internalType": "uint256",
727
- "name": "fixedFee",
728
- "type": "uint256"
729
- }
730
- ],
731
- "internalType": "struct Fee",
732
- "name": "performanceFee",
733
- "type": "tuple"
734
- },
735
- {
736
- "internalType": "address",
737
- "name": "wallet",
738
- "type": "address"
739
- }
740
- ],
741
- "internalType": "struct ISetup.PoolSetupInfo",
742
- "name": "setup",
743
- "type": "tuple"
744
- }
745
- ],
746
- "name": "createPoolSetup",
747
- "outputs": [],
748
- "stateMutability": "nonpayable",
749
- "type": "function"
750
- },
751
- {
752
- "inputs": [
753
- {
754
- "internalType": "NftId",
755
- "name": "productNftId",
756
- "type": "uint96"
757
- },
758
- {
759
- "components": [
760
- {
761
- "internalType": "contract IERC20Metadata",
762
- "name": "token",
763
- "type": "address"
764
- },
765
- {
766
- "internalType": "contract TokenHandler",
767
- "name": "tokenHandler",
768
- "type": "address"
769
- },
770
- {
771
- "internalType": "NftId",
772
- "name": "distributionNftId",
773
- "type": "uint96"
774
- },
775
- {
776
- "internalType": "NftId",
777
- "name": "poolNftId",
778
- "type": "uint96"
779
- },
780
- {
781
- "components": [
782
- {
783
- "internalType": "UFixed",
784
- "name": "fractionalFee",
785
- "type": "uint256"
786
- },
787
- {
788
- "internalType": "uint256",
789
- "name": "fixedFee",
790
- "type": "uint256"
791
- }
792
- ],
793
- "internalType": "struct Fee",
794
- "name": "distributionFee",
795
- "type": "tuple"
796
- },
797
- {
798
- "components": [
799
- {
800
- "internalType": "UFixed",
801
- "name": "fractionalFee",
802
- "type": "uint256"
803
- },
804
- {
805
- "internalType": "uint256",
806
- "name": "fixedFee",
807
- "type": "uint256"
808
- }
809
- ],
810
- "internalType": "struct Fee",
811
- "name": "productFee",
812
- "type": "tuple"
813
- },
814
- {
815
- "components": [
816
- {
817
- "internalType": "UFixed",
818
- "name": "fractionalFee",
819
- "type": "uint256"
820
- },
821
- {
822
- "internalType": "uint256",
823
- "name": "fixedFee",
824
- "type": "uint256"
825
- }
826
- ],
827
- "internalType": "struct Fee",
828
- "name": "processingFee",
829
- "type": "tuple"
830
- },
831
- {
832
- "components": [
833
- {
834
- "internalType": "UFixed",
835
- "name": "fractionalFee",
836
- "type": "uint256"
837
- },
838
- {
839
- "internalType": "uint256",
840
- "name": "fixedFee",
841
- "type": "uint256"
842
- }
843
- ],
844
- "internalType": "struct Fee",
845
- "name": "poolFee",
846
- "type": "tuple"
847
- },
848
- {
849
- "components": [
850
- {
851
- "internalType": "UFixed",
852
- "name": "fractionalFee",
853
- "type": "uint256"
854
- },
855
- {
856
- "internalType": "uint256",
857
- "name": "fixedFee",
858
- "type": "uint256"
859
- }
860
- ],
861
- "internalType": "struct Fee",
862
- "name": "stakingFee",
863
- "type": "tuple"
864
- },
865
- {
866
- "components": [
867
- {
868
- "internalType": "UFixed",
869
- "name": "fractionalFee",
870
- "type": "uint256"
871
- },
872
- {
873
- "internalType": "uint256",
874
- "name": "fixedFee",
875
- "type": "uint256"
876
- }
877
- ],
878
- "internalType": "struct Fee",
879
- "name": "performanceFee",
880
- "type": "tuple"
881
- },
882
- {
883
- "internalType": "bool",
884
- "name": "isIntercepting",
885
- "type": "bool"
886
- },
887
- {
888
- "internalType": "address",
889
- "name": "wallet",
890
- "type": "address"
891
- }
892
- ],
893
- "internalType": "struct ISetup.ProductSetupInfo",
894
- "name": "setup",
895
- "type": "tuple"
896
- }
897
- ],
898
- "name": "createProductSetup",
899
- "outputs": [],
900
- "stateMutability": "nonpayable",
901
- "type": "function"
902
- },
903
- {
904
- "inputs": [
905
- {
906
- "internalType": "Key32",
907
- "name": "referralKey",
908
- "type": "bytes32"
909
- },
910
- {
911
- "components": [
912
- {
913
- "internalType": "NftId",
914
- "name": "distributorNftId",
915
- "type": "uint96"
916
- },
917
- {
918
- "internalType": "string",
919
- "name": "referralCode",
920
- "type": "string"
921
- },
922
- {
923
- "internalType": "UFixed",
924
- "name": "discountPercentage",
925
- "type": "uint256"
926
- },
927
- {
928
- "internalType": "uint32",
929
- "name": "maxReferrals",
930
- "type": "uint32"
931
- },
932
- {
933
- "internalType": "uint32",
934
- "name": "usedReferrals",
935
- "type": "uint32"
936
- },
937
- {
938
- "internalType": "Timestamp",
939
- "name": "expiryAt",
940
- "type": "uint40"
941
- },
942
- {
943
- "internalType": "bytes",
944
- "name": "data",
945
- "type": "bytes"
946
- }
947
- ],
948
- "internalType": "struct IDistribution.ReferralInfo",
949
- "name": "referralInfo",
950
- "type": "tuple"
951
- }
952
- ],
953
- "name": "createReferral",
954
- "outputs": [],
955
- "stateMutability": "nonpayable",
956
- "type": "function"
957
- },
958
- {
959
- "inputs": [
960
- {
961
- "internalType": "RiskId",
962
- "name": "riskId",
963
- "type": "bytes8"
964
- },
965
- {
966
- "components": [
967
- {
968
- "internalType": "NftId",
969
- "name": "productNftId",
970
- "type": "uint96"
971
- },
972
- {
973
- "internalType": "bytes",
974
- "name": "data",
975
- "type": "bytes"
976
- }
977
- ],
978
- "internalType": "struct IRisk.RiskInfo",
979
- "name": "risk",
980
- "type": "tuple"
981
- }
982
- ],
983
- "name": "createRisk",
984
- "outputs": [],
985
- "stateMutability": "nonpayable",
986
- "type": "function"
987
- },
988
- {
989
- "inputs": [
990
- {
991
- "internalType": "Key32",
992
- "name": "key",
993
- "type": "bytes32"
994
- }
995
- ],
996
- "name": "exists",
997
- "outputs": [
998
- {
999
- "internalType": "bool",
1000
- "name": "",
1001
- "type": "bool"
1002
- }
1003
- ],
1004
- "stateMutability": "view",
1005
- "type": "function"
1006
- },
1007
- {
1008
- "inputs": [
1009
- {
1010
- "internalType": "Key32",
1011
- "name": "key",
1012
- "type": "bytes32"
1013
- }
1014
- ],
1015
- "name": "get",
1016
- "outputs": [
1017
- {
1018
- "components": [
1019
- {
1020
- "components": [
1021
- {
1022
- "internalType": "ObjectType",
1023
- "name": "objectType",
1024
- "type": "uint8"
1025
- },
1026
- {
1027
- "internalType": "StateId",
1028
- "name": "state",
1029
- "type": "uint8"
1030
- },
1031
- {
1032
- "internalType": "address",
1033
- "name": "updatedBy",
1034
- "type": "address"
1035
- },
1036
- {
1037
- "internalType": "Blocknumber",
1038
- "name": "updatedIn",
1039
- "type": "uint32"
1040
- },
1041
- {
1042
- "internalType": "Blocknumber",
1043
- "name": "createdIn",
1044
- "type": "uint32"
1045
- }
1046
- ],
1047
- "internalType": "struct IKeyValueStore.Metadata",
1048
- "name": "metadata",
1049
- "type": "tuple"
1050
- },
1051
- {
1052
- "internalType": "bytes",
1053
- "name": "data",
1054
- "type": "bytes"
1055
- }
1056
- ],
1057
- "internalType": "struct IKeyValueStore.Value",
1058
- "name": "value",
1059
- "type": "tuple"
1060
- }
1061
- ],
1062
- "stateMutability": "view",
1063
- "type": "function"
1064
- },
1065
- {
1066
- "inputs": [],
1067
- "name": "getBundleManager",
1068
- "outputs": [
1069
- {
1070
- "internalType": "contract BundleManager",
1071
- "name": "",
1072
- "type": "address"
1073
- }
1074
- ],
1075
- "stateMutability": "view",
1076
- "type": "function"
1077
- },
1078
- {
1079
- "inputs": [],
1080
- "name": "getBundleService",
1081
- "outputs": [
1082
- {
1083
- "internalType": "contract IBundleService",
1084
- "name": "",
1085
- "type": "address"
1086
- }
1087
- ],
1088
- "stateMutability": "view",
1089
- "type": "function"
1090
- },
1091
- {
1092
- "inputs": [
1093
- {
1094
- "internalType": "Key32",
1095
- "name": "key",
1096
- "type": "bytes32"
1097
- }
1098
- ],
1099
- "name": "getData",
1100
- "outputs": [
1101
- {
1102
- "internalType": "bytes",
1103
- "name": "data",
1104
- "type": "bytes"
1105
- }
1106
- ],
1107
- "stateMutability": "view",
1108
- "type": "function"
1109
- },
1110
- {
1111
- "inputs": [],
1112
- "name": "getDistributionService",
1113
- "outputs": [
1114
- {
1115
- "internalType": "contract IDistributionService",
1116
- "name": "",
1117
- "type": "address"
1118
- }
1119
- ],
1120
- "stateMutability": "view",
1121
- "type": "function"
1122
- },
1123
- {
1124
- "inputs": [],
1125
- "name": "getInitialInfo",
1126
- "outputs": [
1127
- {
1128
- "components": [
1129
- {
1130
- "internalType": "NftId",
1131
- "name": "nftId",
1132
- "type": "uint96"
1133
- },
1134
- {
1135
- "internalType": "NftId",
1136
- "name": "parentNftId",
1137
- "type": "uint96"
1138
- },
1139
- {
1140
- "internalType": "ObjectType",
1141
- "name": "objectType",
1142
- "type": "uint8"
1143
- },
1144
- {
1145
- "internalType": "bool",
1146
- "name": "isInterceptor",
1147
- "type": "bool"
1148
- },
1149
- {
1150
- "internalType": "address",
1151
- "name": "objectAddress",
1152
- "type": "address"
1153
- },
1154
- {
1155
- "internalType": "address",
1156
- "name": "initialOwner",
1157
- "type": "address"
1158
- },
1159
- {
1160
- "internalType": "bytes",
1161
- "name": "data",
1162
- "type": "bytes"
1163
- }
1164
- ],
1165
- "internalType": "struct IRegistry.ObjectInfo",
1166
- "name": "",
1167
- "type": "tuple"
1168
- }
1169
- ],
1170
- "stateMutability": "view",
1171
- "type": "function"
1172
- },
1173
- {
1174
- "inputs": [
1175
- {
1176
- "internalType": "ObjectType",
1177
- "name": "objectType",
1178
- "type": "uint8"
1179
- }
1180
- ],
1181
- "name": "getInitialState",
1182
- "outputs": [
1183
- {
1184
- "internalType": "StateId",
1185
- "name": "",
1186
- "type": "uint8"
1187
- }
1188
- ],
1189
- "stateMutability": "view",
1190
- "type": "function"
1191
- },
1192
- {
1193
- "inputs": [],
1194
- "name": "getInstanceReader",
1195
- "outputs": [
1196
- {
1197
- "internalType": "contract InstanceReader",
1198
- "name": "",
1199
- "type": "address"
1200
- }
1201
- ],
1202
- "stateMutability": "view",
1203
- "type": "function"
1204
- },
1205
- {
1206
- "inputs": [],
1207
- "name": "getMajorVersion",
1208
- "outputs": [
1209
- {
1210
- "internalType": "VersionPart",
1211
- "name": "majorVersion",
1212
- "type": "uint8"
1213
- }
1214
- ],
1215
- "stateMutability": "pure",
1216
- "type": "function"
1217
- },
1218
- {
1219
- "inputs": [
1220
- {
1221
- "internalType": "Key32",
1222
- "name": "key",
1223
- "type": "bytes32"
1224
- }
1225
- ],
1226
- "name": "getMetadata",
1227
- "outputs": [
1228
- {
1229
- "components": [
1230
- {
1231
- "internalType": "ObjectType",
1232
- "name": "objectType",
1233
- "type": "uint8"
1234
- },
1235
- {
1236
- "internalType": "StateId",
1237
- "name": "state",
1238
- "type": "uint8"
1239
- },
1240
- {
1241
- "internalType": "address",
1242
- "name": "updatedBy",
1243
- "type": "address"
1244
- },
1245
- {
1246
- "internalType": "Blocknumber",
1247
- "name": "updatedIn",
1248
- "type": "uint32"
1249
- },
1250
- {
1251
- "internalType": "Blocknumber",
1252
- "name": "createdIn",
1253
- "type": "uint32"
1254
- }
1255
- ],
1256
- "internalType": "struct IKeyValueStore.Metadata",
1257
- "name": "metadata",
1258
- "type": "tuple"
1259
- }
1260
- ],
1261
- "stateMutability": "view",
1262
- "type": "function"
1263
- },
1264
- {
1265
- "inputs": [],
1266
- "name": "getNftId",
1267
- "outputs": [
1268
- {
1269
- "internalType": "NftId",
1270
- "name": "",
1271
- "type": "uint96"
1272
- }
1273
- ],
1274
- "stateMutability": "view",
1275
- "type": "function"
1276
- },
1277
- {
1278
- "inputs": [],
1279
- "name": "getOwner",
1280
- "outputs": [
1281
- {
1282
- "internalType": "address",
1283
- "name": "",
1284
- "type": "address"
1285
- }
1286
- ],
1287
- "stateMutability": "view",
1288
- "type": "function"
1289
- },
1290
- {
1291
- "inputs": [],
1292
- "name": "getPolicyService",
1293
- "outputs": [
1294
- {
1295
- "internalType": "contract IPolicyService",
1296
- "name": "",
1297
- "type": "address"
1298
- }
1299
- ],
1300
- "stateMutability": "view",
1301
- "type": "function"
1302
- },
1303
- {
1304
- "inputs": [],
1305
- "name": "getPoolService",
1306
- "outputs": [
1307
- {
1308
- "internalType": "contract IPoolService",
1309
- "name": "",
1310
- "type": "address"
1311
- }
1312
- ],
1313
- "stateMutability": "view",
1314
- "type": "function"
1315
- },
1316
- {
1317
- "inputs": [],
1318
- "name": "getProductService",
1319
- "outputs": [
1320
- {
1321
- "internalType": "contract IProductService",
1322
- "name": "",
1323
- "type": "address"
1324
- }
1325
- ],
1326
- "stateMutability": "view",
1327
- "type": "function"
1328
- },
1329
- {
1330
- "inputs": [],
1331
- "name": "getRegistry",
1332
- "outputs": [
1333
- {
1334
- "internalType": "contract IRegistry",
1335
- "name": "",
1336
- "type": "address"
1337
- }
1338
- ],
1339
- "stateMutability": "view",
1340
- "type": "function"
1341
- },
1342
- {
1343
- "inputs": [],
1344
- "name": "getRegistryAddress",
1345
- "outputs": [
1346
- {
1347
- "internalType": "address",
1348
- "name": "",
1349
- "type": "address"
1350
- }
1351
- ],
1352
- "stateMutability": "view",
1353
- "type": "function"
1354
- },
1355
- {
1356
- "inputs": [
1357
- {
1358
- "internalType": "Key32",
1359
- "name": "key",
1360
- "type": "bytes32"
1361
- }
1362
- ],
1363
- "name": "getState",
1364
- "outputs": [
1365
- {
1366
- "internalType": "StateId",
1367
- "name": "state",
1368
- "type": "uint8"
1369
- }
1370
- ],
1371
- "stateMutability": "view",
1372
- "type": "function"
1373
- },
1374
- {
1375
- "inputs": [
1376
- {
1377
- "internalType": "ObjectType",
1378
- "name": "objectType",
1379
- "type": "uint8"
1380
- }
1381
- ],
1382
- "name": "hasLifecycle",
1383
- "outputs": [
1384
- {
1385
- "internalType": "bool",
348
+ "internalType": "contract InstanceAccessManager",
1386
349
  "name": "",
1387
- "type": "bool"
350
+ "type": "address"
1388
351
  }
1389
352
  ],
1390
353
  "stateMutability": "view",
@@ -1392,41 +355,25 @@
1392
355
  },
1393
356
  {
1394
357
  "inputs": [],
1395
- "name": "isConsumingScheduledOp",
358
+ "name": "getInstanceReader",
1396
359
  "outputs": [
1397
360
  {
1398
- "internalType": "bytes4",
361
+ "internalType": "contract InstanceReader",
1399
362
  "name": "",
1400
- "type": "bytes4"
363
+ "type": "address"
1401
364
  }
1402
365
  ],
1403
366
  "stateMutability": "view",
1404
367
  "type": "function"
1405
368
  },
1406
369
  {
1407
- "inputs": [
1408
- {
1409
- "internalType": "ObjectType",
1410
- "name": "objectType",
1411
- "type": "uint8"
1412
- },
1413
- {
1414
- "internalType": "StateId",
1415
- "name": "fromId",
1416
- "type": "uint8"
1417
- },
1418
- {
1419
- "internalType": "StateId",
1420
- "name": "toId",
1421
- "type": "uint8"
1422
- }
1423
- ],
1424
- "name": "isValidTransition",
370
+ "inputs": [],
371
+ "name": "getInstanceStore",
1425
372
  "outputs": [
1426
373
  {
1427
- "internalType": "bool",
374
+ "internalType": "contract InstanceStore",
1428
375
  "name": "",
1429
- "type": "bool"
376
+ "type": "address"
1430
377
  }
1431
378
  ],
1432
379
  "stateMutability": "view",
@@ -1434,623 +381,142 @@
1434
381
  },
1435
382
  {
1436
383
  "inputs": [],
1437
- "name": "linkToRegisteredNftId",
1438
- "outputs": [],
1439
- "stateMutability": "nonpayable",
1440
- "type": "function"
1441
- },
1442
- {
1443
- "inputs": [
1444
- {
1445
- "internalType": "address",
1446
- "name": "",
1447
- "type": "address"
1448
- }
1449
- ],
1450
- "name": "setAuthority",
1451
- "outputs": [],
1452
- "stateMutability": "nonpayable",
1453
- "type": "function"
1454
- },
1455
- {
1456
- "inputs": [
1457
- {
1458
- "internalType": "bytes4",
1459
- "name": "interfaceId",
1460
- "type": "bytes4"
1461
- }
1462
- ],
1463
- "name": "supportsInterface",
384
+ "name": "getMajorVersion",
1464
385
  "outputs": [
1465
386
  {
1466
- "internalType": "bool",
1467
- "name": "",
1468
- "type": "bool"
1469
- }
1470
- ],
1471
- "stateMutability": "view",
1472
- "type": "function"
1473
- },
1474
- {
1475
- "inputs": [
1476
- {
1477
- "internalType": "ObjectType",
1478
- "name": "objectType",
387
+ "internalType": "VersionPart",
388
+ "name": "majorVersion",
1479
389
  "type": "uint8"
1480
- },
1481
- {
1482
- "internalType": "KeyId",
1483
- "name": "id",
1484
- "type": "bytes31"
1485
- }
1486
- ],
1487
- "name": "toKey32",
1488
- "outputs": [
1489
- {
1490
- "internalType": "Key32",
1491
- "name": "",
1492
- "type": "bytes32"
1493
390
  }
1494
391
  ],
1495
392
  "stateMutability": "pure",
1496
393
  "type": "function"
1497
394
  },
1498
395
  {
1499
- "inputs": [
1500
- {
1501
- "internalType": "NftId",
1502
- "name": "bundleNftId",
1503
- "type": "uint96"
1504
- },
1505
- {
1506
- "components": [
1507
- {
1508
- "internalType": "NftId",
1509
- "name": "poolNftId",
1510
- "type": "uint96"
1511
- },
1512
- {
1513
- "components": [
1514
- {
1515
- "internalType": "UFixed",
1516
- "name": "fractionalFee",
1517
- "type": "uint256"
1518
- },
1519
- {
1520
- "internalType": "uint256",
1521
- "name": "fixedFee",
1522
- "type": "uint256"
1523
- }
1524
- ],
1525
- "internalType": "struct Fee",
1526
- "name": "fee",
1527
- "type": "tuple"
1528
- },
1529
- {
1530
- "internalType": "bytes",
1531
- "name": "filter",
1532
- "type": "bytes"
1533
- },
1534
- {
1535
- "internalType": "uint256",
1536
- "name": "capitalAmount",
1537
- "type": "uint256"
1538
- },
1539
- {
1540
- "internalType": "uint256",
1541
- "name": "lockedAmount",
1542
- "type": "uint256"
1543
- },
1544
- {
1545
- "internalType": "uint256",
1546
- "name": "balanceAmount",
1547
- "type": "uint256"
1548
- },
1549
- {
1550
- "internalType": "uint256",
1551
- "name": "lifetime",
1552
- "type": "uint256"
1553
- },
1554
- {
1555
- "internalType": "Timestamp",
1556
- "name": "expiredAt",
1557
- "type": "uint40"
1558
- },
1559
- {
1560
- "internalType": "Timestamp",
1561
- "name": "closedAt",
1562
- "type": "uint40"
1563
- }
1564
- ],
1565
- "internalType": "struct IBundle.BundleInfo",
1566
- "name": "bundle",
1567
- "type": "tuple"
1568
- },
1569
- {
1570
- "internalType": "StateId",
1571
- "name": "newState",
1572
- "type": "uint8"
1573
- }
1574
- ],
1575
- "name": "updateBundle",
1576
- "outputs": [],
1577
- "stateMutability": "nonpayable",
1578
- "type": "function"
1579
- },
1580
- {
1581
- "inputs": [
396
+ "inputs": [],
397
+ "name": "getNftId",
398
+ "outputs": [
1582
399
  {
1583
400
  "internalType": "NftId",
1584
- "name": "bundleNftId",
401
+ "name": "",
1585
402
  "type": "uint96"
1586
- },
1587
- {
1588
- "internalType": "StateId",
1589
- "name": "newState",
1590
- "type": "uint8"
1591
403
  }
1592
404
  ],
1593
- "name": "updateBundleState",
1594
- "outputs": [],
1595
- "stateMutability": "nonpayable",
405
+ "stateMutability": "view",
1596
406
  "type": "function"
1597
407
  },
1598
408
  {
1599
- "inputs": [
1600
- {
1601
- "internalType": "NftId",
1602
- "name": "distributionNftId",
1603
- "type": "uint96"
1604
- },
1605
- {
1606
- "components": [
1607
- {
1608
- "internalType": "NftId",
1609
- "name": "productNftId",
1610
- "type": "uint96"
1611
- },
1612
- {
1613
- "internalType": "contract TokenHandler",
1614
- "name": "tokenHandler",
1615
- "type": "address"
1616
- },
1617
- {
1618
- "components": [
1619
- {
1620
- "internalType": "UFixed",
1621
- "name": "fractionalFee",
1622
- "type": "uint256"
1623
- },
1624
- {
1625
- "internalType": "uint256",
1626
- "name": "fixedFee",
1627
- "type": "uint256"
1628
- }
1629
- ],
1630
- "internalType": "struct Fee",
1631
- "name": "distributionFee",
1632
- "type": "tuple"
1633
- },
1634
- {
1635
- "internalType": "address",
1636
- "name": "wallet",
1637
- "type": "address"
1638
- }
1639
- ],
1640
- "internalType": "struct ISetup.DistributionSetupInfo",
1641
- "name": "setup",
1642
- "type": "tuple"
1643
- },
409
+ "inputs": [],
410
+ "name": "getOwner",
411
+ "outputs": [
1644
412
  {
1645
- "internalType": "StateId",
1646
- "name": "newState",
1647
- "type": "uint8"
413
+ "internalType": "address",
414
+ "name": "",
415
+ "type": "address"
1648
416
  }
1649
417
  ],
1650
- "name": "updateDistributionSetup",
1651
- "outputs": [],
1652
- "stateMutability": "nonpayable",
418
+ "stateMutability": "view",
1653
419
  "type": "function"
1654
420
  },
1655
421
  {
1656
- "inputs": [
1657
- {
1658
- "internalType": "NftId",
1659
- "name": "distributionNftId",
1660
- "type": "uint96"
1661
- },
422
+ "inputs": [],
423
+ "name": "getPolicyService",
424
+ "outputs": [
1662
425
  {
1663
- "internalType": "StateId",
1664
- "name": "newState",
1665
- "type": "uint8"
426
+ "internalType": "contract IPolicyService",
427
+ "name": "",
428
+ "type": "address"
1666
429
  }
1667
430
  ],
1668
- "name": "updateDistributionSetupState",
1669
- "outputs": [],
1670
- "stateMutability": "nonpayable",
431
+ "stateMutability": "view",
1671
432
  "type": "function"
1672
433
  },
1673
434
  {
1674
- "inputs": [
1675
- {
1676
- "internalType": "NftId",
1677
- "name": "nftId",
1678
- "type": "uint96"
1679
- },
1680
- {
1681
- "components": [
1682
- {
1683
- "internalType": "DistributorType",
1684
- "name": "distributorType",
1685
- "type": "bytes8"
1686
- },
1687
- {
1688
- "internalType": "bool",
1689
- "name": "active",
1690
- "type": "bool"
1691
- },
1692
- {
1693
- "internalType": "bytes",
1694
- "name": "data",
1695
- "type": "bytes"
1696
- }
1697
- ],
1698
- "internalType": "struct IDistribution.DistributorInfo",
1699
- "name": "info",
1700
- "type": "tuple"
1701
- },
435
+ "inputs": [],
436
+ "name": "getPoolService",
437
+ "outputs": [
1702
438
  {
1703
- "internalType": "StateId",
1704
- "name": "newState",
1705
- "type": "uint8"
439
+ "internalType": "contract IPoolService",
440
+ "name": "",
441
+ "type": "address"
1706
442
  }
1707
443
  ],
1708
- "name": "updateDistributor",
1709
- "outputs": [],
1710
- "stateMutability": "nonpayable",
444
+ "stateMutability": "view",
1711
445
  "type": "function"
1712
446
  },
1713
447
  {
1714
- "inputs": [
1715
- {
1716
- "internalType": "NftId",
1717
- "name": "nftId",
1718
- "type": "uint96"
1719
- },
448
+ "inputs": [],
449
+ "name": "getProductService",
450
+ "outputs": [
1720
451
  {
1721
- "internalType": "StateId",
1722
- "name": "newState",
1723
- "type": "uint8"
452
+ "internalType": "contract IProductService",
453
+ "name": "",
454
+ "type": "address"
1724
455
  }
1725
456
  ],
1726
- "name": "updateDistributorState",
1727
- "outputs": [],
1728
- "stateMutability": "nonpayable",
457
+ "stateMutability": "view",
1729
458
  "type": "function"
1730
459
  },
1731
460
  {
1732
- "inputs": [
1733
- {
1734
- "internalType": "Key32",
1735
- "name": "distributorKey",
1736
- "type": "bytes32"
1737
- },
1738
- {
1739
- "components": [
1740
- {
1741
- "internalType": "string",
1742
- "name": "name",
1743
- "type": "string"
1744
- },
1745
- {
1746
- "internalType": "UFixed",
1747
- "name": "minDiscountPercentage",
1748
- "type": "uint256"
1749
- },
1750
- {
1751
- "internalType": "UFixed",
1752
- "name": "maxDiscountPercentage",
1753
- "type": "uint256"
1754
- },
1755
- {
1756
- "internalType": "UFixed",
1757
- "name": "commissionPercentage",
1758
- "type": "uint256"
1759
- },
1760
- {
1761
- "internalType": "uint32",
1762
- "name": "maxReferralCount",
1763
- "type": "uint32"
1764
- },
1765
- {
1766
- "internalType": "uint32",
1767
- "name": "maxReferralLifetime",
1768
- "type": "uint32"
1769
- },
1770
- {
1771
- "internalType": "bool",
1772
- "name": "allowSelfReferrals",
1773
- "type": "bool"
1774
- },
1775
- {
1776
- "internalType": "bool",
1777
- "name": "allowRenewals",
1778
- "type": "bool"
1779
- },
1780
- {
1781
- "internalType": "bytes",
1782
- "name": "data",
1783
- "type": "bytes"
1784
- }
1785
- ],
1786
- "internalType": "struct IDistribution.DistributorTypeInfo",
1787
- "name": "info",
1788
- "type": "tuple"
1789
- },
461
+ "inputs": [],
462
+ "name": "getRegistry",
463
+ "outputs": [
1790
464
  {
1791
- "internalType": "StateId",
1792
- "name": "newState",
1793
- "type": "uint8"
465
+ "internalType": "contract IRegistry",
466
+ "name": "",
467
+ "type": "address"
1794
468
  }
1795
469
  ],
1796
- "name": "updateDistributorType",
1797
- "outputs": [],
1798
- "stateMutability": "nonpayable",
470
+ "stateMutability": "view",
1799
471
  "type": "function"
1800
472
  },
1801
473
  {
1802
- "inputs": [
1803
- {
1804
- "internalType": "Key32",
1805
- "name": "distributorKey",
1806
- "type": "bytes32"
1807
- },
474
+ "inputs": [],
475
+ "name": "getRegistryAddress",
476
+ "outputs": [
1808
477
  {
1809
- "internalType": "StateId",
1810
- "name": "newState",
1811
- "type": "uint8"
478
+ "internalType": "address",
479
+ "name": "",
480
+ "type": "address"
1812
481
  }
1813
482
  ],
1814
- "name": "updateDistributorTypeState",
1815
- "outputs": [],
1816
- "stateMutability": "nonpayable",
483
+ "stateMutability": "view",
1817
484
  "type": "function"
1818
485
  },
1819
486
  {
1820
487
  "inputs": [
1821
488
  {
1822
- "internalType": "NftId",
1823
- "name": "policyNftId",
1824
- "type": "uint96"
1825
- },
1826
- {
1827
- "components": [
1828
- {
1829
- "internalType": "NftId",
1830
- "name": "productNftId",
1831
- "type": "uint96"
1832
- },
1833
- {
1834
- "internalType": "NftId",
1835
- "name": "bundleNftId",
1836
- "type": "uint96"
1837
- },
1838
- {
1839
- "internalType": "ReferralId",
1840
- "name": "referralId",
1841
- "type": "bytes8"
1842
- },
1843
- {
1844
- "internalType": "RiskId",
1845
- "name": "riskId",
1846
- "type": "bytes8"
1847
- },
1848
- {
1849
- "internalType": "uint256",
1850
- "name": "sumInsuredAmount",
1851
- "type": "uint256"
1852
- },
1853
- {
1854
- "internalType": "uint256",
1855
- "name": "premiumAmount",
1856
- "type": "uint256"
1857
- },
1858
- {
1859
- "internalType": "uint256",
1860
- "name": "premiumPaidAmount",
1861
- "type": "uint256"
1862
- },
1863
- {
1864
- "internalType": "uint256",
1865
- "name": "lifetime",
1866
- "type": "uint256"
1867
- },
1868
- {
1869
- "internalType": "bytes",
1870
- "name": "applicationData",
1871
- "type": "bytes"
1872
- },
1873
- {
1874
- "internalType": "bytes",
1875
- "name": "policyData",
1876
- "type": "bytes"
1877
- },
1878
- {
1879
- "internalType": "uint16",
1880
- "name": "claimsCount",
1881
- "type": "uint16"
1882
- },
1883
- {
1884
- "internalType": "uint16",
1885
- "name": "openClaimsCount",
1886
- "type": "uint16"
1887
- },
1888
- {
1889
- "internalType": "uint256",
1890
- "name": "payoutAmount",
1891
- "type": "uint256"
1892
- },
1893
- {
1894
- "internalType": "Timestamp",
1895
- "name": "activatedAt",
1896
- "type": "uint40"
1897
- },
1898
- {
1899
- "internalType": "Timestamp",
1900
- "name": "expiredAt",
1901
- "type": "uint40"
1902
- },
1903
- {
1904
- "internalType": "Timestamp",
1905
- "name": "closedAt",
1906
- "type": "uint40"
1907
- }
1908
- ],
1909
- "internalType": "struct IPolicy.PolicyInfo",
1910
- "name": "policy",
1911
- "type": "tuple"
489
+ "internalType": "RoleId",
490
+ "name": "roleId",
491
+ "type": "uint64"
1912
492
  },
1913
493
  {
1914
- "internalType": "StateId",
1915
- "name": "newState",
1916
- "type": "uint8"
494
+ "internalType": "address",
495
+ "name": "account",
496
+ "type": "address"
1917
497
  }
1918
498
  ],
1919
- "name": "updatePolicy",
499
+ "name": "grantRole",
1920
500
  "outputs": [],
1921
501
  "stateMutability": "nonpayable",
1922
502
  "type": "function"
1923
503
  },
1924
504
  {
1925
- "inputs": [
1926
- {
1927
- "internalType": "NftId",
1928
- "name": "policyNftId",
1929
- "type": "uint96"
1930
- },
505
+ "inputs": [],
506
+ "name": "isConsumingScheduledOp",
507
+ "outputs": [
1931
508
  {
1932
- "internalType": "StateId",
1933
- "name": "newState",
1934
- "type": "uint8"
509
+ "internalType": "bytes4",
510
+ "name": "",
511
+ "type": "bytes4"
1935
512
  }
1936
513
  ],
1937
- "name": "updatePolicyState",
1938
- "outputs": [],
1939
- "stateMutability": "nonpayable",
514
+ "stateMutability": "view",
1940
515
  "type": "function"
1941
516
  },
1942
517
  {
1943
- "inputs": [
1944
- {
1945
- "internalType": "NftId",
1946
- "name": "poolNftId",
1947
- "type": "uint96"
1948
- },
1949
- {
1950
- "components": [
1951
- {
1952
- "internalType": "NftId",
1953
- "name": "productNftId",
1954
- "type": "uint96"
1955
- },
1956
- {
1957
- "internalType": "contract TokenHandler",
1958
- "name": "tokenHandler",
1959
- "type": "address"
1960
- },
1961
- {
1962
- "internalType": "bool",
1963
- "name": "isInterceptingBundleTransfers",
1964
- "type": "bool"
1965
- },
1966
- {
1967
- "internalType": "bool",
1968
- "name": "isExternallyManaged",
1969
- "type": "bool"
1970
- },
1971
- {
1972
- "internalType": "bool",
1973
- "name": "isVerifyingApplications",
1974
- "type": "bool"
1975
- },
1976
- {
1977
- "internalType": "UFixed",
1978
- "name": "collateralizationLevel",
1979
- "type": "uint256"
1980
- },
1981
- {
1982
- "internalType": "UFixed",
1983
- "name": "retentionLevel",
1984
- "type": "uint256"
1985
- },
1986
- {
1987
- "components": [
1988
- {
1989
- "internalType": "UFixed",
1990
- "name": "fractionalFee",
1991
- "type": "uint256"
1992
- },
1993
- {
1994
- "internalType": "uint256",
1995
- "name": "fixedFee",
1996
- "type": "uint256"
1997
- }
1998
- ],
1999
- "internalType": "struct Fee",
2000
- "name": "poolFee",
2001
- "type": "tuple"
2002
- },
2003
- {
2004
- "components": [
2005
- {
2006
- "internalType": "UFixed",
2007
- "name": "fractionalFee",
2008
- "type": "uint256"
2009
- },
2010
- {
2011
- "internalType": "uint256",
2012
- "name": "fixedFee",
2013
- "type": "uint256"
2014
- }
2015
- ],
2016
- "internalType": "struct Fee",
2017
- "name": "stakingFee",
2018
- "type": "tuple"
2019
- },
2020
- {
2021
- "components": [
2022
- {
2023
- "internalType": "UFixed",
2024
- "name": "fractionalFee",
2025
- "type": "uint256"
2026
- },
2027
- {
2028
- "internalType": "uint256",
2029
- "name": "fixedFee",
2030
- "type": "uint256"
2031
- }
2032
- ],
2033
- "internalType": "struct Fee",
2034
- "name": "performanceFee",
2035
- "type": "tuple"
2036
- },
2037
- {
2038
- "internalType": "address",
2039
- "name": "wallet",
2040
- "type": "address"
2041
- }
2042
- ],
2043
- "internalType": "struct ISetup.PoolSetupInfo",
2044
- "name": "setup",
2045
- "type": "tuple"
2046
- },
2047
- {
2048
- "internalType": "StateId",
2049
- "name": "newState",
2050
- "type": "uint8"
2051
- }
2052
- ],
2053
- "name": "updatePoolSetup",
518
+ "inputs": [],
519
+ "name": "linkToRegisteredNftId",
2054
520
  "outputs": [],
2055
521
  "stateMutability": "nonpayable",
2056
522
  "type": "function"
@@ -2058,17 +524,17 @@
2058
524
  {
2059
525
  "inputs": [
2060
526
  {
2061
- "internalType": "NftId",
2062
- "name": "poolNftId",
2063
- "type": "uint96"
527
+ "internalType": "address",
528
+ "name": "to",
529
+ "type": "address"
2064
530
  },
2065
531
  {
2066
- "internalType": "StateId",
2067
- "name": "newState",
2068
- "type": "uint8"
532
+ "internalType": "uint256",
533
+ "name": "tokenId",
534
+ "type": "uint256"
2069
535
  }
2070
536
  ],
2071
- "name": "updatePoolSetupState",
537
+ "name": "nftMint",
2072
538
  "outputs": [],
2073
539
  "stateMutability": "nonpayable",
2074
540
  "type": "function"
@@ -2076,156 +542,22 @@
2076
542
  {
2077
543
  "inputs": [
2078
544
  {
2079
- "internalType": "NftId",
2080
- "name": "productNftId",
2081
- "type": "uint96"
545
+ "internalType": "address",
546
+ "name": "from",
547
+ "type": "address"
2082
548
  },
2083
549
  {
2084
- "components": [
2085
- {
2086
- "internalType": "contract IERC20Metadata",
2087
- "name": "token",
2088
- "type": "address"
2089
- },
2090
- {
2091
- "internalType": "contract TokenHandler",
2092
- "name": "tokenHandler",
2093
- "type": "address"
2094
- },
2095
- {
2096
- "internalType": "NftId",
2097
- "name": "distributionNftId",
2098
- "type": "uint96"
2099
- },
2100
- {
2101
- "internalType": "NftId",
2102
- "name": "poolNftId",
2103
- "type": "uint96"
2104
- },
2105
- {
2106
- "components": [
2107
- {
2108
- "internalType": "UFixed",
2109
- "name": "fractionalFee",
2110
- "type": "uint256"
2111
- },
2112
- {
2113
- "internalType": "uint256",
2114
- "name": "fixedFee",
2115
- "type": "uint256"
2116
- }
2117
- ],
2118
- "internalType": "struct Fee",
2119
- "name": "distributionFee",
2120
- "type": "tuple"
2121
- },
2122
- {
2123
- "components": [
2124
- {
2125
- "internalType": "UFixed",
2126
- "name": "fractionalFee",
2127
- "type": "uint256"
2128
- },
2129
- {
2130
- "internalType": "uint256",
2131
- "name": "fixedFee",
2132
- "type": "uint256"
2133
- }
2134
- ],
2135
- "internalType": "struct Fee",
2136
- "name": "productFee",
2137
- "type": "tuple"
2138
- },
2139
- {
2140
- "components": [
2141
- {
2142
- "internalType": "UFixed",
2143
- "name": "fractionalFee",
2144
- "type": "uint256"
2145
- },
2146
- {
2147
- "internalType": "uint256",
2148
- "name": "fixedFee",
2149
- "type": "uint256"
2150
- }
2151
- ],
2152
- "internalType": "struct Fee",
2153
- "name": "processingFee",
2154
- "type": "tuple"
2155
- },
2156
- {
2157
- "components": [
2158
- {
2159
- "internalType": "UFixed",
2160
- "name": "fractionalFee",
2161
- "type": "uint256"
2162
- },
2163
- {
2164
- "internalType": "uint256",
2165
- "name": "fixedFee",
2166
- "type": "uint256"
2167
- }
2168
- ],
2169
- "internalType": "struct Fee",
2170
- "name": "poolFee",
2171
- "type": "tuple"
2172
- },
2173
- {
2174
- "components": [
2175
- {
2176
- "internalType": "UFixed",
2177
- "name": "fractionalFee",
2178
- "type": "uint256"
2179
- },
2180
- {
2181
- "internalType": "uint256",
2182
- "name": "fixedFee",
2183
- "type": "uint256"
2184
- }
2185
- ],
2186
- "internalType": "struct Fee",
2187
- "name": "stakingFee",
2188
- "type": "tuple"
2189
- },
2190
- {
2191
- "components": [
2192
- {
2193
- "internalType": "UFixed",
2194
- "name": "fractionalFee",
2195
- "type": "uint256"
2196
- },
2197
- {
2198
- "internalType": "uint256",
2199
- "name": "fixedFee",
2200
- "type": "uint256"
2201
- }
2202
- ],
2203
- "internalType": "struct Fee",
2204
- "name": "performanceFee",
2205
- "type": "tuple"
2206
- },
2207
- {
2208
- "internalType": "bool",
2209
- "name": "isIntercepting",
2210
- "type": "bool"
2211
- },
2212
- {
2213
- "internalType": "address",
2214
- "name": "wallet",
2215
- "type": "address"
2216
- }
2217
- ],
2218
- "internalType": "struct ISetup.ProductSetupInfo",
2219
- "name": "setup",
2220
- "type": "tuple"
550
+ "internalType": "address",
551
+ "name": "to",
552
+ "type": "address"
2221
553
  },
2222
554
  {
2223
- "internalType": "StateId",
2224
- "name": "newState",
2225
- "type": "uint8"
555
+ "internalType": "uint256",
556
+ "name": "tokenId",
557
+ "type": "uint256"
2226
558
  }
2227
559
  ],
2228
- "name": "updateProductSetup",
560
+ "name": "nftTransferFrom",
2229
561
  "outputs": [],
2230
562
  "stateMutability": "nonpayable",
2231
563
  "type": "function"
@@ -2233,17 +565,17 @@
2233
565
  {
2234
566
  "inputs": [
2235
567
  {
2236
- "internalType": "NftId",
2237
- "name": "productNftId",
2238
- "type": "uint96"
568
+ "internalType": "RoleId",
569
+ "name": "roleId",
570
+ "type": "uint64"
2239
571
  },
2240
572
  {
2241
- "internalType": "StateId",
2242
- "name": "newState",
2243
- "type": "uint8"
573
+ "internalType": "address",
574
+ "name": "account",
575
+ "type": "address"
2244
576
  }
2245
577
  ],
2246
- "name": "updateProductSetupState",
578
+ "name": "revokeRole",
2247
579
  "outputs": [],
2248
580
  "stateMutability": "nonpayable",
2249
581
  "type": "function"
@@ -2251,59 +583,12 @@
2251
583
  {
2252
584
  "inputs": [
2253
585
  {
2254
- "internalType": "Key32",
2255
- "name": "referralKey",
2256
- "type": "bytes32"
2257
- },
2258
- {
2259
- "components": [
2260
- {
2261
- "internalType": "NftId",
2262
- "name": "distributorNftId",
2263
- "type": "uint96"
2264
- },
2265
- {
2266
- "internalType": "string",
2267
- "name": "referralCode",
2268
- "type": "string"
2269
- },
2270
- {
2271
- "internalType": "UFixed",
2272
- "name": "discountPercentage",
2273
- "type": "uint256"
2274
- },
2275
- {
2276
- "internalType": "uint32",
2277
- "name": "maxReferrals",
2278
- "type": "uint32"
2279
- },
2280
- {
2281
- "internalType": "uint32",
2282
- "name": "usedReferrals",
2283
- "type": "uint32"
2284
- },
2285
- {
2286
- "internalType": "Timestamp",
2287
- "name": "expiryAt",
2288
- "type": "uint40"
2289
- },
2290
- {
2291
- "internalType": "bytes",
2292
- "name": "data",
2293
- "type": "bytes"
2294
- }
2295
- ],
2296
- "internalType": "struct IDistribution.ReferralInfo",
2297
- "name": "referralInfo",
2298
- "type": "tuple"
2299
- },
2300
- {
2301
- "internalType": "StateId",
2302
- "name": "newState",
2303
- "type": "uint8"
586
+ "internalType": "address",
587
+ "name": "",
588
+ "type": "address"
2304
589
  }
2305
590
  ],
2306
- "name": "updateReferral",
591
+ "name": "setAuthority",
2307
592
  "outputs": [],
2308
593
  "stateMutability": "nonpayable",
2309
594
  "type": "function"
@@ -2311,17 +596,22 @@
2311
596
  {
2312
597
  "inputs": [
2313
598
  {
2314
- "internalType": "Key32",
2315
- "name": "referralKey",
2316
- "type": "bytes32"
599
+ "internalType": "string",
600
+ "name": "targetName",
601
+ "type": "string"
2317
602
  },
2318
603
  {
2319
- "internalType": "StateId",
2320
- "name": "newState",
2321
- "type": "uint8"
604
+ "internalType": "bytes4[]",
605
+ "name": "selectors",
606
+ "type": "bytes4[]"
607
+ },
608
+ {
609
+ "internalType": "RoleId",
610
+ "name": "roleId",
611
+ "type": "uint64"
2322
612
  }
2323
613
  ],
2324
- "name": "updateReferralState",
614
+ "name": "setTargetFunctionRole",
2325
615
  "outputs": [],
2326
616
  "stateMutability": "nonpayable",
2327
617
  "type": "function"
@@ -2329,34 +619,17 @@
2329
619
  {
2330
620
  "inputs": [
2331
621
  {
2332
- "internalType": "RiskId",
2333
- "name": "riskId",
2334
- "type": "bytes8"
2335
- },
2336
- {
2337
- "components": [
2338
- {
2339
- "internalType": "NftId",
2340
- "name": "productNftId",
2341
- "type": "uint96"
2342
- },
2343
- {
2344
- "internalType": "bytes",
2345
- "name": "data",
2346
- "type": "bytes"
2347
- }
2348
- ],
2349
- "internalType": "struct IRisk.RiskInfo",
2350
- "name": "risk",
2351
- "type": "tuple"
622
+ "internalType": "address",
623
+ "name": "target",
624
+ "type": "address"
2352
625
  },
2353
626
  {
2354
- "internalType": "StateId",
2355
- "name": "newState",
2356
- "type": "uint8"
627
+ "internalType": "bool",
628
+ "name": "locked",
629
+ "type": "bool"
2357
630
  }
2358
631
  ],
2359
- "name": "updateRisk",
632
+ "name": "setTargetLocked",
2360
633
  "outputs": [],
2361
634
  "stateMutability": "nonpayable",
2362
635
  "type": "function"
@@ -2364,19 +637,20 @@
2364
637
  {
2365
638
  "inputs": [
2366
639
  {
2367
- "internalType": "RiskId",
2368
- "name": "riskId",
2369
- "type": "bytes8"
2370
- },
640
+ "internalType": "bytes4",
641
+ "name": "interfaceId",
642
+ "type": "bytes4"
643
+ }
644
+ ],
645
+ "name": "supportsInterface",
646
+ "outputs": [
2371
647
  {
2372
- "internalType": "StateId",
2373
- "name": "newState",
2374
- "type": "uint8"
648
+ "internalType": "bool",
649
+ "name": "",
650
+ "type": "bool"
2375
651
  }
2376
652
  ],
2377
- "name": "updateRiskState",
2378
- "outputs": [],
2379
- "stateMutability": "nonpayable",
653
+ "stateMutability": "view",
2380
654
  "type": "function"
2381
655
  }
2382
656
  ],