@etherisc/gif-next 0.0.2-e37834a-021 → 0.0.2-e3f4f82-063

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) hide show
  1. package/README.md +108 -1
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +116 -2
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +204 -31
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +106 -3
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -25
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +2 -61
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -50
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +253 -68
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +272 -45
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
  22. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
  24. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  36. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  40. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  42. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  43. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  44. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  45. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  46. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  47. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1132 -0
  48. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  49. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  50. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +732 -1219
  52. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  53. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +480 -0
  54. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/Instance.sol/Instance.json +2327 -1324
  56. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  57. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  58. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1422 -0
  60. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +931 -0
  62. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +508 -0
  64. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  65. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +149 -2
  66. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  67. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  68. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +27 -158
  69. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  70. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  71. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +37 -245
  72. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  73. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  78. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  80. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  82. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  84. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  85. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
  86. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  88. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +178 -41
  90. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  91. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +212 -22
  92. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  93. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +444 -0
  94. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +81 -4
  96. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  97. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +80 -3
  98. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +188 -3
  100. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +120 -34
  102. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  103. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +346 -24
  104. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +460 -0
  106. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  107. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +269 -86
  108. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +488 -0
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +47 -2
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +199 -112
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +297 -18
  116. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  117. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  118. package/artifacts/contracts/registry/Registry.sol/Registry.json +167 -166
  119. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  120. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +447 -39
  121. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -48
  123. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  124. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +410 -0
  125. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  126. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  127. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  128. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/module/component/ComponentModule.sol/ComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +67 -57
  130. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  131. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +80 -3
  132. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/IService.sol/IService.json} +76 -35
  134. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  135. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  136. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +32 -6
  137. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  138. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +21 -16
  139. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  140. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +120 -6
  141. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
  142. package/artifacts/contracts/{instance/base/IService.sol/IService.json → shared/RegisterableUpgradable.sol/RegisterableUpgradable.json} +137 -39
  143. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  144. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +106 -94
  145. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  146. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  147. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  148. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  149. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  150. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  151. package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
  152. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  153. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +120 -6
  154. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  155. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +14 -14
  156. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  157. package/artifacts/contracts/test/TestService.sol/TestService.json +142 -14
  158. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  159. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  160. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  161. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  162. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  163. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +18 -2
  164. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  165. package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
  166. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  167. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  168. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  169. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  170. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  171. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  172. package/artifacts/contracts/types/Fee.sol/FeeLib.json +4 -4
  173. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  174. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
  175. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  176. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  177. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  178. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  179. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  180. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  181. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  182. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  183. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  184. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  185. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  187. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  188. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
  189. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  190. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  191. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
  193. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  194. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  195. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  196. package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
  197. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  199. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  200. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  201. package/contracts/components/BaseComponent.sol +16 -4
  202. package/contracts/components/Distribution.sol +23 -15
  203. package/contracts/components/IBaseComponent.sol +9 -3
  204. package/contracts/components/IDistributionComponent.sol +2 -4
  205. package/contracts/components/IPoolComponent.sol +1 -3
  206. package/contracts/components/IProductComponent.sol +2 -4
  207. package/contracts/components/Pool.sol +33 -32
  208. package/contracts/components/Product.sol +52 -62
  209. package/contracts/experiment/cloning/Cloner.sol +47 -0
  210. package/contracts/instance/AccessManagedSimple.sol +115 -0
  211. package/contracts/instance/AccessManagerSimple.sol +692 -0
  212. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  213. package/contracts/instance/IInstance.sol +47 -47
  214. package/contracts/instance/IInstanceService.sol +30 -0
  215. package/contracts/instance/Instance.sol +423 -65
  216. package/contracts/instance/InstanceAccessManager.sol +288 -0
  217. package/contracts/instance/InstanceReader.sol +315 -0
  218. package/contracts/instance/InstanceService.sol +198 -0
  219. package/contracts/instance/InstanceServiceManager.sol +57 -0
  220. package/contracts/instance/base/ComponentServiceBase.sol +93 -8
  221. package/contracts/instance/base/IKeyValueStore.sol +13 -14
  222. package/contracts/instance/base/ILifecycle.sol +3 -3
  223. package/contracts/instance/base/KeyValueStore.sol +49 -38
  224. package/contracts/instance/base/Lifecycle.sol +1 -1
  225. package/contracts/instance/module/IAccess.sol +38 -0
  226. package/contracts/instance/module/IBundle.sol +20 -0
  227. package/contracts/instance/module/IDistribution.sol +39 -0
  228. package/contracts/instance/module/IPolicy.sol +45 -0
  229. package/contracts/instance/module/IRisk.sol +11 -0
  230. package/contracts/instance/module/ISetup.sol +47 -0
  231. package/contracts/instance/module/ITreasury.sol +23 -0
  232. package/contracts/instance/service/ComponentOwnerService.sol +145 -100
  233. package/contracts/instance/service/DistributionService.sol +49 -15
  234. package/contracts/instance/service/DistributionServiceManager.sol +54 -0
  235. package/contracts/instance/service/IComponentOwnerService.sol +1 -1
  236. package/contracts/instance/service/IDistributionService.sol +1 -1
  237. package/contracts/instance/service/IPoolService.sol +7 -1
  238. package/contracts/instance/service/IProductService.sol +9 -6
  239. package/contracts/instance/service/PoolService.sol +101 -46
  240. package/contracts/instance/service/PoolServiceManager.sol +54 -0
  241. package/contracts/instance/service/ProductService.sol +170 -118
  242. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  243. package/contracts/registry/ChainNft.sol +40 -25
  244. package/contracts/registry/IRegistry.sol +35 -27
  245. package/contracts/registry/IRegistryService.sol +36 -15
  246. package/contracts/registry/Registry.sol +137 -179
  247. package/contracts/registry/RegistryService.sol +149 -166
  248. package/contracts/registry/RegistryServiceManager.sol +38 -10
  249. package/contracts/registry/TokenRegistry.sol +111 -0
  250. package/contracts/shared/ERC165.sol +7 -3
  251. package/contracts/shared/INftOwnable.sol +22 -0
  252. package/contracts/shared/IRegisterable.sol +3 -8
  253. package/contracts/{instance/base → shared}/IService.sol +3 -3
  254. package/contracts/shared/NftOwnable.sol +85 -38
  255. package/contracts/shared/ProxyManager.sol +3 -12
  256. package/contracts/shared/Registerable.sol +15 -42
  257. package/contracts/shared/RegisterableUpgradable.sol +16 -0
  258. package/contracts/shared/Service.sol +55 -0
  259. package/contracts/shared/TokenHandler.sol +27 -0
  260. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  261. package/contracts/shared/Versionable.sol +3 -3
  262. package/contracts/test/TestFee.sol +2 -2
  263. package/contracts/test/TestRoleId.sol +1 -1
  264. package/contracts/test/TestService.sol +3 -5
  265. package/contracts/types/DistributorType.sol +55 -0
  266. package/contracts/types/Fee.sol +3 -3
  267. package/contracts/types/Key32.sol +8 -3
  268. package/contracts/types/NumberId.sol +52 -0
  269. package/contracts/types/ObjectType.sol +35 -14
  270. package/contracts/types/Referral.sol +85 -0
  271. package/contracts/types/RoleId.sol +61 -9
  272. package/contracts/types/StateId.sol +5 -1
  273. package/contracts/types/Timestamp.sol +7 -3
  274. package/contracts/types/UFixed.sol +128 -12
  275. package/contracts/types/Version.sol +4 -1
  276. package/package.json +4 -3
  277. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  278. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  279. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  280. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  281. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  282. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  283. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  284. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  285. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  286. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.json +0 -10
  287. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  288. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  289. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  290. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  291. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  292. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  293. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  294. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  295. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  296. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  297. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  298. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  299. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  300. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  301. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  302. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  303. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  304. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  305. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  306. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  307. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  308. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  309. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  310. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  311. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  312. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  313. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  314. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  315. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  316. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  317. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  318. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  319. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  320. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  321. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  322. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  323. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  324. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  325. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  326. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  327. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  328. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  329. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  330. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  331. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  332. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  333. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  334. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  335. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  336. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  337. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  338. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  339. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  340. package/contracts/instance/IInstanceLinked.sol +0 -8
  341. package/contracts/instance/base/InstanceBase.sol +0 -89
  342. package/contracts/instance/base/ModuleBase.sol +0 -57
  343. package/contracts/instance/base/ServiceBase.sol +0 -43
  344. package/contracts/instance/module/access/Access.sol +0 -149
  345. package/contracts/instance/module/access/IAccess.sol +0 -53
  346. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  347. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  348. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  349. package/contracts/instance/module/component/IComponent.sol +0 -28
  350. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  351. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  352. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  353. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  354. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  355. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  356. package/contracts/instance/module/risk/IRisk.sol +0 -26
  357. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  358. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  359. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  360. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  361. package/contracts/registry/IChainNft.sol +0 -22
  362. package/contracts/shared/IOwnable.sol +0 -6
  363. package/contracts/test/TestDistribution.sol +0 -22
  364. package/contracts/test/TestPool.sol +0 -27
  365. package/contracts/test/TestProduct.sol +0 -74
  366. package/contracts/types/ReferralId.sol +0 -48
@@ -34,6 +34,87 @@
34
34
  "stateMutability": "nonpayable",
35
35
  "type": "constructor"
36
36
  },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "registry",
42
+ "type": "address"
43
+ },
44
+ {
45
+ "internalType": "NftId",
46
+ "name": "nftId",
47
+ "type": "uint96"
48
+ }
49
+ ],
50
+ "name": "ErrorAlreadyLinked",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "contractAddress",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "ErrorContractNotRegistered",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "account",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "ErrorNotOwner",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "registryAddress",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "ErrorNotRegistry",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "address",
90
+ "name": "registryAddress",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "ErrorRegisterableNotRegistry",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "ErrorRegistryAddressZero",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "address",
106
+ "name": "registry",
107
+ "type": "address"
108
+ }
109
+ ],
110
+ "name": "ErrorRegistryAlreadyInitialized",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "ErrorRegistryNotInitialized",
116
+ "type": "error"
117
+ },
37
118
  {
38
119
  "inputs": [],
39
120
  "name": "InvalidInitialization",
@@ -131,7 +212,7 @@
131
212
  "outputs": [
132
213
  {
133
214
  "internalType": "NftId",
134
- "name": "nftId",
215
+ "name": "",
135
216
  "type": "uint96"
136
217
  }
137
218
  ],
@@ -157,13 +238,20 @@
157
238
  "outputs": [
158
239
  {
159
240
  "internalType": "contract IRegistry",
160
- "name": "registry",
241
+ "name": "",
161
242
  "type": "address"
162
243
  }
163
244
  ],
164
245
  "stateMutability": "view",
165
246
  "type": "function"
166
247
  },
248
+ {
249
+ "inputs": [],
250
+ "name": "linkToRegisteredNftId",
251
+ "outputs": [],
252
+ "stateMutability": "nonpayable",
253
+ "type": "function"
254
+ },
167
255
  {
168
256
  "inputs": [
169
257
  {
@@ -184,8 +272,34 @@
184
272
  "type": "function"
185
273
  }
186
274
  ],
187
- "bytecode": "0x608060405234801561001057600080fd5b5060405162000a9538038062000a95833981016040819052610031916102ee565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff1916600117905560408051602081019091526000815261008a868686868686610095565b5050505050506104eb565b6001600160a01b0386166100f05760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6040516301ffc9a760e01b8152636882e63f60e11b600482015286906001600160a01b038216906301ffc9a790602401602060405180830381865afa15801561013d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610161919061036b565b6101ad5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f524547495354525900000000000060448201526064016100e7565b6001600160a01b03818116600160a01b6001600160601b0389168102919091177f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3009081557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30180546001600160a01b031961ffff60a01b1990911660ff8b1690940260ff60a81b191693909317600160a81b8915150217929092169286169290921790557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30261027b848261042c565b5063a6d3826560e01b60009081526020527f164a5a3a3a16df858f794c5fc01b962add2c2151ae53ddb31581eabdf1156730805460ff191660011790555050505050505050565b80516001600160a01b03811681146102d957600080fd5b919050565b805180151581146102d957600080fd5b600080600080600060a0868803121561030657600080fd5b61030f866102c2565b60208701519095506001600160601b038116811461032c57600080fd5b604087015190945060ff8116811461034357600080fd5b9250610351606087016102de565b915061035f608087016102c2565b90509295509295909350565b60006020828403121561037d57600080fd5b610386826102de565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806103b757607f821691505b6020821081036103d757634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561042757600081815260208120601f850160051c810160208610156104045750805b601f850160051c820191505b8181101561042357828155600101610410565b5050505b505050565b81516001600160401b038111156104455761044561038d565b6104598161045384546103a3565b846103dd565b602080601f83116001811461048e57600084156104765750858301515b600019600386901b1c1916600185901b178555610423565b600085815260208120601f198616915b828110156104bd5788860151825594840194600190910190840161049e565b50858210156104db5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61059a80620004fb6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806301ffc9a7146100675780630fec111c146100a95780631eff4b22146100bf5780635ab1bd53146100e2578063644c45e014610114578063893d20e814610134575b600080fd5b61009461007536600461039a565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100b161013c565b6040516100a0929190610411565b6100d460008051602061054583398151915281565b6040519081526020016100a0565b600080516020610545833981519152546001600160a01b03165b6040516001600160a01b0390911681526020016100a0565b61011c61029f565b6040516001600160601b0390911681526020016100a0565b6100fc61031f565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909160008051602061054583398151915290506040518060e0016040528061019b600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c090920191610205906104b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610231906104b8565b801561027e5780601f106102535761010080835404028352916020019161027e565b820191906000526020600020905b81548152906001019060200180831161026157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b600060008051602061054583398151915254604051636939560f60e11b81523060048201526001600160a01b039091169063d272ac1e90602401602060405180830381865afa1580156102f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a91906104f2565b905090565b600060008051602061054583398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa158015610376573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a919061051b565b6000602082840312156103ac57600080fd5b81356001600160e01b0319811681146103c457600080fd5b9392505050565b6000815180845260005b818110156103f1576020818501810151868301820152016103d5565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161045560a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261049b6101208401826103cb565b905082810360208401526104af81856103cb565b95945050505050565b600181811c908216806104cc57607f821691505b6020821081036104ec57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561050457600080fd5b81516001600160601b03811681146103c457600080fd5b60006020828403121561052d57600080fd5b81516001600160a01b03811681146103c457600080fdfe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300a2646970667358221220f10b53a7d39e21ec4e52d9042e2a00608ccfa51c73b212f31e50530d5e15245664736f6c63430008140033",
188
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806301ffc9a7146100675780630fec111c146100a95780631eff4b22146100bf5780635ab1bd53146100e2578063644c45e014610114578063893d20e814610134575b600080fd5b61009461007536600461039a565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100b161013c565b6040516100a0929190610411565b6100d460008051602061054583398151915281565b6040519081526020016100a0565b600080516020610545833981519152546001600160a01b03165b6040516001600160a01b0390911681526020016100a0565b61011c61029f565b6040516001600160601b0390911681526020016100a0565b6100fc61031f565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909160008051602061054583398151915290506040518060e0016040528061019b600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c090920191610205906104b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610231906104b8565b801561027e5780601f106102535761010080835404028352916020019161027e565b820191906000526020600020905b81548152906001019060200180831161026157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b600060008051602061054583398151915254604051636939560f60e11b81523060048201526001600160a01b039091169063d272ac1e90602401602060405180830381865afa1580156102f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a91906104f2565b905090565b600060008051602061054583398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa158015610376573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a919061051b565b6000602082840312156103ac57600080fd5b81356001600160e01b0319811681146103c457600080fd5b9392505050565b6000815180845260005b818110156103f1576020818501810151868301820152016103d5565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161045560a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261049b6101208401826103cb565b905082810360208401526104af81856103cb565b95945050505050565b600181811c908216806104cc57607f821691505b6020821081036104ec57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561050457600080fd5b81516001600160601b03811681146103c457600080fd5b60006020828403121561052d57600080fd5b81516001600160a01b03811681146103c457600080fdfe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300a2646970667358221220f10b53a7d39e21ec4e52d9042e2a00608ccfa51c73b212f31e50530d5e15245664736f6c63430008140033",
189
- "linkReferences": {},
190
- "deployedLinkReferences": {}
275
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162000e4638038062000e468339810160408190526200003491620003c5565b620000656301ffc9a760e01b600090815260205260008051602062000e26833981519152805460ff19166001179055565b600280546001600160a01b0319163317905560408051602081019091526000815262000096868686868686620000a2565b505050505050620005e1565b620000d36301ffc9a760e01b600090815260205260008051602062000e26833981519152805460ff19166001179055565b620000df8287620001a4565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d0100000000000000000000000000861515021781559050600181016200015e8382620004f0565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b6001600160a01b038216620002005760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b03841617905562000226816200022a565b5050565b6001546001600160a01b031615620002655760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620001f7565b6001600160a01b0381166200028d5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620002c55760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620001f7565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152632eaf856d60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000342575060408051601f3d908101601f191682019092526200033f91810190620005bc565b60015b6200036c5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620001f7565b80620002265760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620001f7565b80516001600160a01b0381168114620003af57600080fd5b919050565b80518015158114620003af57600080fd5b600080600080600060a08688031215620003de57600080fd5b620003e98662000397565b60208701519095506001600160601b03811681146200040757600080fd5b604087015190945060ff811681146200041f57600080fd5b92506200042f60608701620003b4565b91506200043f6080870162000397565b90509295509295909350565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200047657607f821691505b6020821081036200049757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004eb57600081815260208120601f850160051c81016020861015620004c65750805b601f850160051c820191505b81811015620004e757828155600101620004d2565b5050505b505050565b81516001600160401b038111156200050c576200050c6200044b565b62000524816200051d845462000461565b846200049d565b602080601f8311600181146200055c5760008415620005435750858301515b600019600386901b1c1916600185901b178555620004e7565b600085815260208120601f198616915b828110156200058d578886015182559484019460019091019084016200056c565b5085821015620005ac5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005cf57600080fd5b620005da82620003b4565b9392505050565b61083580620005f16000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80631eff4b221161005b5780631eff4b22146100e45780635ab1bd5314610119578063644c45e01461013e578063893d20e81461016957600080fd5b806301ffc9a7146100825780630fec111c146100c4578063138461e0146100da575b600080fd5b6100af610090366004610633565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100cc610171565b6040516100bb9291906106aa565b6100e26102f3565b005b61010b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016100bb565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016100bb565b600154600160a01b90046001600160601b03166040516001600160601b0390911681526020016100bb565b610126610515565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806101f46001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161023c610515565b6001600160a01b0316815260200182600101805461025990610751565b80601f016020809104026020016040519081016040528092919081815260200182805461028590610751565b80156102d25780601f106102a7576101008083540402835291602001916102d2565b820191906000526020600020905b8154815290600101906020018083116102b557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610355573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610379919061078b565b156103c0576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166103e95760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610432573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610456919061078b565b61047e576040516372657a5160e01b81526001600160a01b03821660048201526024016103b7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa1580156104c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec91906107ad565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e919061078b565b1561062357600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156105fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061e91906107d6565b905090565b506002546001600160a01b031690565b60006020828403121561064557600080fd5b81356001600160e01b03198116811461065d57600080fd5b9392505050565b6000815180845260005b8181101561068a5760208185018101518683018201520161066e565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff604085015116608083015260608401516106ee60a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610734610120840182610664565b905082810360208401526107488185610664565b95945050505050565b600181811c9082168061076557607f821691505b60208210810361078557634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561079d57600080fd5b8151801515811461065d57600080fd5b6000602082840312156107bf57600080fd5b81516001600160601b038116811461065d57600080fd5b6000602082840312156107e857600080fd5b81516001600160a01b038116811461065d57600080fdfea2646970667358221220cfc9365f71b8a283fee7261ca4bd5e0518c7b1b5ade0a0cb88493af2ea1f385664736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
276
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80631eff4b221161005b5780631eff4b22146100e45780635ab1bd5314610119578063644c45e01461013e578063893d20e81461016957600080fd5b806301ffc9a7146100825780630fec111c146100c4578063138461e0146100da575b600080fd5b6100af610090366004610633565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100cc610171565b6040516100bb9291906106aa565b6100e26102f3565b005b61010b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b6040519081526020016100bb565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016100bb565b600154600160a01b90046001600160601b03166040516001600160601b0390911681526020016100bb565b610126610515565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806101f46001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161023c610515565b6001600160a01b0316815260200182600101805461025990610751565b80601f016020809104026020016040519081016040528092919081815260200182805461028590610751565b80156102d25780601f106102a7576101008083540402835291602001916102d2565b820191906000526020600020905b8154815290600101906020018083116102b557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610355573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610379919061078b565b156103c0576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166103e95760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610432573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610456919061078b565b61047e576040516372657a5160e01b81526001600160a01b03821660048201526024016103b7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa1580156104c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec91906107ad565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e919061078b565b1561062357600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156105fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061e91906107d6565b905090565b506002546001600160a01b031690565b60006020828403121561064557600080fd5b81356001600160e01b03198116811461065d57600080fd5b9392505050565b6000815180845260005b8181101561068a5760208185018101518683018201520161066e565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff604085015116608083015260608401516106ee60a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610734610120840182610664565b905082810360208401526107488185610664565b95945050505050565b600181811c9082168061076557607f821691505b60208210810361078557634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561079d57600080fd5b8151801515811461065d57600080fd5b6000602082840312156107bf57600080fd5b81516001600160601b038116811461065d57600080fd5b6000602082840312156107e857600080fd5b81516001600160a01b038116811461065d57600080fdfea2646970667358221220cfc9365f71b8a283fee7261ca4bd5e0518c7b1b5ade0a0cb88493af2ea1f385664736f6c63430008140033",
277
+ "linkReferences": {
278
+ "contracts/types/NftId.sol": {
279
+ "NftIdLib": [
280
+ {
281
+ "length": 20,
282
+ "start": 2316
283
+ },
284
+ {
285
+ "length": 20,
286
+ "start": 2865
287
+ }
288
+ ]
289
+ }
290
+ },
291
+ "deployedLinkReferences": {
292
+ "contracts/types/NftId.sol": {
293
+ "NftIdLib": [
294
+ {
295
+ "length": 20,
296
+ "start": 795
297
+ },
298
+ {
299
+ "length": 20,
300
+ "start": 1344
301
+ }
302
+ ]
303
+ }
304
+ }
191
305
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
3
+ "buildInfo": "../../../build-info/ce7db40ae97aa24df12e0a58cae71404.json"
4
4
  }
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "internalType": "RoleId",
12
12
  "name": "",
13
- "type": "bytes8"
13
+ "type": "uint64"
14
14
  }
15
15
  ],
16
16
  "stateMutability": "pure",
@@ -36,7 +36,7 @@
36
36
  {
37
37
  "internalType": "RoleId",
38
38
  "name": "",
39
- "type": "bytes8"
39
+ "type": "uint64"
40
40
  }
41
41
  ],
42
42
  "stateMutability": "pure",
@@ -58,9 +58,9 @@
58
58
  {
59
59
  "inputs": [
60
60
  {
61
- "internalType": "string",
62
- "name": "roleName",
63
- "type": "string"
61
+ "internalType": "uint256",
62
+ "name": "roleNum",
63
+ "type": "uint256"
64
64
  }
65
65
  ],
66
66
  "name": "getRole",
@@ -68,29 +68,29 @@
68
68
  {
69
69
  "internalType": "RoleId",
70
70
  "name": "",
71
- "type": "bytes8"
71
+ "type": "uint64"
72
72
  }
73
73
  ],
74
74
  "stateMutability": "pure",
75
75
  "type": "function"
76
76
  }
77
77
  ],
78
- "bytecode": "0x608060405234801561001057600080fd5b50610426806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780636e9067fb14610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b6040516001600160c01b031990911681526020015b60405180910390f35b6100646100903660046102b5565b6100c9565b61006461014a565b6100a5610154565b60405161007991906103ac565b6100a5610183565b60006100c46101af565b905090565b60405163e14787cb60e01b815260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb906101039085906004016103ac565b602060405180830381865af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014491906103c6565b92915050565b60006100c4610244565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b60405163e14787cb60e01b815260206004820152600d60248201526c506f6f6c4f776e6572526f6c6560981b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb906064015b602060405180830381865af4158015610220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906103c6565b60405163e14787cb60e01b815260206004820152601060248201526f50726f647563744f776e6572526f6c6560801b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb90606401610203565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102c757600080fd5b813567ffffffffffffffff808211156102df57600080fd5b818401915084601f8301126102f357600080fd5b8135818111156103055761030561029f565b604051601f8201601f19908116603f0116810190838211818310171561032d5761032d61029f565b8160405282815287602084870101111561034657600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b8181101561038c57602081850181015186830182015201610370565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103bf6020830184610366565b9392505050565b6000602082840312156103d857600080fd5b81516001600160c01b0319811681146103bf57600080fdfea2646970667358221220215d18f2eda7fe060a8b074c78e459bff44c3e6d00123d1f5a01db4e533e5aa364736f6c63430008140033",
79
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780636e9067fb14610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b6040516001600160c01b031990911681526020015b60405180910390f35b6100646100903660046102b5565b6100c9565b61006461014a565b6100a5610154565b60405161007991906103ac565b6100a5610183565b60006100c46101af565b905090565b60405163e14787cb60e01b815260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb906101039085906004016103ac565b602060405180830381865af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014491906103c6565b92915050565b60006100c4610244565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b60405163e14787cb60e01b815260206004820152600d60248201526c506f6f6c4f776e6572526f6c6560981b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb906064015b602060405180830381865af4158015610220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906103c6565b60405163e14787cb60e01b815260206004820152601060248201526f50726f647563744f776e6572526f6c6560801b604482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063e14787cb90606401610203565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102c757600080fd5b813567ffffffffffffffff808211156102df57600080fd5b818401915084601f8301126102f357600080fd5b8135818111156103055761030561029f565b604051601f8201601f19908116603f0116810190838211818310171561032d5761032d61029f565b8160405282815287602084870101111561034657600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b8181101561038c57602081850181015186830182015201610370565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103bf6020830184610366565b9392505050565b6000602082840312156103d857600080fd5b81516001600160c01b0319811681146103bf57600080fdfea2646970667358221220215d18f2eda7fe060a8b074c78e459bff44c3e6d00123d1f5a01db4e533e5aa364736f6c63430008140033",
78
+ "bytecode": "0x608060405234801561001057600080fd5b5061032e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780635312fdc214610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610064610090366004610260565b6100c9565b610064610146565b6100a5610150565b6040516100799190610279565b6100a561017f565b60006100c46101ab565b905090565b6040516368aebf7b60e01b81526004810182905260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801561011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014091906102c7565b92915050565b60006100c4610224565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015610200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906102c7565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016101e3565b60006020828403121561027257600080fd5b5035919050565b600060208083528351808285015260005b818110156102a65785810183015185820160400152820161028a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156102d957600080fd5b815167ffffffffffffffff811681146102f157600080fd5b939250505056fea2646970667358221220308d06bbb0c6c17f712077ac84c746bc81cd5d38078f030582d0f9dcd549708d64736f6c63430008140033",
79
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780635312fdc214610082578063775a404814610095578063b844f20e1461009d578063c4ce6e5b146100b2575b600080fd5b6100646100ba565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610064610090366004610260565b6100c9565b610064610146565b6100a5610150565b6040516100799190610279565b6100a561017f565b60006100c46101ab565b905090565b6040516368aebf7b60e01b81526004810182905260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801561011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014091906102c7565b92915050565b60006100c4610224565b60606100c460408051808201909152601081526f50726f647563744f776e6572526f6c6560801b602082015290565b60606100c460408051808201909152600d81526c506f6f6c4f776e6572526f6c6560981b602082015290565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015610200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c491906102c7565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016101e3565b60006020828403121561027257600080fd5b5035919050565b600060208083528351808285015260005b818110156102a65785810183015185820160400152820161028a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156102d957600080fd5b815167ffffffffffffffff811681146102f157600080fd5b939250505056fea2646970667358221220308d06bbb0c6c17f712077ac84c746bc81cd5d38078f030582d0f9dcd549708d64736f6c63430008140033",
80
80
  "linkReferences": {
81
81
  "contracts/types/RoleId.sol": {
82
82
  "RoleIdLib": [
83
83
  {
84
84
  "length": 20,
85
- "start": 251
85
+ "start": 258
86
86
  },
87
87
  {
88
88
  "length": 20,
89
- "start": 517
89
+ "start": 485
90
90
  },
91
91
  {
92
92
  "length": 20,
93
- "start": 669
93
+ "start": 606
94
94
  }
95
95
  ]
96
96
  }
@@ -100,15 +100,15 @@
100
100
  "RoleIdLib": [
101
101
  {
102
102
  "length": 20,
103
- "start": 219
103
+ "start": 226
104
104
  },
105
105
  {
106
106
  "length": 20,
107
- "start": 485
107
+ "start": 453
108
108
  },
109
109
  {
110
110
  "length": 20,
111
- "start": 637
111
+ "start": 574
112
112
  }
113
113
  ]
114
114
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
3
+ "buildInfo": "../../../build-info/ce7db40ae97aa24df12e0a58cae71404.json"
4
4
  }
@@ -24,6 +24,87 @@
24
24
  "stateMutability": "nonpayable",
25
25
  "type": "constructor"
26
26
  },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "registry",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "internalType": "NftId",
36
+ "name": "nftId",
37
+ "type": "uint96"
38
+ }
39
+ ],
40
+ "name": "ErrorAlreadyLinked",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "contractAddress",
48
+ "type": "address"
49
+ }
50
+ ],
51
+ "name": "ErrorContractNotRegistered",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "address",
58
+ "name": "account",
59
+ "type": "address"
60
+ }
61
+ ],
62
+ "name": "ErrorNotOwner",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "address",
69
+ "name": "registryAddress",
70
+ "type": "address"
71
+ }
72
+ ],
73
+ "name": "ErrorNotRegistry",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "address",
80
+ "name": "registryAddress",
81
+ "type": "address"
82
+ }
83
+ ],
84
+ "name": "ErrorRegisterableNotRegistry",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "ErrorRegistryAddressZero",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "address",
96
+ "name": "registry",
97
+ "type": "address"
98
+ }
99
+ ],
100
+ "name": "ErrorRegistryAlreadyInitialized",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "inputs": [],
105
+ "name": "ErrorRegistryNotInitialized",
106
+ "type": "error"
107
+ },
27
108
  {
28
109
  "inputs": [],
29
110
  "name": "InvalidInitialization",
@@ -198,7 +279,7 @@
198
279
  "outputs": [
199
280
  {
200
281
  "internalType": "NftId",
201
- "name": "nftId",
282
+ "name": "",
202
283
  "type": "uint96"
203
284
  }
204
285
  ],
@@ -224,7 +305,7 @@
224
305
  "outputs": [
225
306
  {
226
307
  "internalType": "contract IRegistry",
227
- "name": "registry",
308
+ "name": "",
228
309
  "type": "address"
229
310
  }
230
311
  ],
@@ -364,6 +445,13 @@
364
445
  "stateMutability": "view",
365
446
  "type": "function"
366
447
  },
448
+ {
449
+ "inputs": [],
450
+ "name": "linkToRegisteredNftId",
451
+ "outputs": [],
452
+ "stateMutability": "nonpayable",
453
+ "type": "function"
454
+ },
367
455
  {
368
456
  "inputs": [
369
457
  {
@@ -407,14 +495,34 @@
407
495
  "type": "function"
408
496
  }
409
497
  ],
410
- "bytecode": "0x60806040523480156200001157600080fd5b50604051620019c4380380620019c4833981016040819052620000349162000559565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff191660011790556200007a62000090565b6200008783838362000144565b505050620007f3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e15760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001415780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60006200016f60408051808201909152600b81526a546573745365727669636560a81b602082015290565b62000179620001f2565b6040516020016200018c929190620005b1565b60408051808303601f190181529190529050620001b084846028600086866200027f565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff1916600117905550505050565b6000620001fe620004b4565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a91906200060b565b905090565b6001600160a01b038616620002db5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6040516301ffc9a760e01b8152636882e63f60e11b600482015286906001600160a01b038216906301ffc9a790602401602060405180830381865afa15801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f919062000637565b6200039d5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620002d2565b6001600160a01b03818116600160a01b6001600160601b0389168102919091177f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3009081557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30180546001600160a01b031961ffff60a01b1990911660ff8b1690940260ff60a81b191693909317600160a81b8915150217929092169286169290921790557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3026200046d848262000700565b5063a6d3826560e01b60009081526020527f164a5a3a3a16df858f794c5fc01b962add2c2151ae53ddb31581eabdf1156730805460ff191660011790555050505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801562000516573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a9190620007cc565b80516001600160a01b03811681146200055457600080fd5b919050565b6000806000606084860312156200056f57600080fd5b6200057a846200053c565b60208501519093506001600160601b03811681146200059857600080fd5b9150620005a8604085016200053c565b90509250925092565b604081526000835180604084015260005b81811015620005e15760208187018101516060868401015201620005c2565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000602082840312156200061e57600080fd5b815160ff811681146200063057600080fd5b9392505050565b6000602082840312156200064a57600080fd5b815180151581146200063057600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200068657607f821691505b602082108103620006a757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006fb57600081815260208120601f850160051c81016020861015620006d65750805b601f850160051c820191505b81811015620006f757828155600101620006e2565b5050505b505050565b81516001600160401b038111156200071c576200071c6200065b565b62000734816200072d845462000671565b84620006ad565b602080601f8311600181146200076c5760008415620007535750858301515b600019600386901b1c1916600185901b178555620006f7565b600085815260208120601f198616915b828110156200079d578886015182559484019460019091019084016200077c565b5085821015620007bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007df57600080fd5b815162ffffff811681146200063057600080fd5b6111c180620008036000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103ae578063b3c65015146103c3578063b88da759146103e4578063cde749f4146103f7578063cf7a1d771461041157600080fd5b8063644c45e014610335578063893d20e814610355578063946dfcfe1461035d578063a3f4df7e1461038457600080fd5b80631eff4b22116100de5780631eff4b22146101b45780634d459c90146101d75780634f421333146102f05780635ab1bd531461030357600080fd5b806301ffc9a7146101105780630d8e6e2c146101525780630fec111c1461016e57806317d7de7c14610184575b600080fd5b61013d61011e366004610d96565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015a610424565b60405162ffffff9091168152602001610149565b6101766104ae565b604051610149929190610e0d565b60408051808201909152600b81526a546573745365727669636560a81b60208201525b6040516101499190610eb4565b6101c960008051602061112c83398151915281565b604051908152602001610149565b6102936101e5366004610edb565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061116c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610149565b61013d6102fe366004610edb565b610611565b60008051602061112c833981519152546001600160a01b03165b6040516001600160a01b039091168152602001610149565b61033d6106c4565b6040516001600160601b039091168152602001610149565b61031d61073f565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c9565b6101a76040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6103c16103bc366004610f23565b6107ba565b005b6103cb610917565b60405167ffffffffffffffff9091168152602001610149565b61015a6103f2366004610ff9565b610939565b6103ff61098a565b60405160ff9091168152602001610149565b6103c161041f366004610f23565b610a0d565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611012565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909160008051602061112c83398151915290506040518060e0016040528061050d600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c0909201916105779061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546105a39061102f565b80156105f05780601f106105c5576101008083540402835291602001916105f0565b820191906000526020600020905b8154815290600101906020018083116105d357829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b60008060008051602061116c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611069565b1192915050565b600060008051602061112c83398151915254604051636939560f60e11b81523060048201526001600160a01b039091169063d272ac1e90602401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611082565b600060008051602061112c83398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a991906110ab565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6107dc610424565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561081c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084091906110c8565b60008051602061114c8339815191528054600160401b900460ff16806108745750805467ffffffffffffffff808416911610155b156108925760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556108be8585610b18565b6108c783610d59565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104a960008051602061114c8339815191525467ffffffffffffffff1690565b600060008051602061116c833981519152600101828154811061095e5761095e6110f2565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610994610424565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611108565b60008051602061114c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610a415750825b905060008267ffffffffffffffff166001148015610a5e5750303b155b905081158015610a6c575080155b15610a8a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ab457845460ff60401b1916600160401b1785555b610abe8888610b18565b610ac88787610d59565b8315610b0e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610b20610d5d565b60008051602061116c8339815191526000610b5160008051602061114c8339815191525467ffffffffffffffff1690565b90506000610b5d610424565b90508167ffffffffffffffff16600103610b8b5760028301805462ffffff191662ffffff8316179055610bdd565b600283015462ffffff90811690821611610bdd5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b03808916928401929092529086169082015260608101610c514290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906109089083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b61010b5b60008051602061114c83398151915254600160401b900460ff16610d9457604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215610da857600080fd5b81356001600160e01b031981168114610dc057600080fd5b9392505050565b6000815180845260005b81811015610ded57602081850181015186830182015201610dd1565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151610e5160a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610e97610120840182610dc7565b90508281036020840152610eab8185610dc7565b95945050505050565b602081526000610dc06020830184610dc7565b62ffffff81168114610ed857600080fd5b50565b600060208284031215610eed57600080fd5b8135610dc081610ec7565b6001600160a01b0381168114610ed857600080fd5b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215610f3857600080fd5b8335610f4381610ef8565b92506020840135610f5381610ef8565b9150604084013567ffffffffffffffff80821115610f7057600080fd5b818601915086601f830112610f8457600080fd5b813581811115610f9657610f96610f0d565b604051601f8201601f19908116603f01168101908382118183101715610fbe57610fbe610f0d565b81604052828152896020848701011115610fd757600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561100b57600080fd5b5035919050565b60006020828403121561102457600080fd5b8151610dc081610ec7565b600181811c9082168061104357607f821691505b60208210810361106357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561107b57600080fd5b5051919050565b60006020828403121561109457600080fd5b81516001600160601b0381168114610dc057600080fd5b6000602082840312156110bd57600080fd5b8151610dc081610ef8565b6000602082840312156110da57600080fd5b815167ffffffffffffffff81168114610dc057600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561111a57600080fd5b815160ff81168114610dc057600080fdfe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122033becd651d8bd7148de83be6e6e2bb2851c6b6a76cf4795604686e5c815e3b6964736f6c63430008140033",
411
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103ae578063b3c65015146103c3578063b88da759146103e4578063cde749f4146103f7578063cf7a1d771461041157600080fd5b8063644c45e014610335578063893d20e814610355578063946dfcfe1461035d578063a3f4df7e1461038457600080fd5b80631eff4b22116100de5780631eff4b22146101b45780634d459c90146101d75780634f421333146102f05780635ab1bd531461030357600080fd5b806301ffc9a7146101105780630d8e6e2c146101525780630fec111c1461016e57806317d7de7c14610184575b600080fd5b61013d61011e366004610d96565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015a610424565b60405162ffffff9091168152602001610149565b6101766104ae565b604051610149929190610e0d565b60408051808201909152600b81526a546573745365727669636560a81b60208201525b6040516101499190610eb4565b6101c960008051602061112c83398151915281565b604051908152602001610149565b6102936101e5366004610edb565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061116c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610149565b61013d6102fe366004610edb565b610611565b60008051602061112c833981519152546001600160a01b03165b6040516001600160a01b039091168152602001610149565b61033d6106c4565b6040516001600160601b039091168152602001610149565b61031d61073f565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c9565b6101a76040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6103c16103bc366004610f23565b6107ba565b005b6103cb610917565b60405167ffffffffffffffff9091168152602001610149565b61015a6103f2366004610ff9565b610939565b6103ff61098a565b60405160ff9091168152602001610149565b6103c161041f366004610f23565b610a0d565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611012565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909160008051602061112c83398151915290506040518060e0016040528061050d600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c0909201916105779061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546105a39061102f565b80156105f05780601f106105c5576101008083540402835291602001916105f0565b820191906000526020600020905b8154815290600101906020018083116105d357829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b60008060008051602061116c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611069565b1192915050565b600060008051602061112c83398151915254604051636939560f60e11b81523060048201526001600160a01b039091169063d272ac1e90602401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611082565b600060008051602061112c83398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a991906110ab565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6107dc610424565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561081c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084091906110c8565b60008051602061114c8339815191528054600160401b900460ff16806108745750805467ffffffffffffffff808416911610155b156108925760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556108be8585610b18565b6108c783610d59565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104a960008051602061114c8339815191525467ffffffffffffffff1690565b600060008051602061116c833981519152600101828154811061095e5761095e6110f2565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610994610424565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611108565b60008051602061114c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610a415750825b905060008267ffffffffffffffff166001148015610a5e5750303b155b905081158015610a6c575080155b15610a8a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ab457845460ff60401b1916600160401b1785555b610abe8888610b18565b610ac88787610d59565b8315610b0e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610b20610d5d565b60008051602061116c8339815191526000610b5160008051602061114c8339815191525467ffffffffffffffff1690565b90506000610b5d610424565b90508167ffffffffffffffff16600103610b8b5760028301805462ffffff191662ffffff8316179055610bdd565b600283015462ffffff90811690821611610bdd5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b03808916928401929092529086169082015260608101610c514290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906109089083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b61010b5b60008051602061114c83398151915254600160401b900460ff16610d9457604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215610da857600080fd5b81356001600160e01b031981168114610dc057600080fd5b9392505050565b6000815180845260005b81811015610ded57602081850181015186830182015201610dd1565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151610e5160a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610e97610120840182610dc7565b90508281036020840152610eab8185610dc7565b95945050505050565b602081526000610dc06020830184610dc7565b62ffffff81168114610ed857600080fd5b50565b600060208284031215610eed57600080fd5b8135610dc081610ec7565b6001600160a01b0381168114610ed857600080fd5b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215610f3857600080fd5b8335610f4381610ef8565b92506020840135610f5381610ef8565b9150604084013567ffffffffffffffff80821115610f7057600080fd5b818601915086601f830112610f8457600080fd5b813581811115610f9657610f96610f0d565b604051601f8201601f19908116603f01168101908382118183101715610fbe57610fbe610f0d565b81604052828152896020848701011115610fd757600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561100b57600080fd5b5035919050565b60006020828403121561102457600080fd5b8151610dc081610ec7565b600181811c9082168061104357607f821691505b60208210810361106357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561107b57600080fd5b5051919050565b60006020828403121561109457600080fd5b81516001600160601b0381168114610dc057600080fd5b6000602082840312156110bd57600080fd5b8151610dc081610ef8565b6000602082840312156110da57600080fd5b815167ffffffffffffffff81168114610dc057600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561111a57600080fd5b815160ff81168114610dc057600080fdfe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122033becd651d8bd7148de83be6e6e2bb2851c6b6a76cf4795604686e5c815e3b6964736f6c63430008140033",
498
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001e6738038062001e678339810160408190526200003491620006bc565b620000656301ffc9a760e01b600090815260205260008051602062001e47833981519152805460ff19166001179055565b600280546001600160a01b031916331790556200008162000096565b6200008d83826200014a565b50505062000966565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001475780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60006200017560408051808201909152600b81526a546573745365727669636560a81b602082015290565b6200017f62000209565b6040516020016200019292919062000706565b60408051601f1981840301815291905290506000620001b18462000296565b90506000620001c68583603c8488886200030a565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505050565b6000620002156200040c565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156200026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000291919062000760565b905090565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015620002de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030491906200078c565b92915050565b6200033b6301ffc9a760e01b600090815260205260008051602062001e47833981519152805460ff19166001179055565b62000347828762000494565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620003c683826200084f565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029191906200091b565b6001600160a01b038216620004f05760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b03841617905562000516816200051a565b5050565b6001546001600160a01b031615620005555760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620004e7565b6001600160a01b0381166200057d5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005b55760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004e7565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152632eaf856d60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000632575060408051601f3d908101601f191682019092526200062f9181019062000942565b60015b6200065c5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004e7565b80620005165760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620004e7565b80516001600160a01b03811681146200069f57600080fd5b919050565b80516001600160601b03811681146200069f57600080fd5b600080600060608486031215620006d257600080fd5b620006dd8462000687565b9250620006ed60208501620006a4565b9150620006fd6040850162000687565b90509250925092565b604081526000835180604084015260005b8181101562000736576020818701810151606086840101520162000717565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000602082840312156200077357600080fd5b815160ff811681146200078557600080fd5b9392505050565b6000602082840312156200079f57600080fd5b6200078582620006a4565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620007d557607f821691505b602082108103620007f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200084a57600081815260208120601f850160051c81016020861015620008255750805b601f850160051c820191505b81811015620008465782815560010162000831565b5050505b505050565b81516001600160401b038111156200086b576200086b620007aa565b62000883816200087c8454620007c0565b84620007fc565b602080601f831160018114620008bb5760008415620008a25750858301515b600019600386901b1c1916600185901b17855562000846565b600085815260208120601f198616915b82811015620008ec57888601518255948401946001909101908401620008cb565b50858210156200090b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200092e57600080fd5b815162ffffff811681146200078557600080fd5b6000602082840312156200095557600080fd5b815180151581146200078557600080fd5b6114d180620009766000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103d3578063b3c65015146103e6578063b88da75914610407578063cde749f41461041a578063cf7a1d771461043457600080fd5b8063644c45e01461034f578063893d20e81461037a578063946dfcfe14610382578063a3f4df7e146103a957600080fd5b806317d7de7c116100e957806317d7de7c146101995780631eff4b22146101c95780634d459c90146101fe5780634f421333146103175780635ab1bd531461032a57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461107d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610447565b60405162ffffff9091168152602001610154565b6101816104d1565b6040516101549291906110f4565b610197610653565b005b60408051808201909152600b81526a546573745365727669636560a81b60208201525b604051610154919061119b565b6101f07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b6102ba61020c3660046111c2565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061147c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486103253660046111c2565b610875565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610337610928565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101f0565b6101bc6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6101976103e136600461120a565b610a41565b6103ee610b9e565b60405167ffffffffffffffff9091168152602001610154565b6101656104153660046112e0565b610bc0565b610422610c11565b60405160ff9091168152602001610154565b61019761044236600461120a565b610c94565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906112f9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105546001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161059c610928565b6001600160a01b031681526020018260010180546105b990611316565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590611316565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190611350565b15610720576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107495760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611350565b6107de576040516372657a5160e01b81526001600160a01b0382166004820152602401610717565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611372565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061147c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610921919061139b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b19190611350565b15610a3157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015610a0d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113b4565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a63610447565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac791906113d1565b60008051602061145c8339815191528054600160401b900460ff1680610afb5750805467ffffffffffffffff808416911610155b15610b195760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b458585610d9f565b610b4e83611040565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104cc60008051602061145c8339815191525467ffffffffffffffff1690565b600060008051602061147c8339815191526001018281548110610be557610be56113fb565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610c1b610447565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c70573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc9190611411565b60008051602061145c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610cc85750825b905060008267ffffffffffffffff166001148015610ce55750303b155b905081158015610cf3575080155b15610d115760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d3b57845460ff60401b1916600160401b1785555b610d458888610d9f565b610d4f8787611040565b8315610d9557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610da7611044565b60008051602061147c8339815191526000610dd860008051602061145c8339815191525467ffffffffffffffff1690565b90506000610de4610447565b90508167ffffffffffffffff16600103610e125760028301805462ffffff191662ffffff8316179055610e60565b600283015462ffffff90811690821611610e605760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610717565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f389190611434565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b8f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061145c83398151915254600160401b900460ff1661107b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561108f57600080fd5b81356001600160e01b0319811681146110a757600080fd5b9392505050565b6000815180845260005b818110156110d4576020818501810151868301820152016110b8565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161113860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261117e6101208401826110ae565b9050828103602084015261119281856110ae565b95945050505050565b6020815260006110a760208301846110ae565b62ffffff811681146111bf57600080fd5b50565b6000602082840312156111d457600080fd5b81356110a7816111ae565b6001600160a01b03811681146111bf57600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561121f57600080fd5b833561122a816111df565b9250602084013561123a816111df565b9150604084013567ffffffffffffffff8082111561125757600080fd5b818601915086601f83011261126b57600080fd5b81358181111561127d5761127d6111f4565b604051601f8201601f19908116603f011681019083821181831017156112a5576112a56111f4565b816040528281528960208487010111156112be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112f257600080fd5b5035919050565b60006020828403121561130b57600080fd5b81516110a7816111ae565b600181811c9082168061132a57607f821691505b60208210810361134a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561136257600080fd5b815180151581146110a757600080fd5b60006020828403121561138457600080fd5b81516001600160601b03811681146110a757600080fd5b6000602082840312156113ad57600080fd5b5051919050565b6000602082840312156113c657600080fd5b81516110a7816111df565b6000602082840312156113e357600080fd5b815167ffffffffffffffff811681146110a757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561142357600080fd5b815160ff811681146110a757600080fd5b60006020828403121561144657600080fd5b815164ffffffffff811681146110a757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212200e6055615398c647183e09db857d1dc590846b770ed01bd1a465c6029ff8282264736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
499
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103d3578063b3c65015146103e6578063b88da75914610407578063cde749f41461041a578063cf7a1d771461043457600080fd5b8063644c45e01461034f578063893d20e81461037a578063946dfcfe14610382578063a3f4df7e146103a957600080fd5b806317d7de7c116100e957806317d7de7c146101995780631eff4b22146101c95780634d459c90146101fe5780634f421333146103175780635ab1bd531461032a57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461107d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610447565b60405162ffffff9091168152602001610154565b6101816104d1565b6040516101549291906110f4565b610197610653565b005b60408051808201909152600b81526a546573745365727669636560a81b60208201525b604051610154919061119b565b6101f07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b6102ba61020c3660046111c2565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061147c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486103253660046111c2565b610875565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610337610928565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101f0565b6101bc6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6101976103e136600461120a565b610a41565b6103ee610b9e565b60405167ffffffffffffffff9091168152602001610154565b6101656104153660046112e0565b610bc0565b610422610c11565b60405160ff9091168152602001610154565b61019761044236600461120a565b610c94565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906112f9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105546001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161059c610928565b6001600160a01b031681526020018260010180546105b990611316565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590611316565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190611350565b15610720576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107495760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611350565b6107de576040516372657a5160e01b81526001600160a01b0382166004820152602401610717565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611372565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061147c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610921919061139b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b19190611350565b15610a3157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa158015610a0d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113b4565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a63610447565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac791906113d1565b60008051602061145c8339815191528054600160401b900460ff1680610afb5750805467ffffffffffffffff808416911610155b15610b195760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b458585610d9f565b610b4e83611040565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104cc60008051602061145c8339815191525467ffffffffffffffff1690565b600060008051602061147c8339815191526001018281548110610be557610be56113fb565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610c1b610447565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c70573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc9190611411565b60008051602061145c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610cc85750825b905060008267ffffffffffffffff166001148015610ce55750303b155b905081158015610cf3575080155b15610d115760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d3b57845460ff60401b1916600160401b1785555b610d458888610d9f565b610d4f8787611040565b8315610d9557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610da7611044565b60008051602061147c8339815191526000610dd860008051602061145c8339815191525467ffffffffffffffff1690565b90506000610de4610447565b90508167ffffffffffffffff16600103610e125760028301805462ffffff191662ffffff8316179055610e60565b600283015462ffffff90811690821611610e605760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610717565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f389190611434565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b8f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061145c83398151915254600160401b900460ff1661107b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561108f57600080fd5b81356001600160e01b0319811681146110a757600080fd5b9392505050565b6000815180845260005b818110156110d4576020818501810151868301820152016110b8565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161113860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261117e6101208401826110ae565b9050828103602084015261119281856110ae565b95945050505050565b6020815260006110a760208301846110ae565b62ffffff811681146111bf57600080fd5b50565b6000602082840312156111d457600080fd5b81356110a7816111ae565b6001600160a01b03811681146111bf57600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561121f57600080fd5b833561122a816111df565b9250602084013561123a816111df565b9150604084013567ffffffffffffffff8082111561125757600080fd5b818601915086601f83011261126b57600080fd5b81358181111561127d5761127d6111f4565b604051601f8201601f19908116603f011681019083821181831017156112a5576112a56111f4565b816040528281528960208487010111156112be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112f257600080fd5b5035919050565b60006020828403121561130b57600080fd5b81516110a7816111ae565b600181811c9082168061132a57607f821691505b60208210810361134a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561136257600080fd5b815180151581146110a757600080fd5b60006020828403121561138457600080fd5b81516001600160601b03811681146110a757600080fd5b6000602082840312156113ad57600080fd5b5051919050565b6000602082840312156113c657600080fd5b81516110a7816111df565b6000602082840312156113e357600080fd5b815167ffffffffffffffff811681146110a757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561142357600080fd5b815160ff811681146110a757600080fd5b60006020828403121561144657600080fd5b815164ffffffffff811681146110a757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212200e6055615398c647183e09db857d1dc590846b770ed01bd1a465c6029ff8282264736f6c63430008140033",
412
500
  "linkReferences": {
413
501
  "contracts/types/Blocknumber.sol": {
414
502
  "BlocknumberLib": [
415
503
  {
416
504
  "length": 20,
417
- "start": 3682
505
+ "start": 4665
506
+ }
507
+ ]
508
+ },
509
+ "contracts/types/NftId.sol": {
510
+ "NftIdLib": [
511
+ {
512
+ "length": 20,
513
+ "start": 4081
514
+ },
515
+ {
516
+ "length": 20,
517
+ "start": 4809
518
+ }
519
+ ]
520
+ },
521
+ "contracts/types/Timestamp.sol": {
522
+ "TimestampLib": [
523
+ {
524
+ "length": 20,
525
+ "start": 6224
418
526
  }
419
527
  ]
420
528
  },
@@ -422,23 +530,23 @@
422
530
  "VersionLib": [
423
531
  {
424
532
  "length": 20,
425
- "start": 537
533
+ "start": 560
426
534
  },
427
535
  {
428
536
  "length": 20,
429
- "start": 1243
537
+ "start": 1075
430
538
  },
431
539
  {
432
540
  "length": 20,
433
- "start": 3150
541
+ "start": 3556
434
542
  },
435
543
  {
436
544
  "length": 20,
437
- "start": 4031
545
+ "start": 5049
438
546
  },
439
547
  {
440
548
  "length": 20,
441
- "start": 4530
549
+ "start": 5548
442
550
  }
443
551
  ]
444
552
  }
@@ -448,7 +556,27 @@
448
556
  "BlocknumberLib": [
449
557
  {
450
558
  "length": 20,
451
- "start": 1631
559
+ "start": 2243
560
+ }
561
+ ]
562
+ },
563
+ "contracts/types/NftId.sol": {
564
+ "NftIdLib": [
565
+ {
566
+ "length": 20,
567
+ "start": 1659
568
+ },
569
+ {
570
+ "length": 20,
571
+ "start": 2387
572
+ }
573
+ ]
574
+ },
575
+ "contracts/types/Timestamp.sol": {
576
+ "TimestampLib": [
577
+ {
578
+ "length": 20,
579
+ "start": 3802
452
580
  }
453
581
  ]
454
582
  },
@@ -456,15 +584,15 @@
456
584
  "VersionLib": [
457
585
  {
458
586
  "length": 20,
459
- "start": 1099
587
+ "start": 1134
460
588
  },
461
589
  {
462
590
  "length": 20,
463
- "start": 1980
591
+ "start": 2627
464
592
  },
465
593
  {
466
594
  "length": 20,
467
- "start": 2479
595
+ "start": 3126
468
596
  }
469
597
  ]
470
598
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
3
+ "buildInfo": "../../../build-info/ce7db40ae97aa24df12e0a58cae71404.json"
4
4
  }