@etherisc/gif-next 0.0.2-cddad6b-504 → 0.0.2-ce8407f-016

Sign up to get free protection for your applications and to get access to all the features.
Files changed (348) hide show
  1. package/README.md +40 -25
  2. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +115 -48
  4. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  5. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  6. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  7. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  8. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  9. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  10. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  12. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  16. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  20. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  22. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  24. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  25. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  26. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  27. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1119 -0
  28. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  29. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  30. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  31. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1 -1998
  32. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  33. package/artifacts/contracts/instance/Instance.sol/Instance.json +2378 -1243
  34. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  35. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  36. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  37. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +878 -0
  38. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  39. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -0
  40. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  41. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +32 -86
  42. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +1 -1
  44. package/artifacts/contracts/instance/base/IService.sol/IService.json +174 -53
  45. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  46. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +138 -112
  47. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  48. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  49. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +220 -52
  51. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  52. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  53. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  54. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  55. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  56. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  57. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  58. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  59. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  60. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  61. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  62. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
  63. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  64. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  65. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  66. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +141 -12
  67. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  68. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  69. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  70. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +298 -39
  71. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  72. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +745 -0
  73. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  74. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  75. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  76. package/artifacts/contracts/registry/Registry.sol/Registry.json +489 -120
  77. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  78. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1013 -0
  79. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  80. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +476 -0
  81. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  82. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  83. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  84. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  85. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  86. package/artifacts/contracts/{instance/module/component/ComponentModule.sol/ComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +67 -57
  87. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  88. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
  89. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  90. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -14
  91. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  92. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  93. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  94. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  95. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  96. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
  97. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  98. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  99. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  100. package/artifacts/contracts/shared/{Proxy.sol/ProxyWithProxyAdminGetter.json → UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json} +4 -4
  101. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  102. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -14
  103. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  104. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  105. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
  106. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  107. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +5 -111
  108. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  109. package/artifacts/contracts/test/TestService.sol/TestService.json +283 -62
  110. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  111. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  112. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  113. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  114. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +103 -23
  115. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  116. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  117. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  118. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  119. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  120. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  121. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  122. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  123. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
  124. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  126. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  127. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  128. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  129. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  130. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  131. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  132. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  133. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  134. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  135. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  136. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  137. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
  138. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  139. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  140. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
  142. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  143. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  144. package/artifacts/contracts/types/Version.sol/VersionLib.json +40 -2
  145. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  146. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  147. package/contracts/components/IBaseComponent.sol +4 -4
  148. package/contracts/instance/AccessManagedSimple.sol +114 -0
  149. package/contracts/instance/AccessManagerSimple.sol +682 -0
  150. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  151. package/contracts/instance/IInstance.sol +3 -50
  152. package/contracts/instance/Instance.sol +379 -61
  153. package/contracts/instance/InstanceAccessManager.sol +288 -0
  154. package/contracts/instance/InstanceReader.sol +235 -0
  155. package/contracts/instance/InstanceService.sol +45 -0
  156. package/contracts/instance/base/IKeyValueStore.sol +10 -12
  157. package/contracts/instance/base/ILifecycle.sol +3 -3
  158. package/contracts/instance/base/KeyValueStore.sol +46 -19
  159. package/contracts/instance/base/Lifecycle.sol +1 -1
  160. package/contracts/instance/base/ServiceBase.sol +20 -13
  161. package/contracts/instance/module/IAccess.sol +38 -0
  162. package/contracts/instance/module/IBundle.sol +19 -0
  163. package/contracts/instance/module/IDistribution.sol +39 -0
  164. package/contracts/instance/module/IPolicy.sol +45 -0
  165. package/contracts/instance/module/IRisk.sol +11 -0
  166. package/contracts/instance/module/ISetup.sol +41 -0
  167. package/contracts/instance/module/ITreasury.sol +23 -0
  168. package/contracts/registry/ChainNft.sol +43 -15
  169. package/contracts/registry/IChainNft.sol +3 -2
  170. package/contracts/registry/IRegistry.sol +42 -26
  171. package/contracts/registry/IRegistryService.sol +29 -0
  172. package/contracts/registry/ITransferInterceptor.sol +6 -0
  173. package/contracts/registry/Registry.sol +383 -273
  174. package/contracts/registry/RegistryService.sol +369 -0
  175. package/contracts/registry/RegistryServiceManager.sol +43 -0
  176. package/contracts/shared/ContractDeployerLib.sol +72 -0
  177. package/contracts/shared/ERC165.sol +1 -1
  178. package/contracts/shared/INftOwnable.sol +22 -0
  179. package/contracts/shared/IRegisterable.sol +9 -16
  180. package/contracts/shared/IVersionable.sol +55 -11
  181. package/contracts/shared/NftOwnable.sol +136 -0
  182. package/contracts/shared/ProxyManager.sol +94 -0
  183. package/contracts/shared/Registerable.sol +62 -59
  184. package/contracts/shared/TokenHandler.sol +27 -0
  185. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  186. package/contracts/shared/Versionable.sol +113 -55
  187. package/contracts/test/TestRegisterable.sol +5 -6
  188. package/contracts/test/TestRoleId.sol +6 -6
  189. package/contracts/test/TestService.sol +5 -11
  190. package/contracts/types/DistributorType.sol +55 -0
  191. package/contracts/types/Key32.sol +8 -3
  192. package/contracts/types/NumberId.sol +52 -0
  193. package/contracts/types/ObjectType.sol +35 -14
  194. package/contracts/types/Referral.sol +85 -0
  195. package/contracts/types/RoleId.sol +46 -9
  196. package/contracts/types/StateId.sol +1 -1
  197. package/contracts/types/Timestamp.sol +7 -3
  198. package/contracts/types/Version.sol +9 -0
  199. package/package.json +1 -1
  200. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  201. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  202. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  203. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  204. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  205. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  206. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  207. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  208. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  209. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  210. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  211. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  212. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  213. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  214. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  215. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  216. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  217. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  218. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  219. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  220. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  221. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -376
  222. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  223. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  224. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  225. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  226. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.json +0 -10
  227. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  228. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  229. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  230. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  231. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  232. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  233. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  234. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  235. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  236. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  237. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  238. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  239. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  240. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  241. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  242. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  243. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  244. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  245. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  246. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  247. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  248. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  249. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  250. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  251. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  252. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  253. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  254. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  255. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  256. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  257. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  258. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  259. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  260. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  261. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  262. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -511
  263. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  264. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  265. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  266. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -511
  267. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  268. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -531
  269. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  270. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -420
  271. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  272. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -364
  273. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  274. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -325
  275. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  276. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -440
  277. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  278. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -630
  279. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  280. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -543
  281. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  282. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -858
  283. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  284. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  285. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.dbg.json +0 -4
  286. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.json +0 -495
  287. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  288. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  289. package/artifacts/contracts/shared/Proxy.sol/Proxy.dbg.json +0 -4
  290. package/artifacts/contracts/shared/Proxy.sol/Proxy.json +0 -178
  291. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.dbg.json +0 -4
  292. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.dbg.json +0 -4
  293. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.json +0 -187
  294. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  295. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  296. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  297. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  298. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  299. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  300. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  301. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  302. package/contracts/components/BaseComponent.sol +0 -94
  303. package/contracts/components/Distribution.sol +0 -132
  304. package/contracts/components/IDistributionComponent.sol +0 -47
  305. package/contracts/components/IPoolComponent.sol +0 -71
  306. package/contracts/components/IProductComponent.sol +0 -38
  307. package/contracts/components/Pool.sol +0 -235
  308. package/contracts/components/Product.sol +0 -227
  309. package/contracts/experiment/statemachine/README.md +0 -112
  310. package/contracts/instance/IInstanceLinked.sol +0 -8
  311. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  312. package/contracts/instance/base/IInstanceBase.sol +0 -22
  313. package/contracts/instance/base/InstanceBase.sol +0 -91
  314. package/contracts/instance/base/ModuleBase.sol +0 -57
  315. package/contracts/instance/module/access/Access.sol +0 -149
  316. package/contracts/instance/module/access/IAccess.sol +0 -53
  317. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  318. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  319. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  320. package/contracts/instance/module/component/IComponent.sol +0 -28
  321. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  322. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  323. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  324. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  325. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  326. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  327. package/contracts/instance/module/risk/IRisk.sol +0 -26
  328. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  329. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  330. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  331. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  332. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  333. package/contracts/instance/service/DistributionService.sol +0 -59
  334. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  335. package/contracts/instance/service/IDistributionService.sol +0 -12
  336. package/contracts/instance/service/IPoolService.sol +0 -37
  337. package/contracts/instance/service/IProductService.sol +0 -107
  338. package/contracts/instance/service/PoolService.sol +0 -149
  339. package/contracts/instance/service/ProductService.sol +0 -509
  340. package/contracts/registry/IRegistryLinked.sol +0 -8
  341. package/contracts/registry/RegistryUpgradeable.sol +0 -416
  342. package/contracts/shared/IOwnable.sol +0 -6
  343. package/contracts/shared/Proxy.sol +0 -83
  344. package/contracts/shared/VersionableUpgradeable.sol +0 -108
  345. package/contracts/test/TestDistribution.sol +0 -21
  346. package/contracts/test/TestPool.sol +0 -25
  347. package/contracts/test/TestProduct.sol +0 -72
  348. package/contracts/types/ReferralId.sol +0 -48
@@ -0,0 +1,878 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "InstanceReader",
4
+ "sourceName": "contracts/instance/InstanceReader.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "registry",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "NftId",
15
+ "name": "instanceNftId",
16
+ "type": "uint96"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "ReferralId",
26
+ "name": "referralId",
27
+ "type": "bytes8"
28
+ }
29
+ ],
30
+ "name": "getDiscountPercentage",
31
+ "outputs": [
32
+ {
33
+ "internalType": "UFixed",
34
+ "name": "discountPercentage",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "internalType": "ReferralStatus",
39
+ "name": "status",
40
+ "type": "uint8"
41
+ }
42
+ ],
43
+ "stateMutability": "view",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "NftId",
50
+ "name": "distributorNftId",
51
+ "type": "uint96"
52
+ }
53
+ ],
54
+ "name": "getDistributorInfo",
55
+ "outputs": [
56
+ {
57
+ "components": [
58
+ {
59
+ "internalType": "DistributorType",
60
+ "name": "distributorType",
61
+ "type": "bytes8"
62
+ },
63
+ {
64
+ "internalType": "bool",
65
+ "name": "active",
66
+ "type": "bool"
67
+ },
68
+ {
69
+ "internalType": "bytes",
70
+ "name": "data",
71
+ "type": "bytes"
72
+ }
73
+ ],
74
+ "internalType": "struct IDistribution.DistributorInfo",
75
+ "name": "info",
76
+ "type": "tuple"
77
+ }
78
+ ],
79
+ "stateMutability": "view",
80
+ "type": "function"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "DistributorType",
86
+ "name": "distributorType",
87
+ "type": "bytes8"
88
+ }
89
+ ],
90
+ "name": "getDistributorTypeInfo",
91
+ "outputs": [
92
+ {
93
+ "components": [
94
+ {
95
+ "internalType": "string",
96
+ "name": "name",
97
+ "type": "string"
98
+ },
99
+ {
100
+ "internalType": "UFixed",
101
+ "name": "minDiscountPercentage",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "internalType": "UFixed",
106
+ "name": "maxDiscountPercentage",
107
+ "type": "uint256"
108
+ },
109
+ {
110
+ "internalType": "UFixed",
111
+ "name": "commissionPercentage",
112
+ "type": "uint256"
113
+ },
114
+ {
115
+ "internalType": "uint32",
116
+ "name": "maxReferralCount",
117
+ "type": "uint32"
118
+ },
119
+ {
120
+ "internalType": "uint32",
121
+ "name": "maxReferralLifetime",
122
+ "type": "uint32"
123
+ },
124
+ {
125
+ "internalType": "bool",
126
+ "name": "allowSelfReferrals",
127
+ "type": "bool"
128
+ },
129
+ {
130
+ "internalType": "bool",
131
+ "name": "allowRenewals",
132
+ "type": "bool"
133
+ },
134
+ {
135
+ "internalType": "bytes",
136
+ "name": "data",
137
+ "type": "bytes"
138
+ }
139
+ ],
140
+ "internalType": "struct IDistribution.DistributorTypeInfo",
141
+ "name": "info",
142
+ "type": "tuple"
143
+ }
144
+ ],
145
+ "stateMutability": "view",
146
+ "type": "function"
147
+ },
148
+ {
149
+ "inputs": [],
150
+ "name": "getInstance",
151
+ "outputs": [
152
+ {
153
+ "internalType": "contract IInstance",
154
+ "name": "instance",
155
+ "type": "address"
156
+ }
157
+ ],
158
+ "stateMutability": "view",
159
+ "type": "function"
160
+ },
161
+ {
162
+ "inputs": [],
163
+ "name": "getInstanceNftId",
164
+ "outputs": [
165
+ {
166
+ "internalType": "NftId",
167
+ "name": "nftId",
168
+ "type": "uint96"
169
+ }
170
+ ],
171
+ "stateMutability": "view",
172
+ "type": "function"
173
+ },
174
+ {
175
+ "inputs": [],
176
+ "name": "getInstanceStore",
177
+ "outputs": [
178
+ {
179
+ "internalType": "contract IKeyValueStore",
180
+ "name": "store",
181
+ "type": "address"
182
+ }
183
+ ],
184
+ "stateMutability": "view",
185
+ "type": "function"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "Key32",
191
+ "name": "key",
192
+ "type": "bytes32"
193
+ }
194
+ ],
195
+ "name": "getMetadata",
196
+ "outputs": [
197
+ {
198
+ "components": [
199
+ {
200
+ "internalType": "ObjectType",
201
+ "name": "objectType",
202
+ "type": "uint8"
203
+ },
204
+ {
205
+ "internalType": "StateId",
206
+ "name": "state",
207
+ "type": "uint8"
208
+ },
209
+ {
210
+ "internalType": "address",
211
+ "name": "updatedBy",
212
+ "type": "address"
213
+ },
214
+ {
215
+ "internalType": "Blocknumber",
216
+ "name": "updatedIn",
217
+ "type": "uint32"
218
+ },
219
+ {
220
+ "internalType": "Blocknumber",
221
+ "name": "createdIn",
222
+ "type": "uint32"
223
+ }
224
+ ],
225
+ "internalType": "struct IKeyValueStore.Metadata",
226
+ "name": "metadata",
227
+ "type": "tuple"
228
+ }
229
+ ],
230
+ "stateMutability": "view",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ {
236
+ "internalType": "NftId",
237
+ "name": "policyNftId",
238
+ "type": "uint96"
239
+ }
240
+ ],
241
+ "name": "getPolicyInfo",
242
+ "outputs": [
243
+ {
244
+ "components": [
245
+ {
246
+ "internalType": "NftId",
247
+ "name": "productNftId",
248
+ "type": "uint96"
249
+ },
250
+ {
251
+ "internalType": "NftId",
252
+ "name": "bundleNftId",
253
+ "type": "uint96"
254
+ },
255
+ {
256
+ "internalType": "ReferralId",
257
+ "name": "referralId",
258
+ "type": "bytes8"
259
+ },
260
+ {
261
+ "internalType": "RiskId",
262
+ "name": "riskId",
263
+ "type": "bytes8"
264
+ },
265
+ {
266
+ "internalType": "uint256",
267
+ "name": "sumInsuredAmount",
268
+ "type": "uint256"
269
+ },
270
+ {
271
+ "internalType": "uint256",
272
+ "name": "premiumAmount",
273
+ "type": "uint256"
274
+ },
275
+ {
276
+ "internalType": "uint256",
277
+ "name": "premiumPaidAmount",
278
+ "type": "uint256"
279
+ },
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "lifetime",
283
+ "type": "uint256"
284
+ },
285
+ {
286
+ "internalType": "bytes",
287
+ "name": "applicationData",
288
+ "type": "bytes"
289
+ },
290
+ {
291
+ "internalType": "bytes",
292
+ "name": "policyData",
293
+ "type": "bytes"
294
+ },
295
+ {
296
+ "internalType": "uint16",
297
+ "name": "claimsCount",
298
+ "type": "uint16"
299
+ },
300
+ {
301
+ "internalType": "uint16",
302
+ "name": "openClaimsCount",
303
+ "type": "uint16"
304
+ },
305
+ {
306
+ "internalType": "uint256",
307
+ "name": "payoutAmount",
308
+ "type": "uint256"
309
+ },
310
+ {
311
+ "internalType": "Timestamp",
312
+ "name": "activatedAt",
313
+ "type": "uint40"
314
+ },
315
+ {
316
+ "internalType": "Timestamp",
317
+ "name": "expiredAt",
318
+ "type": "uint40"
319
+ },
320
+ {
321
+ "internalType": "Timestamp",
322
+ "name": "closedAt",
323
+ "type": "uint40"
324
+ }
325
+ ],
326
+ "internalType": "struct IPolicy.PolicyInfo",
327
+ "name": "info",
328
+ "type": "tuple"
329
+ }
330
+ ],
331
+ "stateMutability": "view",
332
+ "type": "function"
333
+ },
334
+ {
335
+ "inputs": [
336
+ {
337
+ "internalType": "ReferralId",
338
+ "name": "referralId",
339
+ "type": "bytes8"
340
+ }
341
+ ],
342
+ "name": "getReferralInfo",
343
+ "outputs": [
344
+ {
345
+ "components": [
346
+ {
347
+ "internalType": "NftId",
348
+ "name": "distributorNftId",
349
+ "type": "uint96"
350
+ },
351
+ {
352
+ "internalType": "string",
353
+ "name": "referralCode",
354
+ "type": "string"
355
+ },
356
+ {
357
+ "internalType": "UFixed",
358
+ "name": "discountPercentage",
359
+ "type": "uint256"
360
+ },
361
+ {
362
+ "internalType": "uint32",
363
+ "name": "maxReferrals",
364
+ "type": "uint32"
365
+ },
366
+ {
367
+ "internalType": "uint32",
368
+ "name": "usedReferrals",
369
+ "type": "uint32"
370
+ },
371
+ {
372
+ "internalType": "Timestamp",
373
+ "name": "expiryAt",
374
+ "type": "uint40"
375
+ },
376
+ {
377
+ "internalType": "bytes",
378
+ "name": "data",
379
+ "type": "bytes"
380
+ }
381
+ ],
382
+ "internalType": "struct IDistribution.ReferralInfo",
383
+ "name": "info",
384
+ "type": "tuple"
385
+ }
386
+ ],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [
392
+ {
393
+ "internalType": "RiskId",
394
+ "name": "riskId",
395
+ "type": "bytes8"
396
+ }
397
+ ],
398
+ "name": "getRiskInfo",
399
+ "outputs": [
400
+ {
401
+ "components": [
402
+ {
403
+ "internalType": "NftId",
404
+ "name": "productNftId",
405
+ "type": "uint96"
406
+ },
407
+ {
408
+ "internalType": "bytes",
409
+ "name": "data",
410
+ "type": "bytes"
411
+ }
412
+ ],
413
+ "internalType": "struct IRisk.RiskInfo",
414
+ "name": "info",
415
+ "type": "tuple"
416
+ }
417
+ ],
418
+ "stateMutability": "view",
419
+ "type": "function"
420
+ },
421
+ {
422
+ "inputs": [
423
+ {
424
+ "internalType": "NftId",
425
+ "name": "productNftId",
426
+ "type": "uint96"
427
+ }
428
+ ],
429
+ "name": "getTokenHandler",
430
+ "outputs": [
431
+ {
432
+ "internalType": "address",
433
+ "name": "tokenHandler",
434
+ "type": "address"
435
+ }
436
+ ],
437
+ "stateMutability": "view",
438
+ "type": "function"
439
+ },
440
+ {
441
+ "inputs": [
442
+ {
443
+ "internalType": "NftId",
444
+ "name": "productNftId",
445
+ "type": "uint96"
446
+ }
447
+ ],
448
+ "name": "getTreasuryInfo",
449
+ "outputs": [
450
+ {
451
+ "components": [
452
+ {
453
+ "internalType": "contract IERC20Metadata",
454
+ "name": "token",
455
+ "type": "address"
456
+ },
457
+ {
458
+ "internalType": "contract TokenHandler",
459
+ "name": "tokenHandler",
460
+ "type": "address"
461
+ },
462
+ {
463
+ "internalType": "NftId",
464
+ "name": "distributionNftId",
465
+ "type": "uint96"
466
+ },
467
+ {
468
+ "internalType": "NftId",
469
+ "name": "poolNftId",
470
+ "type": "uint96"
471
+ },
472
+ {
473
+ "components": [
474
+ {
475
+ "internalType": "UFixed",
476
+ "name": "fractionalFee",
477
+ "type": "uint256"
478
+ },
479
+ {
480
+ "internalType": "uint256",
481
+ "name": "fixedFee",
482
+ "type": "uint256"
483
+ }
484
+ ],
485
+ "internalType": "struct Fee",
486
+ "name": "distributionFee",
487
+ "type": "tuple"
488
+ },
489
+ {
490
+ "components": [
491
+ {
492
+ "internalType": "UFixed",
493
+ "name": "fractionalFee",
494
+ "type": "uint256"
495
+ },
496
+ {
497
+ "internalType": "uint256",
498
+ "name": "fixedFee",
499
+ "type": "uint256"
500
+ }
501
+ ],
502
+ "internalType": "struct Fee",
503
+ "name": "productFee",
504
+ "type": "tuple"
505
+ },
506
+ {
507
+ "components": [
508
+ {
509
+ "internalType": "UFixed",
510
+ "name": "fractionalFee",
511
+ "type": "uint256"
512
+ },
513
+ {
514
+ "internalType": "uint256",
515
+ "name": "fixedFee",
516
+ "type": "uint256"
517
+ }
518
+ ],
519
+ "internalType": "struct Fee",
520
+ "name": "processingFee",
521
+ "type": "tuple"
522
+ },
523
+ {
524
+ "components": [
525
+ {
526
+ "internalType": "UFixed",
527
+ "name": "fractionalFee",
528
+ "type": "uint256"
529
+ },
530
+ {
531
+ "internalType": "uint256",
532
+ "name": "fixedFee",
533
+ "type": "uint256"
534
+ }
535
+ ],
536
+ "internalType": "struct Fee",
537
+ "name": "poolFee",
538
+ "type": "tuple"
539
+ },
540
+ {
541
+ "components": [
542
+ {
543
+ "internalType": "UFixed",
544
+ "name": "fractionalFee",
545
+ "type": "uint256"
546
+ },
547
+ {
548
+ "internalType": "uint256",
549
+ "name": "fixedFee",
550
+ "type": "uint256"
551
+ }
552
+ ],
553
+ "internalType": "struct Fee",
554
+ "name": "stakingFee",
555
+ "type": "tuple"
556
+ },
557
+ {
558
+ "components": [
559
+ {
560
+ "internalType": "UFixed",
561
+ "name": "fractionalFee",
562
+ "type": "uint256"
563
+ },
564
+ {
565
+ "internalType": "uint256",
566
+ "name": "fixedFee",
567
+ "type": "uint256"
568
+ }
569
+ ],
570
+ "internalType": "struct Fee",
571
+ "name": "performanceFee",
572
+ "type": "tuple"
573
+ }
574
+ ],
575
+ "internalType": "struct ITreasury.TreasuryInfo",
576
+ "name": "info",
577
+ "type": "tuple"
578
+ }
579
+ ],
580
+ "stateMutability": "view",
581
+ "type": "function"
582
+ },
583
+ {
584
+ "inputs": [
585
+ {
586
+ "internalType": "NftId",
587
+ "name": "distributorNftId",
588
+ "type": "uint96"
589
+ }
590
+ ],
591
+ "name": "toDistributorKey",
592
+ "outputs": [
593
+ {
594
+ "internalType": "Key32",
595
+ "name": "",
596
+ "type": "bytes32"
597
+ }
598
+ ],
599
+ "stateMutability": "pure",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [
604
+ {
605
+ "internalType": "UFixed",
606
+ "name": "value",
607
+ "type": "uint256"
608
+ }
609
+ ],
610
+ "name": "toInt",
611
+ "outputs": [
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "",
615
+ "type": "uint256"
616
+ }
617
+ ],
618
+ "stateMutability": "pure",
619
+ "type": "function"
620
+ },
621
+ {
622
+ "inputs": [
623
+ {
624
+ "internalType": "NftId",
625
+ "name": "policyNftId",
626
+ "type": "uint96"
627
+ }
628
+ ],
629
+ "name": "toPolicyKey",
630
+ "outputs": [
631
+ {
632
+ "internalType": "Key32",
633
+ "name": "",
634
+ "type": "bytes32"
635
+ }
636
+ ],
637
+ "stateMutability": "pure",
638
+ "type": "function"
639
+ },
640
+ {
641
+ "inputs": [
642
+ {
643
+ "internalType": "NftId",
644
+ "name": "distributionNftId",
645
+ "type": "uint96"
646
+ },
647
+ {
648
+ "internalType": "string",
649
+ "name": "referralCode",
650
+ "type": "string"
651
+ }
652
+ ],
653
+ "name": "toReferralId",
654
+ "outputs": [
655
+ {
656
+ "internalType": "ReferralId",
657
+ "name": "referralId",
658
+ "type": "bytes8"
659
+ }
660
+ ],
661
+ "stateMutability": "pure",
662
+ "type": "function"
663
+ },
664
+ {
665
+ "inputs": [
666
+ {
667
+ "internalType": "NftId",
668
+ "name": "productNftId",
669
+ "type": "uint96"
670
+ }
671
+ ],
672
+ "name": "toTreasuryKey",
673
+ "outputs": [
674
+ {
675
+ "internalType": "Key32",
676
+ "name": "",
677
+ "type": "bytes32"
678
+ }
679
+ ],
680
+ "stateMutability": "pure",
681
+ "type": "function"
682
+ },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "internalType": "uint256",
687
+ "name": "value",
688
+ "type": "uint256"
689
+ },
690
+ {
691
+ "internalType": "int8",
692
+ "name": "exp",
693
+ "type": "int8"
694
+ }
695
+ ],
696
+ "name": "toUFixed",
697
+ "outputs": [
698
+ {
699
+ "internalType": "UFixed",
700
+ "name": "",
701
+ "type": "uint256"
702
+ }
703
+ ],
704
+ "stateMutability": "pure",
705
+ "type": "function"
706
+ }
707
+ ],
708
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620024c4380380620024c48339810160408190526200003491620002e0565b6001600160a01b038216620000905760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a4352442d3030313a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6040516330b8415f60e01b81526001600160601b038216600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015620000e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010f919062000329565b6200015d5760405162461bcd60e51b815260206004820152601960248201527f4552524f523a4352442d3030323a4e46545f49445f5a45524f00000000000000604482015260640162000087565b6001600160601b03818116600160a01b9081026001600160a01b0385811682811760008181556040516305247a1760e51b81529590910490951660048501529116179063a48f42e090602401600060405180830381865afa158015620001c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001f1919081019062000461565b90506200021781604001516200020c620002a660201b60201c565b60ff90811691161490565b6200026f5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a4352442d3030333a504152454e545f4e4f545f494e5354414e436044820152604560f81b606482015260840162000087565b60800151600180546001600160a01b039092166001600160a01b031992831681179091556002805490921617905550620005479050565b604690565b80516001600160a01b0381168114620002c357600080fd5b919050565b80516001600160601b0381168114620002c357600080fd5b60008060408385031215620002f457600080fd5b620002ff83620002ab565b91506200030f60208401620002c8565b90509250929050565b80518015158114620002c357600080fd5b6000602082840312156200033c57600080fd5b620003478262000318565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156200038957620003896200034e565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620003ba57620003ba6200034e565b604052919050565b805160ff81168114620002c357600080fd5b600082601f830112620003e657600080fd5b81516001600160401b038111156200040257620004026200034e565b602062000418601f8301601f191682016200038f565b82815285828487010111156200042d57600080fd5b60005b838110156200044d57858101830151828201840152820162000430565b506000928101909101919091529392505050565b6000602082840312156200047457600080fd5b81516001600160401b03808211156200048c57600080fd5b9083019060e08286031215620004a157600080fd5b620004ab62000364565b620004b683620002c8565b8152620004c660208401620002c8565b6020820152620004d960408401620003c2565b6040820152620004ec6060840162000318565b6060820152620004ff60808401620002ab565b60808201526200051260a08401620002ab565b60a082015260c0830151828111156200052a57600080fd5b6200053887828601620003d4565b60c08301525095945050505050565b611f6d80620005576000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063887b1fa9116100a2578063bd7d9d8511610071578063bd7d9d8514610306578063d06458c614610326578063d4cda0d814610346578063de7b5d1414610357578063f2b246c31461036857600080fd5b8063887b1fa914610224578063a310e2a314610244578063a5961b4c1461026f578063b82d7ef5146102dc57600080fd5b80633f093cd6116100e95780633f093cd61461019457806344aa6836146101c057806364eb3a9b146101d35780637e54602a146101e65780637e798669146101f957600080fd5b80631488c8451461011b5780631d3be4771461014157806325d037431461016157806327b1d79214610174575b600080fd5b61012e6101293660046110b8565b610388565b6040519081526020015b60405180910390f35b61015461014f366004611107565b61040e565b6040516101389190611174565b61012e61016f366004611224565b610560565b610187610182366004611224565b610600565b6040516101389190611241565b6101a76101a23660046113a6565b6106ba565b6040516001600160c01b03199091168152602001610138565b61012e6101ce366004611438565b610737565b61012e6101e1366004611224565b610772565b61012e6101f4366004611224565b61079f565b600054600160a01b90046001600160601b03166040516001600160601b039091168152602001610138565b610237610232366004611107565b6107cc565b6040516101389190611451565b610257610252366004611224565b6108f5565b6040516001600160a01b039091168152602001610138565b61028261027d366004611438565b6109a3565b6040516101389190815160ff9081168252602080840151909116908201526040808301516001600160a01b03169082015260608083015163ffffffff90811691830191909152608092830151169181019190915260a00190565b6102ef6102ea366004611107565b610a37565b6040805192835260ff909116602083015201610138565b610319610314366004611224565b610cdf565b604051610138919061147f565b610339610334366004611107565b610dfd565b60405161013891906115d7565b6002546001600160a01b0316610257565b6001546001600160a01b0316610257565b61037b610376366004611224565b610f70565b6040516101389190611687565b604051631488c84560e01b815260048101839052600082810b60248301529073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__90631488c84590604401602060405180830381865af41580156103e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610407919061178c565b9392505050565b6040805160e08101825260008082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526002546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$9f290d768183857d0249ab5bb54619c5ab$__906355ee627590602401602060405180830381865af41580156104b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d9919061178c565b6040518263ffffffff1660e01b81526004016104f791815260200190565b600060405180830381865afa158015610514573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053c91908101906117ea565b80519091501561055a57808060200190518101906104079190611860565b50919050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660655b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af41580156105d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa919061178c565b92915050565b604080516060808201835260008083526020830152918101919091526002546000906001600160a01b03166354f6127f6106398561079f565b6040518263ffffffff1660e01b815260040161065791815260200190565b600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906117ea565b80519091501561055a57808060200190518101906104079190611959565b604051631f849e6b60e11b815260009073__$9f290d768183857d0249ab5bb54619c5ab$__90633f093cd6906106f690869086906004016119ff565b602060405180830381865af4158015610713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104079190611a21565b604051632255341b60e11b81526004810182905260009073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa6836906024016105b9565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d2610589565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b038416607a610589565b6040805180820190915260008152606060208201526002546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015610850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610874919061178c565b6040518263ffffffff1660e01b815260040161089291815260200190565b600060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108d791908101906117ea565b80519091501561055a57808060200190518101906104079190611a3e565b60025460009081906001600160a01b03166354f6127f61091485610560565b6040518263ffffffff1660e01b815260040161093291815260200190565b600060405180830381865afa15801561094f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097791908101906117ea565b80519091501561055a576000818060200190518101906109979190611b0d565b60200151949350505050565b6040805160a081018252600080825260208201819052818301819052606082018190526080820152600254915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c9060240160a060405180830381865afa158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190611bed565b6000806000610a458461040e565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af4158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190611c84565b15610b475773__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3a919061178c565b60645b9250925050915091565b610bcb8160a0015173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbc9190611c9f565b64ffffffffff90811691161090565b15610c445773__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610c19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3d919061178c565b606e610b3d565b806060015163ffffffff16816080015163ffffffff1610610cd35773__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc919061178c565b6078610b3d565b6040810151600a610b3d565b604080516102008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018190526101208201526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101919091526002546000906001600160a01b03166354f6127f610d7c85610772565b6040518263ffffffff1660e01b8152600401610d9a91815260200190565b600060405180830381865afa158015610db7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ddf91908101906117ea565b80519091501561055a57808060200190518101906104079190611ccc565b610e5c60405180610120016040528060608152602001600081526020016000815260200160008152602001600063ffffffff168152602001600063ffffffff168152602001600015158152602001600015158152602001606081525090565b6002546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$5906aa3f06c54ee09b434647963e1d1ed0$__906355ee627590602401602060405180830381865af4158015610ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eef919061178c565b6040518263ffffffff1660e01b8152600401610f0d91815260200190565b600060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f5291908101906117ea565b80519091501561055a57808060200190518101906104079190611e40565b61101a604080516101408101825260008082526020808301829052828401829052606083018290528351808501855282815280820183905260808401528351808501855282815280820183905260a08401528351808501855282815280820183905260c08401528351808501855282815280820183905260e08401528351808501855282815280820183905261010084015283518085019094528184528301529061012082015290565b6002546000906001600160a01b03166354f6127f61103785610560565b6040518263ffffffff1660e01b815260040161105591815260200190565b600060405180830381865afa158015611072573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261109a91908101906117ea565b80519091501561055a57808060200190518101906104079190611b0d565b600080604083850312156110cb57600080fd5b8235915060208301358060000b81146110e357600080fd5b809150509250929050565b6001600160c01b03198116811461110457600080fd5b50565b60006020828403121561111957600080fd5b8135610407816110ee565b60005b8381101561113f578181015183820152602001611127565b50506000910152565b60008151808452611160816020860160208601611124565b601f01601f19169290920160200192915050565b602081526001600160601b0382511660208201526000602083015160e060408401526111a4610100840182611148565b90506040840151606084015263ffffffff606085015116608084015260808401516111d760a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e08501526112068282611148565b95945050505050565b6001600160601b038116811461110457600080fd5b60006020828403121561123657600080fd5b81356104078161120f565b602081526001600160401b0360c01b82511660208201526020820151151560408201526000604083015160608084015261127e6080840182611148565b949350505050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156112be576112be611286565b60405290565b604080519081016001600160401b03811182821017156112be576112be611286565b60405161014081016001600160401b03811182821017156112be576112be611286565b60405161020081016001600160401b03811182821017156112be576112be611286565b60405161012081016001600160401b03811182821017156112be576112be611286565b604051601f8201601f191681016001600160401b038111828210171561137757611377611286565b604052919050565b60006001600160401b0382111561139857611398611286565b50601f01601f191660200190565b600080604083850312156113b957600080fd5b82356113c48161120f565b915060208301356001600160401b038111156113df57600080fd5b8301601f810185136113f057600080fd5b80356114036113fe8261137f565b61134f565b81815286602083850101111561141857600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561144a57600080fd5b5035919050565b602081526001600160601b0382511660208201526000602083015160408084015261127e6060840182611148565b602081526114996020820183516001600160601b03169052565b600060208301516114b560408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e0830151610100818185015280850151915050610200610120818186015261152d610220860184611148565b9250808601519050610140601f19868503018187015261154d8483611148565b9350808701519150506101606115688187018361ffff169052565b860151905061018061157f8682018361ffff169052565b8601516101a08681019190915286015190506101c06115a68187018364ffffffffff169052565b86015190506101e06115c08682018364ffffffffff169052565b9095015164ffffffffff1693019290925250919050565b60208152600082516101208060208501526115f6610140850183611148565b9150602085015160408501526040850151606085015260608501516080850152608085015161162d60a086018263ffffffff169052565b5060a085015163ffffffff811660c08601525060c085015180151560e08601525060e08501516101006116638187018315159052565b860151858403601f190183870152905061167d8382611148565b9695505050505050565b81516001600160a01b03168152610200810160208301516116b360208401826001600160a01b03169052565b5060408301516116ce60408401826001600160601b03169052565b5060608301516116e960608401826001600160601b03169052565b506080830151611706608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c083015161010061173c8185018380518252602090810151910152565b60e085015180516101408601526020908101516101608601529085015180516101808601528101516101a08501526101209094015180516101c0850152909301516101e090920191909152919050565b60006020828403121561179e57600080fd5b5051919050565b600082601f8301126117b657600080fd5b81516117c46113fe8261137f565b8181528460208386010111156117d957600080fd5b61127e826020830160208701611124565b6000602082840312156117fc57600080fd5b81516001600160401b0381111561181257600080fd5b61127e848285016117a5565b80516118298161120f565b919050565b63ffffffff8116811461110457600080fd5b80516118298161182e565b805164ffffffffff8116811461182957600080fd5b60006020828403121561187257600080fd5b81516001600160401b038082111561188957600080fd5b9083019060e0828603121561189d57600080fd5b6118a561129c565b6118ae8361181e565b81526020830151828111156118c257600080fd5b6118ce878286016117a5565b602083015250604083015160408201526118ea60608401611840565b60608201526118fb60808401611840565b608082015261190c60a0840161184b565b60a082015260c08301518281111561192357600080fd5b61192f878286016117a5565b60c08301525095945050505050565b8051611829816110ee565b8051801515811461182957600080fd5b60006020828403121561196b57600080fd5b81516001600160401b038082111561198257600080fd5b908301906060828603121561199657600080fd5b6040516060810181811083821117156119b1576119b1611286565b60405282516119bf816110ee565b81526119cd60208401611949565b60208201526040830151828111156119e457600080fd5b6119f0878286016117a5565b60408301525095945050505050565b6001600160601b038316815260406020820152600061127e6040830184611148565b600060208284031215611a3357600080fd5b8151610407816110ee565b600060208284031215611a5057600080fd5b81516001600160401b0380821115611a6757600080fd5b9083019060408286031215611a7b57600080fd5b611a836112c4565b8251611a8e8161120f565b8152602083015182811115611aa257600080fd5b611aae878286016117a5565b60208301525095945050505050565b6001600160a01b038116811461110457600080fd5b805161182981611abd565b600060408284031215611aef57600080fd5b611af76112c4565b9050815181526020820151602082015292915050565b60006102008284031215611b2057600080fd5b611b286112e6565b611b3183611ad2565b8152611b3f60208401611ad2565b6020820152611b506040840161181e565b6040820152611b616060840161181e565b6060820152611b738460808501611add565b6080820152611b858460c08501611add565b60a0820152610100611b9985828601611add565b60c0830152611bac856101408601611add565b60e0830152611bbf856101808601611add565b90820152611bd1846101c08501611add565b6101208201529392505050565b60ff8116811461110457600080fd5b600060a08284031215611bff57600080fd5b60405160a081018181106001600160401b0382111715611c2157611c21611286565b6040528251611c2f81611bde565b81526020830151611c3f81611bde565b60208201526040830151611c5281611abd565b60408201526060830151611c658161182e565b60608201526080830151611c788161182e565b60808201529392505050565b600060208284031215611c9657600080fd5b61040782611949565b600060208284031215611cb157600080fd5b6104078261184b565b805161ffff8116811461182957600080fd5b600060208284031215611cde57600080fd5b81516001600160401b0380821115611cf557600080fd5b908301906102008286031215611d0a57600080fd5b611d12611309565b611d1b8361181e565b8152611d296020840161181e565b6020820152611d3a6040840161193e565b6040820152611d4b6060840161193e565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015183811115611d8c57600080fd5b611d98888287016117a5565b8284015250506101208084015183811115611db257600080fd5b611dbe888287016117a5565b8284015250506101409150611dd4828401611cba565b828201526101609150611de8828401611cba565b82820152610180915081830151828201526101a09150611e0982840161184b565b828201526101c09150611e1d82840161184b565b828201526101e09150611e3182840161184b565b91810191909152949350505050565b600060208284031215611e5257600080fd5b81516001600160401b0380821115611e6957600080fd5b908301906101208286031215611e7e57600080fd5b611e8661132c565b825182811115611e9557600080fd5b611ea1878286016117a5565b825250602083015160208201526040830151604082015260608301516060820152611ece60808401611840565b6080820152611edf60a08401611840565b60a0820152611ef060c08401611949565b60c0820152611f0160e08401611949565b60e08201526101008084015183811115611f1a57600080fd5b611f26888287016117a5565b91830191909152509594505050505056fea264697066735822122042758ecb9e797d2c81d4cc12d8f6e745b0b61b6f8856c08b4a698b74f08f23ce64736f6c63430008140033",
709
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063887b1fa9116100a2578063bd7d9d8511610071578063bd7d9d8514610306578063d06458c614610326578063d4cda0d814610346578063de7b5d1414610357578063f2b246c31461036857600080fd5b8063887b1fa914610224578063a310e2a314610244578063a5961b4c1461026f578063b82d7ef5146102dc57600080fd5b80633f093cd6116100e95780633f093cd61461019457806344aa6836146101c057806364eb3a9b146101d35780637e54602a146101e65780637e798669146101f957600080fd5b80631488c8451461011b5780631d3be4771461014157806325d037431461016157806327b1d79214610174575b600080fd5b61012e6101293660046110b8565b610388565b6040519081526020015b60405180910390f35b61015461014f366004611107565b61040e565b6040516101389190611174565b61012e61016f366004611224565b610560565b610187610182366004611224565b610600565b6040516101389190611241565b6101a76101a23660046113a6565b6106ba565b6040516001600160c01b03199091168152602001610138565b61012e6101ce366004611438565b610737565b61012e6101e1366004611224565b610772565b61012e6101f4366004611224565b61079f565b600054600160a01b90046001600160601b03166040516001600160601b039091168152602001610138565b610237610232366004611107565b6107cc565b6040516101389190611451565b610257610252366004611224565b6108f5565b6040516001600160a01b039091168152602001610138565b61028261027d366004611438565b6109a3565b6040516101389190815160ff9081168252602080840151909116908201526040808301516001600160a01b03169082015260608083015163ffffffff90811691830191909152608092830151169181019190915260a00190565b6102ef6102ea366004611107565b610a37565b6040805192835260ff909116602083015201610138565b610319610314366004611224565b610cdf565b604051610138919061147f565b610339610334366004611107565b610dfd565b60405161013891906115d7565b6002546001600160a01b0316610257565b6001546001600160a01b0316610257565b61037b610376366004611224565b610f70565b6040516101389190611687565b604051631488c84560e01b815260048101839052600082810b60248301529073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__90631488c84590604401602060405180830381865af41580156103e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610407919061178c565b9392505050565b6040805160e08101825260008082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526002546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$9f290d768183857d0249ab5bb54619c5ab$__906355ee627590602401602060405180830381865af41580156104b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d9919061178c565b6040518263ffffffff1660e01b81526004016104f791815260200190565b600060405180830381865afa158015610514573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053c91908101906117ea565b80519091501561055a57808060200190518101906104079190611860565b50919050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660655b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af41580156105d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa919061178c565b92915050565b604080516060808201835260008083526020830152918101919091526002546000906001600160a01b03166354f6127f6106398561079f565b6040518263ffffffff1660e01b815260040161065791815260200190565b600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906117ea565b80519091501561055a57808060200190518101906104079190611959565b604051631f849e6b60e11b815260009073__$9f290d768183857d0249ab5bb54619c5ab$__90633f093cd6906106f690869086906004016119ff565b602060405180830381865af4158015610713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104079190611a21565b604051632255341b60e11b81526004810182905260009073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa6836906024016105b9565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d2610589565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b038416607a610589565b6040805180820190915260008152606060208201526002546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015610850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610874919061178c565b6040518263ffffffff1660e01b815260040161089291815260200190565b600060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108d791908101906117ea565b80519091501561055a57808060200190518101906104079190611a3e565b60025460009081906001600160a01b03166354f6127f61091485610560565b6040518263ffffffff1660e01b815260040161093291815260200190565b600060405180830381865afa15801561094f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097791908101906117ea565b80519091501561055a576000818060200190518101906109979190611b0d565b60200151949350505050565b6040805160a081018252600080825260208201819052818301819052606082018190526080820152600254915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c9060240160a060405180830381865afa158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190611bed565b6000806000610a458461040e565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af4158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190611c84565b15610b475773__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3a919061178c565b60645b9250925050915091565b610bcb8160a0015173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbc9190611c9f565b64ffffffffff90811691161090565b15610c445773__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610c19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3d919061178c565b606e610b3d565b806060015163ffffffff16816080015163ffffffff1610610cd35773__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc919061178c565b6078610b3d565b6040810151600a610b3d565b604080516102008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018190526101208201526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101919091526002546000906001600160a01b03166354f6127f610d7c85610772565b6040518263ffffffff1660e01b8152600401610d9a91815260200190565b600060405180830381865afa158015610db7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ddf91908101906117ea565b80519091501561055a57808060200190518101906104079190611ccc565b610e5c60405180610120016040528060608152602001600081526020016000815260200160008152602001600063ffffffff168152602001600063ffffffff168152602001600015158152602001600015158152602001606081525090565b6002546040516355ee627560e01b81526001600160c01b0319841660048201526000916001600160a01b0316906354f6127f9073__$5906aa3f06c54ee09b434647963e1d1ed0$__906355ee627590602401602060405180830381865af4158015610ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eef919061178c565b6040518263ffffffff1660e01b8152600401610f0d91815260200190565b600060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f5291908101906117ea565b80519091501561055a57808060200190518101906104079190611e40565b61101a604080516101408101825260008082526020808301829052828401829052606083018290528351808501855282815280820183905260808401528351808501855282815280820183905260a08401528351808501855282815280820183905260c08401528351808501855282815280820183905260e08401528351808501855282815280820183905261010084015283518085019094528184528301529061012082015290565b6002546000906001600160a01b03166354f6127f61103785610560565b6040518263ffffffff1660e01b815260040161105591815260200190565b600060405180830381865afa158015611072573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261109a91908101906117ea565b80519091501561055a57808060200190518101906104079190611b0d565b600080604083850312156110cb57600080fd5b8235915060208301358060000b81146110e357600080fd5b809150509250929050565b6001600160c01b03198116811461110457600080fd5b50565b60006020828403121561111957600080fd5b8135610407816110ee565b60005b8381101561113f578181015183820152602001611127565b50506000910152565b60008151808452611160816020860160208601611124565b601f01601f19169290920160200192915050565b602081526001600160601b0382511660208201526000602083015160e060408401526111a4610100840182611148565b90506040840151606084015263ffffffff606085015116608084015260808401516111d760a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e08501526112068282611148565b95945050505050565b6001600160601b038116811461110457600080fd5b60006020828403121561123657600080fd5b81356104078161120f565b602081526001600160401b0360c01b82511660208201526020820151151560408201526000604083015160608084015261127e6080840182611148565b949350505050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156112be576112be611286565b60405290565b604080519081016001600160401b03811182821017156112be576112be611286565b60405161014081016001600160401b03811182821017156112be576112be611286565b60405161020081016001600160401b03811182821017156112be576112be611286565b60405161012081016001600160401b03811182821017156112be576112be611286565b604051601f8201601f191681016001600160401b038111828210171561137757611377611286565b604052919050565b60006001600160401b0382111561139857611398611286565b50601f01601f191660200190565b600080604083850312156113b957600080fd5b82356113c48161120f565b915060208301356001600160401b038111156113df57600080fd5b8301601f810185136113f057600080fd5b80356114036113fe8261137f565b61134f565b81815286602083850101111561141857600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561144a57600080fd5b5035919050565b602081526001600160601b0382511660208201526000602083015160408084015261127e6060840182611148565b602081526114996020820183516001600160601b03169052565b600060208301516114b560408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e0830151610100818185015280850151915050610200610120818186015261152d610220860184611148565b9250808601519050610140601f19868503018187015261154d8483611148565b9350808701519150506101606115688187018361ffff169052565b860151905061018061157f8682018361ffff169052565b8601516101a08681019190915286015190506101c06115a68187018364ffffffffff169052565b86015190506101e06115c08682018364ffffffffff169052565b9095015164ffffffffff1693019290925250919050565b60208152600082516101208060208501526115f6610140850183611148565b9150602085015160408501526040850151606085015260608501516080850152608085015161162d60a086018263ffffffff169052565b5060a085015163ffffffff811660c08601525060c085015180151560e08601525060e08501516101006116638187018315159052565b860151858403601f190183870152905061167d8382611148565b9695505050505050565b81516001600160a01b03168152610200810160208301516116b360208401826001600160a01b03169052565b5060408301516116ce60408401826001600160601b03169052565b5060608301516116e960608401826001600160601b03169052565b506080830151611706608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c083015161010061173c8185018380518252602090810151910152565b60e085015180516101408601526020908101516101608601529085015180516101808601528101516101a08501526101209094015180516101c0850152909301516101e090920191909152919050565b60006020828403121561179e57600080fd5b5051919050565b600082601f8301126117b657600080fd5b81516117c46113fe8261137f565b8181528460208386010111156117d957600080fd5b61127e826020830160208701611124565b6000602082840312156117fc57600080fd5b81516001600160401b0381111561181257600080fd5b61127e848285016117a5565b80516118298161120f565b919050565b63ffffffff8116811461110457600080fd5b80516118298161182e565b805164ffffffffff8116811461182957600080fd5b60006020828403121561187257600080fd5b81516001600160401b038082111561188957600080fd5b9083019060e0828603121561189d57600080fd5b6118a561129c565b6118ae8361181e565b81526020830151828111156118c257600080fd5b6118ce878286016117a5565b602083015250604083015160408201526118ea60608401611840565b60608201526118fb60808401611840565b608082015261190c60a0840161184b565b60a082015260c08301518281111561192357600080fd5b61192f878286016117a5565b60c08301525095945050505050565b8051611829816110ee565b8051801515811461182957600080fd5b60006020828403121561196b57600080fd5b81516001600160401b038082111561198257600080fd5b908301906060828603121561199657600080fd5b6040516060810181811083821117156119b1576119b1611286565b60405282516119bf816110ee565b81526119cd60208401611949565b60208201526040830151828111156119e457600080fd5b6119f0878286016117a5565b60408301525095945050505050565b6001600160601b038316815260406020820152600061127e6040830184611148565b600060208284031215611a3357600080fd5b8151610407816110ee565b600060208284031215611a5057600080fd5b81516001600160401b0380821115611a6757600080fd5b9083019060408286031215611a7b57600080fd5b611a836112c4565b8251611a8e8161120f565b8152602083015182811115611aa257600080fd5b611aae878286016117a5565b60208301525095945050505050565b6001600160a01b038116811461110457600080fd5b805161182981611abd565b600060408284031215611aef57600080fd5b611af76112c4565b9050815181526020820151602082015292915050565b60006102008284031215611b2057600080fd5b611b286112e6565b611b3183611ad2565b8152611b3f60208401611ad2565b6020820152611b506040840161181e565b6040820152611b616060840161181e565b6060820152611b738460808501611add565b6080820152611b858460c08501611add565b60a0820152610100611b9985828601611add565b60c0830152611bac856101408601611add565b60e0830152611bbf856101808601611add565b90820152611bd1846101c08501611add565b6101208201529392505050565b60ff8116811461110457600080fd5b600060a08284031215611bff57600080fd5b60405160a081018181106001600160401b0382111715611c2157611c21611286565b6040528251611c2f81611bde565b81526020830151611c3f81611bde565b60208201526040830151611c5281611abd565b60408201526060830151611c658161182e565b60608201526080830151611c788161182e565b60808201529392505050565b600060208284031215611c9657600080fd5b61040782611949565b600060208284031215611cb157600080fd5b6104078261184b565b805161ffff8116811461182957600080fd5b600060208284031215611cde57600080fd5b81516001600160401b0380821115611cf557600080fd5b908301906102008286031215611d0a57600080fd5b611d12611309565b611d1b8361181e565b8152611d296020840161181e565b6020820152611d3a6040840161193e565b6040820152611d4b6060840161193e565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015183811115611d8c57600080fd5b611d98888287016117a5565b8284015250506101208084015183811115611db257600080fd5b611dbe888287016117a5565b8284015250506101409150611dd4828401611cba565b828201526101609150611de8828401611cba565b82820152610180915081830151828201526101a09150611e0982840161184b565b828201526101c09150611e1d82840161184b565b828201526101e09150611e3182840161184b565b91810191909152949350505050565b600060208284031215611e5257600080fd5b81516001600160401b0380821115611e6957600080fd5b908301906101208286031215611e7e57600080fd5b611e8661132c565b825182811115611e9557600080fd5b611ea1878286016117a5565b825250602083015160208201526040830151604082015260608301516060820152611ece60808401611840565b6080820152611edf60a08401611840565b60a0820152611ef060c08401611949565b60c0820152611f0160e08401611949565b60e08201526101008084015183811115611f1a57600080fd5b611f26888287016117a5565b91830191909152509594505050505056fea264697066735822122042758ecb9e797d2c81d4cc12d8f6e745b0b61b6f8856c08b4a698b74f08f23ce64736f6c63430008140033",
710
+ "linkReferences": {
711
+ "contracts/types/DistributorType.sol": {
712
+ "DistributorTypeLib": [
713
+ {
714
+ "length": 20,
715
+ "start": 5096
716
+ }
717
+ ]
718
+ },
719
+ "contracts/types/NftId.sol": {
720
+ "NftIdLib": [
721
+ {
722
+ "length": 20,
723
+ "start": 174
724
+ },
725
+ {
726
+ "length": 20,
727
+ "start": 2747
728
+ },
729
+ {
730
+ "length": 20,
731
+ "start": 3277
732
+ },
733
+ {
734
+ "length": 20,
735
+ "start": 3322
736
+ }
737
+ ]
738
+ },
739
+ "contracts/types/Referral.sol": {
740
+ "ReferralLib": [
741
+ {
742
+ "length": 20,
743
+ "start": 2514
744
+ },
745
+ {
746
+ "length": 20,
747
+ "start": 3107
748
+ }
749
+ ]
750
+ },
751
+ "contracts/types/RiskId.sol": {
752
+ "RiskIdLib": [
753
+ {
754
+ "length": 20,
755
+ "start": 3437
756
+ }
757
+ ]
758
+ },
759
+ "contracts/types/Timestamp.sol": {
760
+ "TimestampLib": [
761
+ {
762
+ "length": 20,
763
+ "start": 4033
764
+ },
765
+ {
766
+ "length": 20,
767
+ "start": 4264
768
+ }
769
+ ]
770
+ },
771
+ "contracts/types/UFixed.sol": {
772
+ "UFixedMathLib": [
773
+ {
774
+ "length": 20,
775
+ "start": 2304
776
+ },
777
+ {
778
+ "length": 20,
779
+ "start": 3239
780
+ },
781
+ {
782
+ "length": 20,
783
+ "start": 4134
784
+ },
785
+ {
786
+ "length": 20,
787
+ "start": 4393
788
+ },
789
+ {
790
+ "length": 20,
791
+ "start": 4536
792
+ }
793
+ ]
794
+ }
795
+ },
796
+ "deployedLinkReferences": {
797
+ "contracts/types/DistributorType.sol": {
798
+ "DistributorTypeLib": [
799
+ {
800
+ "length": 20,
801
+ "start": 3729
802
+ }
803
+ ]
804
+ },
805
+ "contracts/types/NftId.sol": {
806
+ "NftIdLib": [
807
+ {
808
+ "length": 20,
809
+ "start": 1380
810
+ },
811
+ {
812
+ "length": 20,
813
+ "start": 1910
814
+ },
815
+ {
816
+ "length": 20,
817
+ "start": 1955
818
+ }
819
+ ]
820
+ },
821
+ "contracts/types/Referral.sol": {
822
+ "ReferralLib": [
823
+ {
824
+ "length": 20,
825
+ "start": 1147
826
+ },
827
+ {
828
+ "length": 20,
829
+ "start": 1740
830
+ }
831
+ ]
832
+ },
833
+ "contracts/types/RiskId.sol": {
834
+ "RiskIdLib": [
835
+ {
836
+ "length": 20,
837
+ "start": 2070
838
+ }
839
+ ]
840
+ },
841
+ "contracts/types/Timestamp.sol": {
842
+ "TimestampLib": [
843
+ {
844
+ "length": 20,
845
+ "start": 2666
846
+ },
847
+ {
848
+ "length": 20,
849
+ "start": 2897
850
+ }
851
+ ]
852
+ },
853
+ "contracts/types/UFixed.sol": {
854
+ "UFixedMathLib": [
855
+ {
856
+ "length": 20,
857
+ "start": 937
858
+ },
859
+ {
860
+ "length": 20,
861
+ "start": 1872
862
+ },
863
+ {
864
+ "length": 20,
865
+ "start": 2767
866
+ },
867
+ {
868
+ "length": 20,
869
+ "start": 3026
870
+ },
871
+ {
872
+ "length": 20,
873
+ "start": 3169
874
+ }
875
+ ]
876
+ }
877
+ }
878
+ }