@etherisc/gif-next 0.0.2-bfb44e0-483 → 0.0.2-c00cf5d-513

Sign up to get free protection for your applications and to get access to all the features.
Files changed (506) hide show
  1. package/README.md +8 -84
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +206 -244
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1583 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +855 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +206 -156
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +380 -196
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +68 -54
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +277 -1998
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +172 -230
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +389 -2735
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +692 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +188 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +443 -255
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +217 -479
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +246 -129
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2847 -0
  32. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  33. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  34. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
  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 +93 -14
  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 +1 -1
  44. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  45. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  48. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  53. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  54. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1307 -0
  55. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  56. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +767 -0
  57. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  58. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +273 -336
  59. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  60. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +386 -185
  61. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  62. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1077 -0
  63. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  64. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +363 -303
  65. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  66. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1649 -0
  67. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  68. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +783 -0
  69. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  70. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +937 -0
  71. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  72. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +719 -0
  73. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  74. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1405 -0
  75. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  76. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +819 -0
  77. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  78. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +109 -254
  79. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  80. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  81. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  82. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +174 -307
  83. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  84. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +235 -237
  85. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  86. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +212 -164
  87. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  88. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +67 -174
  89. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1300 -0
  91. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  92. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +811 -0
  93. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  94. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1023 -0
  95. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  96. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +759 -0
  97. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  98. package/artifacts/contracts/{components → product}/Product.sol/Product.json +166 -239
  99. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  100. package/artifacts/contracts/product/ProductService.sol/ProductService.json +891 -0
  101. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  102. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +715 -0
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  104. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  106. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +123 -19
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  108. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +212 -240
  109. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  110. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  111. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  112. package/artifacts/contracts/registry/Registry.sol/Registry.json +146 -34
  113. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  114. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +292 -0
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  116. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +245 -314
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +240 -123
  119. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  120. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +597 -86
  121. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  122. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +44 -92
  123. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  124. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  125. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  126. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  127. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  128. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  129. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  130. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  131. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  132. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  133. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  134. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +146 -151
  135. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  136. package/artifacts/contracts/{instance/base → shared}/ComponentService.sol/ComponentService.json +118 -222
  137. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  138. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  139. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  140. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  141. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  142. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  143. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  144. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +190 -74
  145. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  146. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +4 -43
  147. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  148. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +69 -9
  149. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  150. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +4 -43
  151. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  152. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -34
  153. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  154. package/artifacts/contracts/shared/IService.sol/IService.json +66 -173
  155. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -150
  157. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  158. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +19 -91
  159. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  160. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +80 -47
  161. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  162. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +226 -95
  163. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  164. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +32 -89
  165. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  166. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -36
  167. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  168. package/artifacts/contracts/shared/Service.sol/Service.json +92 -212
  169. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  170. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
  171. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  172. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  173. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  174. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -150
  175. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  176. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +523 -0
  177. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  178. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +786 -0
  179. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  180. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +699 -0
  181. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  182. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  183. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  184. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  185. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  186. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
  187. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  188. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  189. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  190. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  191. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  192. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  193. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  194. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  195. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  196. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +166 -0
  197. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  198. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  199. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  200. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  201. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  202. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  203. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  204. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  205. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  206. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  207. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  208. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  209. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  210. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -0
  211. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  212. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  213. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  214. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  215. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  216. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  217. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  218. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  219. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  220. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  221. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  222. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  223. package/contracts/{components → distribution}/Distribution.sol +47 -60
  224. package/contracts/distribution/DistributionService.sol +351 -0
  225. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  226. package/contracts/{components → distribution}/IDistributionComponent.sol +8 -37
  227. package/contracts/distribution/IDistributionService.sol +87 -0
  228. package/contracts/instance/BundleManager.sol +15 -14
  229. package/contracts/instance/IInstance.sol +52 -59
  230. package/contracts/instance/IInstanceService.sol +32 -19
  231. package/contracts/instance/Instance.sol +138 -185
  232. package/contracts/instance/InstanceAdmin.sol +330 -0
  233. package/contracts/instance/InstanceAuthorizationsLib.sol +320 -0
  234. package/contracts/instance/InstanceReader.sol +101 -26
  235. package/contracts/instance/InstanceService.sol +173 -307
  236. package/contracts/instance/InstanceServiceManager.sol +12 -22
  237. package/contracts/instance/InstanceStore.sol +211 -0
  238. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  239. package/contracts/instance/base/IKeyValueStore.sol +14 -10
  240. package/contracts/instance/base/ILifecycle.sol +3 -3
  241. package/contracts/instance/base/KeyValueStore.sol +44 -47
  242. package/contracts/instance/base/Lifecycle.sol +28 -7
  243. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +12 -14
  244. package/contracts/instance/module/IAccess.sol +19 -20
  245. package/contracts/instance/module/IBundle.sol +11 -8
  246. package/contracts/instance/module/IComponents.sol +41 -0
  247. package/contracts/instance/module/IDistribution.sol +7 -4
  248. package/contracts/instance/module/IPolicy.sol +50 -17
  249. package/contracts/instance/module/IRisk.sol +1 -1
  250. package/contracts/instance/module/ISetup.sol +9 -23
  251. package/contracts/instance/module/ITreasury.sol +2 -2
  252. package/contracts/pool/BundleService.sol +384 -0
  253. package/contracts/pool/BundleServiceManager.sol +42 -0
  254. package/contracts/pool/IBundleService.sol +118 -0
  255. package/contracts/pool/IPoolComponent.sol +114 -0
  256. package/contracts/pool/IPoolService.sol +114 -0
  257. package/contracts/pool/Pool.sol +302 -0
  258. package/contracts/pool/PoolService.sol +404 -0
  259. package/contracts/pool/PoolServiceManager.sol +42 -0
  260. package/contracts/product/ApplicationService.sol +187 -0
  261. package/contracts/product/ApplicationServiceManager.sol +38 -0
  262. package/contracts/product/ClaimService.sol +443 -0
  263. package/contracts/product/ClaimServiceManager.sol +38 -0
  264. package/contracts/{instance/service → product}/IApplicationService.sol +16 -36
  265. package/contracts/product/IClaimService.sol +93 -0
  266. package/contracts/product/IPolicyService.sol +80 -0
  267. package/contracts/product/IPricingService.sol +37 -0
  268. package/contracts/{components → product}/IProductComponent.sol +13 -11
  269. package/contracts/{instance/service → product}/IProductService.sol +10 -10
  270. package/contracts/product/PolicyService.sol +378 -0
  271. package/contracts/product/PolicyServiceManager.sol +42 -0
  272. package/contracts/product/PricingService.sol +276 -0
  273. package/contracts/product/PricingServiceManager.sol +42 -0
  274. package/contracts/{components → product}/Product.sol +186 -85
  275. package/contracts/product/ProductService.sol +212 -0
  276. package/contracts/product/ProductServiceManager.sol +42 -0
  277. package/contracts/registry/ChainNft.sol +8 -0
  278. package/contracts/registry/IRegistry.sol +31 -17
  279. package/contracts/registry/IRegistryService.sol +32 -38
  280. package/contracts/registry/ITransferInterceptor.sol +1 -0
  281. package/contracts/registry/Registry.sol +70 -67
  282. package/contracts/registry/RegistryAdmin.sol +141 -0
  283. package/contracts/registry/RegistryService.sol +65 -94
  284. package/contracts/registry/RegistryServiceManager.sol +22 -24
  285. package/contracts/registry/ReleaseManager.sol +318 -188
  286. package/contracts/registry/TokenRegistry.sol +19 -14
  287. package/contracts/shared/AccessManagerCustom.sol +736 -0
  288. package/contracts/shared/AccessManagerExtended.sol +469 -0
  289. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  290. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  291. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  292. package/contracts/{components → shared}/Component.sol +121 -86
  293. package/contracts/shared/ComponentService.sol +142 -0
  294. package/contracts/shared/ERC165.sol +2 -1
  295. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  296. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  297. package/contracts/shared/IComponent.sol +90 -0
  298. package/contracts/shared/INftOwnable.sol +5 -10
  299. package/contracts/shared/IPolicyHolder.sol +24 -10
  300. package/contracts/shared/IRegistryLinked.sol +0 -4
  301. package/contracts/shared/IService.sol +6 -4
  302. package/contracts/shared/IVersionable.sol +5 -48
  303. package/contracts/shared/NftOwnable.sol +20 -93
  304. package/contracts/shared/PolicyHolder.sol +31 -18
  305. package/contracts/shared/ProxyManager.sol +129 -24
  306. package/contracts/shared/Registerable.sol +14 -20
  307. package/contracts/shared/RegistryLinked.sol +5 -26
  308. package/contracts/shared/Service.sol +30 -18
  309. package/contracts/shared/TokenHandler.sol +14 -6
  310. package/contracts/shared/Versionable.sol +1 -90
  311. package/contracts/staking/IStakingService.sol +102 -0
  312. package/contracts/staking/StakingService.sol +169 -0
  313. package/contracts/staking/StakingServiceManager.sol +40 -0
  314. package/contracts/type/Amount.sol +109 -0
  315. package/contracts/{types → type}/Blocknumber.sol +1 -0
  316. package/contracts/type/ClaimId.sol +75 -0
  317. package/contracts/{types → type}/Fee.sol +17 -8
  318. package/contracts/{types → type}/NftId.sol +8 -0
  319. package/contracts/{types → type}/NftIdSet.sol +1 -1
  320. package/contracts/{types → type}/ObjectType.sol +13 -7
  321. package/contracts/type/PayoutId.sol +82 -0
  322. package/contracts/{types → type}/Referral.sol +4 -0
  323. package/contracts/{types → type}/RoleId.sol +62 -13
  324. package/contracts/type/Seconds.sol +54 -0
  325. package/contracts/{types → type}/StateId.sol +7 -2
  326. package/contracts/{types → type}/Timestamp.sol +18 -13
  327. package/contracts/{types → type}/UFixed.sol +1 -0
  328. package/contracts/{types → type}/Version.sol +1 -0
  329. package/package.json +1 -1
  330. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  331. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  332. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  333. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  334. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  335. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  336. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  337. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  338. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  339. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  340. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  341. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  342. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  343. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  344. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  345. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  346. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  347. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  348. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  349. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  350. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  351. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  352. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  353. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  354. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  355. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  356. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  357. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  358. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  359. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  360. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  361. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  362. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  363. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  364. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  365. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  366. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  367. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  368. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  369. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  370. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  371. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  372. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  373. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  374. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  375. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  376. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  377. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  378. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  379. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  380. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  381. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  382. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  383. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  384. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  385. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1117
  386. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  387. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1318
  388. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  389. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -586
  390. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  391. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1176
  392. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  393. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -602
  394. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  395. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  396. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  397. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  398. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  399. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  400. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  401. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1378
  402. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  403. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -642
  404. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  405. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -957
  406. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  407. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -574
  408. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  409. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1007
  410. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  411. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -574
  412. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  413. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  414. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  415. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  416. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  417. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  418. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  419. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -446
  420. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  421. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  422. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  423. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -759
  424. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  425. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  426. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  427. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  428. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  429. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  430. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  431. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  432. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  433. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  434. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  435. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  436. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  437. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  438. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  439. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  440. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  441. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  442. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  443. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  444. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  445. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  446. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  447. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  448. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  449. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  450. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  451. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  452. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  453. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  454. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  455. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  456. package/contracts/components/IComponent.sol +0 -50
  457. package/contracts/components/IPoolComponent.sol +0 -87
  458. package/contracts/components/Pool.sol +0 -254
  459. package/contracts/experiment/cloning/Cloner.sol +0 -47
  460. package/contracts/experiment/errors/Require.sol +0 -38
  461. package/contracts/experiment/errors/Revert.sol +0 -44
  462. package/contracts/experiment/inheritance/A.sol +0 -53
  463. package/contracts/experiment/inheritance/B.sol +0 -28
  464. package/contracts/experiment/inheritance/C.sol +0 -34
  465. package/contracts/experiment/inheritance/IA.sol +0 -13
  466. package/contracts/experiment/inheritance/IB.sol +0 -10
  467. package/contracts/experiment/inheritance/IC.sol +0 -12
  468. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  469. package/contracts/experiment/statemachine/ISM.sol +0 -25
  470. package/contracts/experiment/statemachine/SM.sol +0 -57
  471. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  472. package/contracts/experiment/types/TypeA.sol +0 -47
  473. package/contracts/experiment/types/TypeB.sol +0 -29
  474. package/contracts/instance/InstanceAccessManager.sol +0 -297
  475. package/contracts/instance/base/ComponentService.sol +0 -134
  476. package/contracts/instance/service/ApplicationService.sol +0 -268
  477. package/contracts/instance/service/BundleService.sol +0 -298
  478. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  479. package/contracts/instance/service/DistributionService.sol +0 -274
  480. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  481. package/contracts/instance/service/IBundleService.sol +0 -54
  482. package/contracts/instance/service/IDistributionService.sol +0 -65
  483. package/contracts/instance/service/IPolicyService.sol +0 -88
  484. package/contracts/instance/service/IPoolService.sol +0 -20
  485. package/contracts/instance/service/PolicyService.sol +0 -524
  486. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  487. package/contracts/instance/service/PoolService.sol +0 -109
  488. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  489. package/contracts/instance/service/ProductService.sol +0 -233
  490. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  491. package/contracts/registry/RegistryAccessManager.sol +0 -216
  492. package/contracts/shared/ContractDeployerLib.sol +0 -72
  493. package/contracts/test/TestFee.sol +0 -25
  494. package/contracts/test/TestRegisterable.sol +0 -18
  495. package/contracts/test/TestRoleId.sol +0 -14
  496. package/contracts/test/TestService.sol +0 -25
  497. package/contracts/test/TestToken.sol +0 -26
  498. package/contracts/test/TestVersion.sol +0 -44
  499. package/contracts/test/TestVersionable.sol +0 -17
  500. package/contracts/test/Usdc.sol +0 -26
  501. package/contracts/types/ChainId.sol +0 -38
  502. package/contracts/types/NumberId.sol +0 -52
  503. /package/contracts/{types → type}/AddressSet.sol +0 -0
  504. /package/contracts/{types → type}/DistributorType.sol +0 -0
  505. /package/contracts/{types → type}/Key32.sol +0 -0
  506. /package/contracts/{types → type}/RiskId.sol +0 -0
@@ -45,262 +45,223 @@
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": "InstanceAdmin",
82
+ "type": "address"
92
83
  }
93
84
  ],
94
- "name": "ErrorInvalidStateTransition",
85
+ "name": "ErrorInstanceInstanceAdminAlreadySet",
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": "ErrorInstanceInstanceAdminAuthorityMismatch",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "ErrorInstanceInstanceAdminZero",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [
104
106
  {
105
- "internalType": "ObjectType",
106
- "name": "objectType",
107
- "type": "uint8"
107
+ "internalType": "address",
108
+ "name": "instanceAuthority",
109
+ "type": "address"
108
110
  }
109
111
  ],
110
- "name": "ErrorNoLifecycle",
112
+ "name": "ErrorInstanceInstanceReaderInstanceMismatch",
111
113
  "type": "error"
112
114
  },
113
115
  {
114
116
  "inputs": [
115
117
  {
116
118
  "internalType": "address",
117
- "name": "account",
119
+ "name": "instanceStore",
118
120
  "type": "address"
119
121
  }
120
122
  ],
121
- "name": "ErrorNotOwner",
123
+ "name": "ErrorInstanceInstanceStoreAlreadySet",
122
124
  "type": "error"
123
125
  },
124
126
  {
125
127
  "inputs": [
126
128
  {
127
129
  "internalType": "address",
128
- "name": "registryAddress",
130
+ "name": "instanceAuthority",
129
131
  "type": "address"
130
132
  }
131
133
  ],
132
- "name": "ErrorNotRegistry",
134
+ "name": "ErrorInstanceInstanceStoreAuthorityMismatch",
133
135
  "type": "error"
134
136
  },
135
137
  {
136
- "inputs": [],
137
- "name": "ErrorRegistryAddressZero",
138
+ "inputs": [
139
+ {
140
+ "internalType": "NftId",
141
+ "name": "nftId",
142
+ "type": "uint96"
143
+ }
144
+ ],
145
+ "name": "ErrorNftOwnableAlreadyLinked",
138
146
  "type": "error"
139
147
  },
140
148
  {
141
149
  "inputs": [
142
150
  {
143
151
  "internalType": "address",
144
- "name": "registry",
152
+ "name": "contractAddress",
145
153
  "type": "address"
146
154
  }
147
155
  ],
148
- "name": "ErrorRegistryAlreadyInitialized",
156
+ "name": "ErrorNftOwnableContractNotRegistered",
149
157
  "type": "error"
150
158
  },
151
159
  {
152
160
  "inputs": [],
153
- "name": "ErrorRegistryNotInitialized",
161
+ "name": "ErrorNftOwnableInitialOwnerZero",
154
162
  "type": "error"
155
163
  },
156
164
  {
157
- "anonymous": false,
158
165
  "inputs": [
159
166
  {
160
- "indexed": false,
161
167
  "internalType": "address",
162
- "name": "authority",
168
+ "name": "account",
163
169
  "type": "address"
164
170
  }
165
171
  ],
166
- "name": "AuthorityUpdated",
167
- "type": "event"
172
+ "name": "ErrorNftOwnableNotOwner",
173
+ "type": "error"
168
174
  },
169
175
  {
170
- "anonymous": false,
171
176
  "inputs": [
172
177
  {
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
178
  "internalType": "address",
199
- "name": "txOrigin",
179
+ "name": "registryAddress",
200
180
  "type": "address"
201
181
  }
202
182
  ],
203
- "name": "LogInfoCreated",
204
- "type": "event"
183
+ "name": "ErrorNotRegistry",
184
+ "type": "error"
205
185
  },
206
186
  {
207
187
  "anonymous": false,
208
188
  "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
189
  {
228
190
  "indexed": false,
229
191
  "internalType": "address",
230
- "name": "updatedBy",
192
+ "name": "authority",
231
193
  "type": "address"
232
- },
194
+ }
195
+ ],
196
+ "name": "AuthorityUpdated",
197
+ "type": "event"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "authority",
202
+ "outputs": [
233
203
  {
234
- "indexed": false,
235
204
  "internalType": "address",
236
- "name": "txOrigin",
205
+ "name": "",
237
206
  "type": "address"
238
- },
239
- {
240
- "indexed": false,
241
- "internalType": "Blocknumber",
242
- "name": "lastUpdatedIn",
243
- "type": "uint32"
244
207
  }
245
208
  ],
246
- "name": "LogInfoUpdated",
247
- "type": "event"
209
+ "stateMutability": "view",
210
+ "type": "function"
248
211
  },
249
212
  {
250
- "anonymous": false,
251
213
  "inputs": [
252
214
  {
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"
215
+ "internalType": "string",
216
+ "name": "roleName",
217
+ "type": "string"
263
218
  },
264
219
  {
265
- "indexed": false,
266
- "internalType": "StateId",
267
- "name": "stateOld",
268
- "type": "uint8"
269
- },
220
+ "internalType": "string",
221
+ "name": "adminName",
222
+ "type": "string"
223
+ }
224
+ ],
225
+ "name": "createRole",
226
+ "outputs": [
270
227
  {
271
- "indexed": false,
272
- "internalType": "StateId",
273
- "name": "stateNew",
274
- "type": "uint8"
228
+ "internalType": "RoleId",
229
+ "name": "roleId",
230
+ "type": "uint64"
275
231
  },
276
232
  {
277
- "indexed": false,
278
- "internalType": "address",
279
- "name": "updatedBy",
280
- "type": "address"
281
- },
233
+ "internalType": "RoleId",
234
+ "name": "admin",
235
+ "type": "uint64"
236
+ }
237
+ ],
238
+ "stateMutability": "nonpayable",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [
282
243
  {
283
- "indexed": false,
284
244
  "internalType": "address",
285
- "name": "txOrigin",
245
+ "name": "target",
286
246
  "type": "address"
287
247
  },
288
248
  {
289
- "indexed": false,
290
- "internalType": "Blocknumber",
291
- "name": "lastUpdatedIn",
292
- "type": "uint32"
249
+ "internalType": "string",
250
+ "name": "name",
251
+ "type": "string"
293
252
  }
294
253
  ],
295
- "name": "LogStateUpdated",
296
- "type": "event"
254
+ "name": "createTarget",
255
+ "outputs": [],
256
+ "stateMutability": "nonpayable",
257
+ "type": "function"
297
258
  },
298
259
  {
299
260
  "inputs": [],
300
- "name": "authority",
261
+ "name": "getBundleManager",
301
262
  "outputs": [
302
263
  {
303
- "internalType": "address",
264
+ "internalType": "contract BundleManager",
304
265
  "name": "",
305
266
  "type": "address"
306
267
  }
@@ -309,152 +270,66 @@
309
270
  "type": "function"
310
271
  },
311
272
  {
312
- "inputs": [
313
- {
314
- "internalType": "NftId",
315
- "name": "bundleNftId",
316
- "type": "uint96"
317
- },
273
+ "inputs": [],
274
+ "name": "getBundleService",
275
+ "outputs": [
318
276
  {
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"
277
+ "internalType": "contract IBundleService",
278
+ "name": "",
279
+ "type": "address"
381
280
  }
382
281
  ],
383
- "name": "createBundle",
384
- "outputs": [],
385
- "stateMutability": "nonpayable",
282
+ "stateMutability": "view",
386
283
  "type": "function"
387
284
  },
388
285
  {
389
- "inputs": [
286
+ "inputs": [],
287
+ "name": "getDistributionService",
288
+ "outputs": [
390
289
  {
391
- "internalType": "NftId",
392
- "name": "distributionNftId",
393
- "type": "uint96"
394
- },
290
+ "internalType": "contract IDistributionService",
291
+ "name": "",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "stateMutability": "view",
296
+ "type": "function"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "getInitialInfo",
301
+ "outputs": [
395
302
  {
396
303
  "components": [
397
304
  {
398
305
  "internalType": "NftId",
399
- "name": "productNftId",
306
+ "name": "nftId",
307
+ "type": "uint96"
308
+ },
309
+ {
310
+ "internalType": "NftId",
311
+ "name": "parentNftId",
400
312
  "type": "uint96"
401
313
  },
402
314
  {
403
- "internalType": "contract TokenHandler",
404
- "name": "tokenHandler",
405
- "type": "address"
315
+ "internalType": "ObjectType",
316
+ "name": "objectType",
317
+ "type": "uint8"
406
318
  },
407
319
  {
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"
320
+ "internalType": "bool",
321
+ "name": "isInterceptor",
322
+ "type": "bool"
423
323
  },
424
324
  {
425
325
  "internalType": "address",
426
- "name": "wallet",
326
+ "name": "objectAddress",
427
327
  "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
328
  },
454
329
  {
455
- "internalType": "bool",
456
- "name": "active",
457
- "type": "bool"
330
+ "internalType": "address",
331
+ "name": "initialOwner",
332
+ "type": "address"
458
333
  },
459
334
  {
460
335
  "internalType": "bytes",
@@ -462,929 +337,22 @@
462
337
  "type": "bytes"
463
338
  }
464
339
  ],
465
- "internalType": "struct IDistribution.DistributorInfo",
466
- "name": "info",
340
+ "internalType": "struct IRegistry.ObjectInfo",
341
+ "name": "",
467
342
  "type": "tuple"
468
343
  }
469
344
  ],
470
- "name": "createDistributor",
471
- "outputs": [],
472
- "stateMutability": "nonpayable",
345
+ "stateMutability": "view",
473
346
  "type": "function"
474
347
  },
475
348
  {
476
- "inputs": [
477
- {
478
- "internalType": "Key32",
479
- "name": "distributorKey",
480
- "type": "bytes32"
481
- },
349
+ "inputs": [],
350
+ "name": "getInstanceAccessManager",
351
+ "outputs": [
482
352
  {
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",
353
+ "internalType": "contract AccessManagerExtendedInitializeable",
1386
354
  "name": "",
1387
- "type": "bool"
355
+ "type": "address"
1388
356
  }
1389
357
  ],
1390
358
  "stateMutability": "view",
@@ -1392,41 +360,25 @@
1392
360
  },
1393
361
  {
1394
362
  "inputs": [],
1395
- "name": "isConsumingScheduledOp",
363
+ "name": "getInstanceAdmin",
1396
364
  "outputs": [
1397
365
  {
1398
- "internalType": "bytes4",
366
+ "internalType": "contract InstanceAdmin",
1399
367
  "name": "",
1400
- "type": "bytes4"
368
+ "type": "address"
1401
369
  }
1402
370
  ],
1403
371
  "stateMutability": "view",
1404
372
  "type": "function"
1405
373
  },
1406
374
  {
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",
375
+ "inputs": [],
376
+ "name": "getInstanceReader",
1425
377
  "outputs": [
1426
378
  {
1427
- "internalType": "bool",
379
+ "internalType": "contract InstanceReader",
1428
380
  "name": "",
1429
- "type": "bool"
381
+ "type": "address"
1430
382
  }
1431
383
  ],
1432
384
  "stateMutability": "view",
@@ -1434,623 +386,142 @@
1434
386
  },
1435
387
  {
1436
388
  "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",
389
+ "name": "getInstanceStore",
1464
390
  "outputs": [
1465
391
  {
1466
- "internalType": "bool",
392
+ "internalType": "contract InstanceStore",
1467
393
  "name": "",
1468
- "type": "bool"
394
+ "type": "address"
1469
395
  }
1470
396
  ],
1471
397
  "stateMutability": "view",
1472
398
  "type": "function"
1473
399
  },
1474
400
  {
1475
- "inputs": [
1476
- {
1477
- "internalType": "ObjectType",
1478
- "name": "objectType",
1479
- "type": "uint8"
1480
- },
1481
- {
1482
- "internalType": "KeyId",
1483
- "name": "id",
1484
- "type": "bytes31"
1485
- }
1486
- ],
1487
- "name": "toKey32",
401
+ "inputs": [],
402
+ "name": "getMajorVersion",
1488
403
  "outputs": [
1489
404
  {
1490
- "internalType": "Key32",
1491
- "name": "",
1492
- "type": "bytes32"
1493
- }
1494
- ],
1495
- "stateMutability": "pure",
1496
- "type": "function"
1497
- },
1498
- {
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": [
1582
- {
1583
- "internalType": "NftId",
1584
- "name": "bundleNftId",
1585
- "type": "uint96"
1586
- },
1587
- {
1588
- "internalType": "StateId",
1589
- "name": "newState",
405
+ "internalType": "VersionPart",
406
+ "name": "majorVersion",
1590
407
  "type": "uint8"
1591
408
  }
1592
409
  ],
1593
- "name": "updateBundleState",
1594
- "outputs": [],
1595
- "stateMutability": "nonpayable",
410
+ "stateMutability": "pure",
1596
411
  "type": "function"
1597
412
  },
1598
413
  {
1599
- "inputs": [
414
+ "inputs": [],
415
+ "name": "getNftId",
416
+ "outputs": [
1600
417
  {
1601
418
  "internalType": "NftId",
1602
- "name": "distributionNftId",
419
+ "name": "",
1603
420
  "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
- },
1644
- {
1645
- "internalType": "StateId",
1646
- "name": "newState",
1647
- "type": "uint8"
1648
421
  }
1649
422
  ],
1650
- "name": "updateDistributionSetup",
1651
- "outputs": [],
1652
- "stateMutability": "nonpayable",
423
+ "stateMutability": "view",
1653
424
  "type": "function"
1654
425
  },
1655
426
  {
1656
- "inputs": [
1657
- {
1658
- "internalType": "NftId",
1659
- "name": "distributionNftId",
1660
- "type": "uint96"
1661
- },
427
+ "inputs": [],
428
+ "name": "getOwner",
429
+ "outputs": [
1662
430
  {
1663
- "internalType": "StateId",
1664
- "name": "newState",
1665
- "type": "uint8"
431
+ "internalType": "address",
432
+ "name": "",
433
+ "type": "address"
1666
434
  }
1667
435
  ],
1668
- "name": "updateDistributionSetupState",
1669
- "outputs": [],
1670
- "stateMutability": "nonpayable",
436
+ "stateMutability": "view",
1671
437
  "type": "function"
1672
438
  },
1673
439
  {
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
- },
440
+ "inputs": [],
441
+ "name": "getPolicyService",
442
+ "outputs": [
1702
443
  {
1703
- "internalType": "StateId",
1704
- "name": "newState",
1705
- "type": "uint8"
444
+ "internalType": "contract IPolicyService",
445
+ "name": "",
446
+ "type": "address"
1706
447
  }
1707
448
  ],
1708
- "name": "updateDistributor",
1709
- "outputs": [],
1710
- "stateMutability": "nonpayable",
449
+ "stateMutability": "view",
1711
450
  "type": "function"
1712
451
  },
1713
452
  {
1714
- "inputs": [
1715
- {
1716
- "internalType": "NftId",
1717
- "name": "nftId",
1718
- "type": "uint96"
1719
- },
453
+ "inputs": [],
454
+ "name": "getPoolService",
455
+ "outputs": [
1720
456
  {
1721
- "internalType": "StateId",
1722
- "name": "newState",
1723
- "type": "uint8"
457
+ "internalType": "contract IPoolService",
458
+ "name": "",
459
+ "type": "address"
1724
460
  }
1725
461
  ],
1726
- "name": "updateDistributorState",
1727
- "outputs": [],
1728
- "stateMutability": "nonpayable",
462
+ "stateMutability": "view",
1729
463
  "type": "function"
1730
464
  },
1731
465
  {
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
- },
466
+ "inputs": [],
467
+ "name": "getProductService",
468
+ "outputs": [
1790
469
  {
1791
- "internalType": "StateId",
1792
- "name": "newState",
1793
- "type": "uint8"
470
+ "internalType": "contract IProductService",
471
+ "name": "",
472
+ "type": "address"
1794
473
  }
1795
474
  ],
1796
- "name": "updateDistributorType",
1797
- "outputs": [],
1798
- "stateMutability": "nonpayable",
475
+ "stateMutability": "view",
1799
476
  "type": "function"
1800
477
  },
1801
478
  {
1802
- "inputs": [
1803
- {
1804
- "internalType": "Key32",
1805
- "name": "distributorKey",
1806
- "type": "bytes32"
1807
- },
479
+ "inputs": [],
480
+ "name": "getRegistry",
481
+ "outputs": [
1808
482
  {
1809
- "internalType": "StateId",
1810
- "name": "newState",
1811
- "type": "uint8"
483
+ "internalType": "contract IRegistry",
484
+ "name": "",
485
+ "type": "address"
1812
486
  }
1813
487
  ],
1814
- "name": "updateDistributorTypeState",
1815
- "outputs": [],
1816
- "stateMutability": "nonpayable",
488
+ "stateMutability": "view",
1817
489
  "type": "function"
1818
490
  },
1819
491
  {
1820
492
  "inputs": [
1821
493
  {
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"
494
+ "internalType": "RoleId",
495
+ "name": "roleId",
496
+ "type": "uint64"
1912
497
  },
1913
498
  {
1914
- "internalType": "StateId",
1915
- "name": "newState",
1916
- "type": "uint8"
499
+ "internalType": "address",
500
+ "name": "account",
501
+ "type": "address"
1917
502
  }
1918
503
  ],
1919
- "name": "updatePolicy",
504
+ "name": "grantRole",
1920
505
  "outputs": [],
1921
506
  "stateMutability": "nonpayable",
1922
507
  "type": "function"
1923
508
  },
1924
509
  {
1925
- "inputs": [
1926
- {
1927
- "internalType": "NftId",
1928
- "name": "policyNftId",
1929
- "type": "uint96"
1930
- },
510
+ "inputs": [],
511
+ "name": "isConsumingScheduledOp",
512
+ "outputs": [
1931
513
  {
1932
- "internalType": "StateId",
1933
- "name": "newState",
1934
- "type": "uint8"
514
+ "internalType": "bytes4",
515
+ "name": "",
516
+ "type": "bytes4"
1935
517
  }
1936
518
  ],
1937
- "name": "updatePolicyState",
1938
- "outputs": [],
1939
- "stateMutability": "nonpayable",
519
+ "stateMutability": "view",
1940
520
  "type": "function"
1941
521
  },
1942
522
  {
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",
523
+ "inputs": [],
524
+ "name": "linkToRegisteredNftId",
2054
525
  "outputs": [],
2055
526
  "stateMutability": "nonpayable",
2056
527
  "type": "function"
@@ -2058,17 +529,17 @@
2058
529
  {
2059
530
  "inputs": [
2060
531
  {
2061
- "internalType": "NftId",
2062
- "name": "poolNftId",
2063
- "type": "uint96"
532
+ "internalType": "address",
533
+ "name": "to",
534
+ "type": "address"
2064
535
  },
2065
536
  {
2066
- "internalType": "StateId",
2067
- "name": "newState",
2068
- "type": "uint8"
537
+ "internalType": "uint256",
538
+ "name": "tokenId",
539
+ "type": "uint256"
2069
540
  }
2070
541
  ],
2071
- "name": "updatePoolSetupState",
542
+ "name": "nftMint",
2072
543
  "outputs": [],
2073
544
  "stateMutability": "nonpayable",
2074
545
  "type": "function"
@@ -2076,156 +547,22 @@
2076
547
  {
2077
548
  "inputs": [
2078
549
  {
2079
- "internalType": "NftId",
2080
- "name": "productNftId",
2081
- "type": "uint96"
550
+ "internalType": "address",
551
+ "name": "from",
552
+ "type": "address"
2082
553
  },
2083
554
  {
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"
555
+ "internalType": "address",
556
+ "name": "to",
557
+ "type": "address"
2221
558
  },
2222
559
  {
2223
- "internalType": "StateId",
2224
- "name": "newState",
2225
- "type": "uint8"
560
+ "internalType": "uint256",
561
+ "name": "tokenId",
562
+ "type": "uint256"
2226
563
  }
2227
564
  ],
2228
- "name": "updateProductSetup",
565
+ "name": "nftTransferFrom",
2229
566
  "outputs": [],
2230
567
  "stateMutability": "nonpayable",
2231
568
  "type": "function"
@@ -2233,17 +570,17 @@
2233
570
  {
2234
571
  "inputs": [
2235
572
  {
2236
- "internalType": "NftId",
2237
- "name": "productNftId",
2238
- "type": "uint96"
573
+ "internalType": "RoleId",
574
+ "name": "roleId",
575
+ "type": "uint64"
2239
576
  },
2240
577
  {
2241
- "internalType": "StateId",
2242
- "name": "newState",
2243
- "type": "uint8"
578
+ "internalType": "address",
579
+ "name": "account",
580
+ "type": "address"
2244
581
  }
2245
582
  ],
2246
- "name": "updateProductSetupState",
583
+ "name": "revokeRole",
2247
584
  "outputs": [],
2248
585
  "stateMutability": "nonpayable",
2249
586
  "type": "function"
@@ -2251,59 +588,12 @@
2251
588
  {
2252
589
  "inputs": [
2253
590
  {
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"
591
+ "internalType": "address",
592
+ "name": "",
593
+ "type": "address"
2304
594
  }
2305
595
  ],
2306
- "name": "updateReferral",
596
+ "name": "setAuthority",
2307
597
  "outputs": [],
2308
598
  "stateMutability": "nonpayable",
2309
599
  "type": "function"
@@ -2311,17 +601,22 @@
2311
601
  {
2312
602
  "inputs": [
2313
603
  {
2314
- "internalType": "Key32",
2315
- "name": "referralKey",
2316
- "type": "bytes32"
604
+ "internalType": "string",
605
+ "name": "targetName",
606
+ "type": "string"
2317
607
  },
2318
608
  {
2319
- "internalType": "StateId",
2320
- "name": "newState",
2321
- "type": "uint8"
609
+ "internalType": "bytes4[]",
610
+ "name": "selectors",
611
+ "type": "bytes4[]"
612
+ },
613
+ {
614
+ "internalType": "RoleId",
615
+ "name": "roleId",
616
+ "type": "uint64"
2322
617
  }
2323
618
  ],
2324
- "name": "updateReferralState",
619
+ "name": "setTargetFunctionRole",
2325
620
  "outputs": [],
2326
621
  "stateMutability": "nonpayable",
2327
622
  "type": "function"
@@ -2329,34 +624,17 @@
2329
624
  {
2330
625
  "inputs": [
2331
626
  {
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"
627
+ "internalType": "address",
628
+ "name": "target",
629
+ "type": "address"
2352
630
  },
2353
631
  {
2354
- "internalType": "StateId",
2355
- "name": "newState",
2356
- "type": "uint8"
632
+ "internalType": "bool",
633
+ "name": "locked",
634
+ "type": "bool"
2357
635
  }
2358
636
  ],
2359
- "name": "updateRisk",
637
+ "name": "setTargetLocked",
2360
638
  "outputs": [],
2361
639
  "stateMutability": "nonpayable",
2362
640
  "type": "function"
@@ -2364,19 +642,20 @@
2364
642
  {
2365
643
  "inputs": [
2366
644
  {
2367
- "internalType": "RiskId",
2368
- "name": "riskId",
2369
- "type": "bytes8"
2370
- },
645
+ "internalType": "bytes4",
646
+ "name": "interfaceId",
647
+ "type": "bytes4"
648
+ }
649
+ ],
650
+ "name": "supportsInterface",
651
+ "outputs": [
2371
652
  {
2372
- "internalType": "StateId",
2373
- "name": "newState",
2374
- "type": "uint8"
653
+ "internalType": "bool",
654
+ "name": "",
655
+ "type": "bool"
2375
656
  }
2376
657
  ],
2377
- "name": "updateRiskState",
2378
- "outputs": [],
2379
- "stateMutability": "nonpayable",
658
+ "stateMutability": "view",
2380
659
  "type": "function"
2381
660
  }
2382
661
  ],