@etherisc/gif-next 0.0.2-299fe4a-464 → 0.0.2-2a0a7d0-893

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/README.md +255 -8
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → components/Component.sol/Component.json} +275 -229
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +691 -0
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +413 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +90 -171
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +55 -177
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +539 -68
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +558 -72
  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/Require.sol/Require.json +2 -2
  26. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  28. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  30. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  32. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  40. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  42. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  43. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  44. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  45. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  46. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  47. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  48. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  49. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  50. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  51. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +764 -0
  52. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  53. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.json +185 -0
  54. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1132 -1182
  56. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  57. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +570 -0
  58. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/Instance.sol/Instance.json +1895 -1226
  60. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1034 -0
  62. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1381 -0
  64. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +956 -0
  66. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +460 -0
  68. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  69. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +261 -0
  70. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +595 -0
  72. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +100 -0
  74. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +429 -0
  76. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/{module/lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  78. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +502 -0
  80. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  82. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +254 -0
  84. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  86. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  88. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  90. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IRisk.sol/IRisk.json} +2 -2
  92. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/{pool/IPoolModule.sol/IPool.json → ISetup.sol/ISetup.json} +2 -2
  94. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  96. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  97. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1094 -0
  98. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +436 -0
  100. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  101. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +764 -0
  102. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +424 -0
  104. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +720 -0
  106. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/{IService.sol/IService.json → IDistributionService.sol/IDistributionService.json} +211 -65
  108. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +771 -0
  110. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  111. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +205 -82
  112. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  113. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +214 -155
  114. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  115. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1219 -0
  116. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  117. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +492 -0
  118. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  119. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +413 -114
  120. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +424 -0
  122. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  123. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +391 -228
  124. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  125. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +424 -0
  126. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  127. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +186 -12
  128. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  129. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +455 -36
  130. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  131. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +981 -0
  132. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  133. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  134. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  135. package/artifacts/contracts/registry/Registry.sol/Registry.json +465 -111
  136. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  137. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  138. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  139. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1187 -0
  140. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  141. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +451 -0
  142. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  143. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
  144. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  145. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +381 -0
  146. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  147. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  148. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  149. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  150. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  151. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  152. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  153. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
  154. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +179 -122
  156. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  157. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +60 -19
  158. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  159. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  160. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  161. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  162. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  163. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
  164. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +228 -73
  166. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  167. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  168. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  169. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  170. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  171. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +83 -19
  172. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  173. package/artifacts/contracts/test/TestFee.sol/TestFee.json +30 -6
  174. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  175. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
  176. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  177. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +44 -10
  178. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  179. package/artifacts/contracts/test/TestService.sol/TestService.json +283 -90
  180. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  181. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  182. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  183. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +14 -18
  184. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  185. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +106 -50
  186. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  187. package/artifacts/contracts/test/Usdc.sol/USDC.json +376 -0
  188. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  189. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +2 -2
  190. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  191. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  192. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  193. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  194. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  195. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  196. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  197. package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
  198. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  199. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
  200. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  201. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  202. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  203. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  204. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  205. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  206. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  207. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  208. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  209. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  210. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  211. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  212. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  213. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
  214. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  215. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  216. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  217. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
  218. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  219. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  220. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  221. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +479 -0
  222. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  223. package/artifacts/contracts/types/Version.sol/VersionLib.json +101 -2
  224. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  225. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  226. package/contracts/components/Component.sol +177 -0
  227. package/contracts/components/Distribution.sol +154 -0
  228. package/contracts/components/IComponent.sol +37 -0
  229. package/contracts/components/IDistributionComponent.sol +44 -0
  230. package/contracts/components/IPoolComponent.sol +19 -10
  231. package/contracts/components/IProductComponent.sol +25 -9
  232. package/contracts/components/Pool.sol +134 -50
  233. package/contracts/components/Product.sol +218 -40
  234. package/contracts/experiment/cloning/Cloner.sol +47 -0
  235. package/contracts/instance/BundleManager.sol +125 -0
  236. package/contracts/instance/Cloneable.sol +46 -0
  237. package/contracts/instance/IInstance.sol +55 -39
  238. package/contracts/instance/IInstanceService.sol +40 -0
  239. package/contracts/instance/Instance.sol +238 -47
  240. package/contracts/instance/InstanceAccessManager.sol +298 -0
  241. package/contracts/instance/InstanceReader.sol +293 -0
  242. package/contracts/instance/InstanceService.sol +362 -0
  243. package/contracts/instance/InstanceServiceManager.sol +54 -0
  244. package/contracts/instance/ObjectManager.sol +84 -0
  245. package/contracts/instance/base/ComponentService.sol +133 -0
  246. package/contracts/instance/base/IInstanceBase.sol +21 -0
  247. package/contracts/instance/base/IKeyValueStore.sol +49 -0
  248. package/contracts/instance/base/ILifecycle.sol +30 -0
  249. package/contracts/instance/base/KeyValueStore.sol +172 -0
  250. package/contracts/instance/{module/lifecycle/LifecycleModule.sol → base/Lifecycle.sol} +51 -40
  251. package/contracts/instance/module/IAccess.sol +48 -0
  252. package/contracts/instance/module/IBundle.sol +20 -0
  253. package/contracts/instance/module/IDistribution.sol +39 -0
  254. package/contracts/instance/module/IPolicy.sol +45 -0
  255. package/contracts/instance/module/IRisk.sol +11 -0
  256. package/contracts/instance/module/ISetup.sol +46 -0
  257. package/contracts/instance/module/ITreasury.sol +23 -0
  258. package/contracts/instance/service/BundleService.sol +293 -0
  259. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  260. package/contracts/instance/service/DistributionService.sol +115 -0
  261. package/contracts/instance/service/DistributionServiceManager.sol +51 -0
  262. package/contracts/instance/service/IBundleService.sol +44 -0
  263. package/contracts/instance/service/IDistributionService.sol +12 -0
  264. package/contracts/instance/service/IPolicyService.sol +94 -0
  265. package/contracts/instance/service/IPoolService.sol +8 -18
  266. package/contracts/instance/service/IProductService.sol +21 -39
  267. package/contracts/instance/service/PolicyService.sol +538 -0
  268. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  269. package/contracts/instance/service/PoolService.sol +110 -66
  270. package/contracts/instance/service/PoolServiceManager.sol +51 -0
  271. package/contracts/instance/service/ProductService.sol +178 -295
  272. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  273. package/contracts/registry/ChainNft.sol +79 -36
  274. package/contracts/registry/IRegistry.sol +65 -24
  275. package/contracts/registry/IRegistryService.sol +57 -0
  276. package/contracts/registry/ITransferInterceptor.sol +6 -0
  277. package/contracts/registry/Registry.sol +358 -287
  278. package/contracts/registry/RegistryAccessManager.sol +216 -0
  279. package/contracts/registry/RegistryService.sol +312 -0
  280. package/contracts/registry/RegistryServiceManager.sol +62 -0
  281. package/contracts/registry/ReleaseManager.sol +352 -0
  282. package/contracts/registry/TokenRegistry.sol +112 -0
  283. package/contracts/shared/ContractDeployerLib.sol +72 -0
  284. package/contracts/shared/ERC165.sol +6 -2
  285. package/contracts/shared/INftOwnable.sol +22 -0
  286. package/contracts/shared/IRegisterable.sol +8 -17
  287. package/contracts/shared/IService.sol +16 -0
  288. package/contracts/shared/IVersionable.sol +56 -12
  289. package/contracts/shared/NftOwnable.sol +136 -0
  290. package/contracts/shared/ProxyManager.sol +94 -0
  291. package/contracts/shared/Registerable.sol +63 -59
  292. package/contracts/shared/Service.sol +60 -0
  293. package/contracts/shared/TokenHandler.sol +27 -0
  294. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  295. package/contracts/shared/Versionable.sol +112 -57
  296. package/contracts/test/TestFee.sol +4 -4
  297. package/contracts/test/TestRegisterable.sol +5 -6
  298. package/contracts/test/TestRoleId.sol +2 -2
  299. package/contracts/test/TestService.sol +8 -18
  300. package/contracts/test/TestVersion.sol +4 -7
  301. package/contracts/test/TestVersionable.sol +2 -5
  302. package/contracts/test/Usdc.sol +26 -0
  303. package/contracts/types/DistributorType.sol +55 -0
  304. package/contracts/types/Fee.sol +44 -20
  305. package/contracts/types/Key32.sol +50 -0
  306. package/contracts/types/NftId.sol +16 -1
  307. package/contracts/types/NftIdSet.sol +26 -24
  308. package/contracts/types/NumberId.sol +52 -0
  309. package/contracts/types/ObjectType.sol +51 -14
  310. package/contracts/types/Referral.sol +85 -0
  311. package/contracts/types/RiskId.sol +43 -0
  312. package/contracts/types/RoleId.sol +65 -11
  313. package/contracts/types/StateId.sol +12 -2
  314. package/contracts/types/Timestamp.sol +7 -3
  315. package/contracts/types/UFixed.sol +144 -25
  316. package/contracts/types/Version.sol +42 -26
  317. package/package.json +7 -3
  318. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  319. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  320. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  321. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -174
  322. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  323. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  324. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  325. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  326. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  327. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  328. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  329. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  330. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  331. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  332. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  333. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
  334. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  335. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  336. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
  337. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  338. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  339. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  340. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  341. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  342. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  343. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  344. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  345. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  346. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  347. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  348. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  349. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  350. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  351. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  352. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  353. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  354. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  355. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  356. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  357. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  358. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +0 -4
  359. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +0 -10
  360. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +0 -4
  361. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +0 -10
  362. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  363. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  364. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -538
  365. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  366. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  367. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  368. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -538
  369. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  370. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -519
  371. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  372. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  373. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  374. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  375. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  376. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +0 -300
  377. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  378. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  379. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  380. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  381. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  382. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  383. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  384. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  385. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  386. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  387. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
  388. package/contracts/components/BaseComponent.sol +0 -89
  389. package/contracts/components/IBaseComponent.sol +0 -19
  390. package/contracts/experiment/statemachine/README.md +0 -112
  391. package/contracts/instance/IInstanceLinked.sol +0 -8
  392. package/contracts/instance/IServiceLinked.sol +0 -12
  393. package/contracts/instance/InstanceBase.sol +0 -74
  394. package/contracts/instance/module/access/Access.sol +0 -149
  395. package/contracts/instance/module/access/IAccess.sol +0 -53
  396. package/contracts/instance/module/bundle/BundleModule.sol +0 -228
  397. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  398. package/contracts/instance/module/component/ComponentModule.sol +0 -104
  399. package/contracts/instance/module/component/IComponent.sol +0 -53
  400. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  401. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  402. package/contracts/instance/module/policy/PolicyModule.sol +0 -84
  403. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  404. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  405. package/contracts/instance/module/product/IProductModule.sol +0 -6
  406. package/contracts/instance/module/product/ProductModule.sol +0 -8
  407. package/contracts/instance/module/treasury/ITreasury.sol +0 -104
  408. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  409. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -148
  410. package/contracts/instance/service/ComponentOwnerService.sol +0 -174
  411. package/contracts/instance/service/ComponentServiceBase.sol +0 -41
  412. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  413. package/contracts/instance/service/IService.sol +0 -15
  414. package/contracts/instance/service/ServiceBase.sol +0 -39
  415. package/contracts/registry/IChainNft.sol +0 -21
  416. package/contracts/registry/IRegistryLinked.sol +0 -8
  417. package/contracts/shared/IOwnable.sol +0 -6
  418. package/contracts/test/TestPool.sol +0 -22
  419. package/contracts/test/TestProduct.sol +0 -44
@@ -14,11 +14,120 @@
14
14
  "internalType": "NftId",
15
15
  "name": "registryNftId",
16
16
  "type": "uint96"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "initialOwner",
21
+ "type": "address"
17
22
  }
18
23
  ],
19
24
  "stateMutability": "nonpayable",
20
25
  "type": "constructor"
21
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
+ },
108
+ {
109
+ "inputs": [],
110
+ "name": "InvalidInitialization",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "NotInitializing",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "anonymous": false,
120
+ "inputs": [
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint64",
124
+ "name": "version",
125
+ "type": "uint64"
126
+ }
127
+ ],
128
+ "name": "Initialized",
129
+ "type": "event"
130
+ },
22
131
  {
23
132
  "anonymous": false,
24
133
  "inputs": [
@@ -41,7 +150,7 @@
41
150
  "type": "address"
42
151
  }
43
152
  ],
44
- "name": "LogVersionableActivated",
153
+ "name": "LogVersionableInitialized",
45
154
  "type": "event"
46
155
  },
47
156
  {
@@ -57,32 +166,14 @@
57
166
  "stateMutability": "view",
58
167
  "type": "function"
59
168
  },
60
- {
61
- "inputs": [
62
- {
63
- "internalType": "address",
64
- "name": "implementation",
65
- "type": "address"
66
- },
67
- {
68
- "internalType": "address",
69
- "name": "activatedBy",
70
- "type": "address"
71
- }
72
- ],
73
- "name": "activate",
74
- "outputs": [],
75
- "stateMutability": "nonpayable",
76
- "type": "function"
77
- },
78
169
  {
79
170
  "inputs": [],
80
- "name": "getData",
171
+ "name": "REGISTERABLE_LOCATION_V1",
81
172
  "outputs": [
82
173
  {
83
- "internalType": "bytes",
84
- "name": "data",
85
- "type": "bytes"
174
+ "internalType": "bytes32",
175
+ "name": "",
176
+ "type": "bytes32"
86
177
  }
87
178
  ],
88
179
  "stateMutability": "view",
@@ -90,38 +181,80 @@
90
181
  },
91
182
  {
92
183
  "inputs": [],
93
- "name": "getMajorVersion",
184
+ "name": "getDomain",
94
185
  "outputs": [
95
186
  {
96
- "internalType": "VersionPart",
97
- "name": "majorVersion",
187
+ "internalType": "ObjectType",
188
+ "name": "",
98
189
  "type": "uint8"
99
190
  }
100
191
  ],
101
- "stateMutability": "view",
192
+ "stateMutability": "pure",
102
193
  "type": "function"
103
194
  },
104
195
  {
105
196
  "inputs": [],
106
- "name": "getName",
197
+ "name": "getInitialInfo",
107
198
  "outputs": [
108
199
  {
109
- "internalType": "string",
110
- "name": "name",
111
- "type": "string"
200
+ "components": [
201
+ {
202
+ "internalType": "NftId",
203
+ "name": "nftId",
204
+ "type": "uint96"
205
+ },
206
+ {
207
+ "internalType": "NftId",
208
+ "name": "parentNftId",
209
+ "type": "uint96"
210
+ },
211
+ {
212
+ "internalType": "ObjectType",
213
+ "name": "objectType",
214
+ "type": "uint8"
215
+ },
216
+ {
217
+ "internalType": "bool",
218
+ "name": "isInterceptor",
219
+ "type": "bool"
220
+ },
221
+ {
222
+ "internalType": "address",
223
+ "name": "objectAddress",
224
+ "type": "address"
225
+ },
226
+ {
227
+ "internalType": "address",
228
+ "name": "initialOwner",
229
+ "type": "address"
230
+ },
231
+ {
232
+ "internalType": "bytes",
233
+ "name": "data",
234
+ "type": "bytes"
235
+ }
236
+ ],
237
+ "internalType": "struct IRegistry.ObjectInfo",
238
+ "name": "",
239
+ "type": "tuple"
240
+ },
241
+ {
242
+ "internalType": "bytes",
243
+ "name": "data",
244
+ "type": "bytes"
112
245
  }
113
246
  ],
114
- "stateMutability": "pure",
247
+ "stateMutability": "view",
115
248
  "type": "function"
116
249
  },
117
250
  {
118
251
  "inputs": [],
119
- "name": "getNftId",
252
+ "name": "getInitializedVersion",
120
253
  "outputs": [
121
254
  {
122
- "internalType": "NftId",
123
- "name": "nftId",
124
- "type": "uint96"
255
+ "internalType": "uint64",
256
+ "name": "",
257
+ "type": "uint64"
125
258
  }
126
259
  ],
127
260
  "stateMutability": "view",
@@ -129,12 +262,12 @@
129
262
  },
130
263
  {
131
264
  "inputs": [],
132
- "name": "getOwner",
265
+ "name": "getMajorVersion",
133
266
  "outputs": [
134
267
  {
135
- "internalType": "address",
136
- "name": "owner",
137
- "type": "address"
268
+ "internalType": "VersionPart",
269
+ "name": "majorVersion",
270
+ "type": "uint8"
138
271
  }
139
272
  ],
140
273
  "stateMutability": "view",
@@ -142,11 +275,11 @@
142
275
  },
143
276
  {
144
277
  "inputs": [],
145
- "name": "getParentNftId",
278
+ "name": "getNftId",
146
279
  "outputs": [
147
280
  {
148
281
  "internalType": "NftId",
149
- "name": "nftId",
282
+ "name": "",
150
283
  "type": "uint96"
151
284
  }
152
285
  ],
@@ -155,11 +288,11 @@
155
288
  },
156
289
  {
157
290
  "inputs": [],
158
- "name": "getRegistry",
291
+ "name": "getOwner",
159
292
  "outputs": [
160
293
  {
161
- "internalType": "contract IRegistry",
162
- "name": "registry",
294
+ "internalType": "address",
295
+ "name": "",
163
296
  "type": "address"
164
297
  }
165
298
  ],
@@ -168,15 +301,15 @@
168
301
  },
169
302
  {
170
303
  "inputs": [],
171
- "name": "getType",
304
+ "name": "getRegistry",
172
305
  "outputs": [
173
306
  {
174
- "internalType": "ObjectType",
307
+ "internalType": "contract IRegistry",
175
308
  "name": "",
176
- "type": "uint8"
309
+ "type": "address"
177
310
  }
178
311
  ],
179
- "stateMutability": "pure",
312
+ "stateMutability": "view",
180
313
  "type": "function"
181
314
  },
182
315
  {
@@ -251,15 +384,15 @@
251
384
  "name": "activatedBy",
252
385
  "type": "address"
253
386
  },
254
- {
255
- "internalType": "Blocknumber",
256
- "name": "activatedIn",
257
- "type": "uint32"
258
- },
259
387
  {
260
388
  "internalType": "Timestamp",
261
389
  "name": "activatedAt",
262
390
  "type": "uint40"
391
+ },
392
+ {
393
+ "internalType": "Blocknumber",
394
+ "name": "activatedIn",
395
+ "type": "uint32"
263
396
  }
264
397
  ],
265
398
  "internalType": "struct IVersionable.VersionInfo",
@@ -270,6 +403,29 @@
270
403
  "stateMutability": "view",
271
404
  "type": "function"
272
405
  },
406
+ {
407
+ "inputs": [
408
+ {
409
+ "internalType": "address",
410
+ "name": "implementation",
411
+ "type": "address"
412
+ },
413
+ {
414
+ "internalType": "address",
415
+ "name": "activatedBy",
416
+ "type": "address"
417
+ },
418
+ {
419
+ "internalType": "bytes",
420
+ "name": "data",
421
+ "type": "bytes"
422
+ }
423
+ ],
424
+ "name": "initialize",
425
+ "outputs": [],
426
+ "stateMutability": "nonpayable",
427
+ "type": "function"
428
+ },
273
429
  {
274
430
  "inputs": [
275
431
  {
@@ -278,7 +434,7 @@
278
434
  "type": "uint24"
279
435
  }
280
436
  ],
281
- "name": "isActivated",
437
+ "name": "isInitialized",
282
438
  "outputs": [
283
439
  {
284
440
  "internalType": "bool",
@@ -291,14 +447,8 @@
291
447
  },
292
448
  {
293
449
  "inputs": [],
294
- "name": "register",
295
- "outputs": [
296
- {
297
- "internalType": "NftId",
298
- "name": "nftId",
299
- "type": "uint96"
300
- }
301
- ],
450
+ "name": "linkToRegisteredNftId",
451
+ "outputs": [],
302
452
  "stateMutability": "nonpayable",
303
453
  "type": "function"
304
454
  },
@@ -320,54 +470,83 @@
320
470
  ],
321
471
  "stateMutability": "view",
322
472
  "type": "function"
473
+ },
474
+ {
475
+ "inputs": [
476
+ {
477
+ "internalType": "address",
478
+ "name": "implementation",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "internalType": "address",
483
+ "name": "activatedBy",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "internalType": "bytes",
488
+ "name": "data",
489
+ "type": "bytes"
490
+ }
491
+ ],
492
+ "name": "upgrade",
493
+ "outputs": [],
494
+ "stateMutability": "nonpayable",
495
+ "type": "function"
323
496
  }
324
497
  ],
325
- "bytecode": "0x60e06040523480156200001157600080fd5b506040516200302938038062003029833981810160405281019062000037919062000b34565b818181816200006c7f01ffc9a7000000000000000000000000000000000000000000000000000000006200039360201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d59062000bdc565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f06ecd8ef000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016200016f919062000c3b565b602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000c95565b620001f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ec9062000d17565b60405180910390fd5b806bffffffffffffffffffffffff1660a0816bffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663e74d052f60a0516040518263ffffffff1660e01b815260040162000258919062000d7c565b602060405180830381865afa15801562000276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029c919062000c95565b620002de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002d59062000e0f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050620003437f3bf74c8e000000000000000000000000000000000000000000000000000000006200039360201b60201c565b505062000358600033620003ff60201b60201c565b620003897fda309788000000000000000000000000000000000000000000000000000000006200039360201b60201c565b5050505062001201565b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000620004116200074d60201b60201c565b905062000424816200079a60201b60201c565b1562000467576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200045e9062000ea7565b60405180910390fd5b6000600280549050111562000519576000600260016002805490506200048e919062000f02565b81548110620004a257620004a162000f3d565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620004d582826200085a565b62000517576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200050e9062000fe2565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001620005c36200087160201b60201c565b63ffffffff168152602001620005de6200088960201b60201c565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405162000740939291906200105d565b60405180910390a1505050565b600062000795620007656003620008a160201b60201c565b620007776000620008a160201b60201c565b620007896000620008a160201b60201c565b620008ab60201b60201c565b905090565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016200080e9190620010e3565b602060405180830381865af41580156200082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000852919062001131565b119050919050565b60008162ffffff168362ffffff1611905092915050565b6000620008844362000a6d60201b60201c565b905090565b60006200089c4262000a7760201b60201c565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620008ec9190620011a9565b602060405180830381865af41580156200090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000930919062001131565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620009729190620011a9565b602060405180830381865af415801562000990573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b6919062001131565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620009f89190620011a9565b602060405180830381865af415801562000a16573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3c919062001131565b905080600883901b601085901b62000a559190620011c6565b62000a619190620011c6565b93505050509392505050565b6000819050919050565b6000819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ab38262000a86565b9050919050565b62000ac58162000aa6565b811462000ad157600080fd5b50565b60008151905062000ae58162000aba565b92915050565b60006bffffffffffffffffffffffff82169050919050565b62000b0e8162000aeb565b811462000b1a57600080fd5b50565b60008151905062000b2e8162000b03565b92915050565b6000806040838503121562000b4e5762000b4d62000a81565b5b600062000b5e8582860162000ad4565b925050602062000b718582860162000b1d565b9150509250929050565b600082825260208201905092915050565b7f4552524f523a5247422d3031303a52454749535452595f5a45524f0000000000600082015250565b600062000bc4601b8362000b7b565b915062000bd18262000b8c565b602082019050919050565b6000602082019050818103600083015262000bf78162000bb5565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000c358162000bfe565b82525050565b600060208201905062000c52600083018462000c2a565b92915050565b60008115159050919050565b62000c6f8162000c58565b811462000c7b57600080fd5b50565b60008151905062000c8f8162000c64565b92915050565b60006020828403121562000cae5762000cad62000a81565b5b600062000cbe8482850162000c7e565b91505092915050565b7f4552524f523a5247422d3031313a4e4f545f5245474953545259000000000000600082015250565b600062000cff601a8362000b7b565b915062000d0c8262000cc7565b602082019050919050565b6000602082019050818103600083015262000d328162000cf0565b9050919050565b6000819050919050565b600062000d6462000d5e62000d588462000aeb565b62000d39565b62000aeb565b9050919050565b62000d768162000d43565b82525050565b600060208201905062000d93600083018462000d6b565b92915050565b7f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560008201527f5245440000000000000000000000000000000000000000000000000000000000602082015250565b600062000df760238362000b7b565b915062000e048262000d99565b604082019050919050565b6000602082019050818103600083015262000e2a8162000de8565b9050919050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b600062000e8f60278362000b7b565b915062000e9c8262000e31565b604082019050919050565b6000602082019050818103600083015262000ec28162000e80565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f0f8262000ec9565b915062000f1c8362000ec9565b925082820390508181111562000f375762000f3662000ed3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b600062000fca60248362000b7b565b915062000fd78262000f6c565b604082019050919050565b6000602082019050818103600083015262000ffd8162000fbb565b9050919050565b600062ffffff82169050919050565b6000620010346200102e620010288462001004565b62000d39565b62001004565b9050919050565b620010468162001013565b82525050565b620010578162000aa6565b82525050565b60006060820190506200107460008301866200103b565b6200108360208301856200104c565b6200109260408301846200104c565b949350505050565b600063ffffffff82169050919050565b6000620010cb620010c5620010bf846200109a565b62000d39565b6200109a565b9050919050565b620010dd81620010aa565b82525050565b6000602082019050620010fa6000830184620010d2565b92915050565b6200110b8162000ec9565b81146200111757600080fd5b50565b6000815190506200112b8162001100565b92915050565b6000602082840312156200114a576200114962000a81565b5b60006200115a848285016200111a565b91505092915050565b600060ff82169050919050565b6000620011916200118b620011858462001163565b62000d39565b62001163565b9050919050565b620011a38162001170565b82525050565b6000602082019050620011c0600083018462001198565b92915050565b6000620011d38262000ec9565b9150620011e08362000ec9565b9250828201905080821115620011fb57620011fa62000ed3565b5b92915050565b60805160a05160c051611ddc6200124d60003960006109630152600061060b015260008181610568015281816107e70152818161080f015281816108b1015261098c0152611ddc6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634d459c90116100a2578063946dfcfe11610071578063946dfcfe146102ae5780639555c4db146102cc578063a3f4df7e146102e8578063b88da75914610306578063cde749f4146103365761010b565b80634d459c90146102245780635ab1bd5314610254578063644c45e014610272578063893d20e8146102905761010b565b806317d7de7c116100de57806317d7de7c146101ac5780631aa3a008146101ca57806331b62a3b146101e85780633bc5de30146102065761010b565b806301ffc9a7146101105780630abd8434146101405780630d8e6e2c1461017057806315dae03e1461018e575b600080fd5b61012a60048036038101906101259190611231565b610354565b6040516101379190611279565b60405180910390f35b61015a600480360381019061015591906112cf565b6103bb565b6040516101679190611279565b60405180910390f35b610178610476565b6040516101859190611337565b60405180910390f35b6101966104a3565b6040516101a39190611390565b60405180910390f35b6101b46104b2565b6040516101c1919061143b565b60405180910390f35b6101d26104ef565b6040516101df91906114a6565b60405180910390f35b6101f0610607565b6040516101fd91906114a6565b60405180910390f35b61020e61062f565b60405161021b9190611516565b60405180910390f35b61023e600480360381019061023991906112cf565b610646565b60405161024b9190611673565b60405180910390f35b61025c6107e3565b60405161026991906116e3565b60405180910390f35b61027a61080b565b60405161028791906114a6565b60405180910390f35b6102986108ac565b6040516102a5919061170d565b60405180910390f35b6102b6610a2b565b6040516102c39190611741565b60405180910390f35b6102e660048036038101906102e19190611788565b610a38565b005b6102f0610a46565b6040516102fd919061143b565b60405180910390f35b610320600480360381019061031b91906117f4565b610a7f565b60405161032d9190611337565b60405180910390f35b61033e610b08565b60405161034b9190611830565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b815260040161042d919061185a565b602060405180830381865af415801561044a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046e919061188a565b119050919050565b600061049e6104856003610bfc565b61048f6000610bfc565b6104996000610bfc565b610c06565b905090565b60006104ad610db5565b905090565b60606040518060400160405280600b81526020017f5465737453657276696365000000000000000000000000000000000000000000815250905090565b60006104f96108ac565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90611903565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105bf919061170d565b6020604051808303816000875af11580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061194f565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b606060405180602001604052806000815250905090565b61064e611167565b610657826103bb565b610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068d906119c8565b60405180910390fd5b600160008362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610866919061170d565b602060405180830381865afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a7919061194f565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610908919061170d565b602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610949919061194f565b905061095c81610957610dc6565b610dcb565b1561098a577f0000000000000000000000000000000000000000000000000000000000000000915050610a28565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016109e391906114a6565b602060405180830381865afa158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2491906119fd565b9150505b90565b6000600280549050905090565b610a428282610df4565b5050565b6040518060400160405280600b81526020017f546573745365727669636500000000000000000000000000000000000000000081525081565b60006002805490508210610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611a76565b60405180910390fd5b60028281548110610adc57610adb611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b799190611ada565b62ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b8152600401610bb69190611b16565b602060405180830381865af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611b5d565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610c459190611b99565b602060405180830381865af4158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c86919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610cc69190611b99565b602060405180830381865af4158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d07919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610d479190611b99565b602060405180830381865af4158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d88919061188a565b905080600883901b601085901b610d9f9190611be3565b610da99190611be3565b93505050509392505050565b6000610dc16028611112565b905090565b600090565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b6000610dfe610476565b9050610e09816103bb565b15610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090611c89565b60405180910390fd5b60006002805490501115610ef057600060026001600280549050610e6d9190611ca9565b81548110610e7e57610e7d611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610eaf828261111c565b610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590611d4f565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001610f92611133565b63ffffffff168152602001610fa5611143565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161110593929190611d6f565b60405180910390a1505050565b6000819050919050565b60008162ffffff168362ffffff1611905092915050565b600061113e43611153565b905090565b600061114e4261115d565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61120e816111d9565b811461121957600080fd5b50565b60008135905061122b81611205565b92915050565b600060208284031215611247576112466111d4565b5b60006112558482850161121c565b91505092915050565b60008115159050919050565b6112738161125e565b82525050565b600060208201905061128e600083018461126a565b92915050565b600062ffffff82169050919050565b6112ac81611294565b81146112b757600080fd5b50565b6000813590506112c9816112a3565b92915050565b6000602082840312156112e5576112e46111d4565b5b60006112f3848285016112ba565b91505092915050565b6000819050919050565b600061132161131c61131784611294565b6112fc565b611294565b9050919050565b61133181611306565b82525050565b600060208201905061134c6000830184611328565b92915050565b600060ff82169050919050565b600061137a61137561137084611352565b6112fc565b611352565b9050919050565b61138a8161135f565b82525050565b60006020820190506113a56000830184611381565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113e55780820151818401526020810190506113ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061140d826113ab565b61141781856113b6565b93506114278185602086016113c7565b611430816113f1565b840191505092915050565b600060208201905081810360008301526114558184611402565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b600061149061148b6114868461145d565b6112fc565b61145d565b9050919050565b6114a081611475565b82525050565b60006020820190506114bb6000830184611497565b92915050565b600081519050919050565b600082825260208201905092915050565b60006114e8826114c1565b6114f281856114cc565b93506115028185602086016113c7565b61150b816113f1565b840191505092915050565b6000602082019050818103600083015261153081846114dd565b905092915050565b61154181611306565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061157282611547565b9050919050565b61158281611567565b82525050565b600063ffffffff82169050919050565b60006115b36115ae6115a984611588565b6112fc565b611588565b9050919050565b6115c381611598565b82525050565b600064ffffffffff82169050919050565b60006115f56115f06115eb846115c9565b6112fc565b6115c9565b9050919050565b611605816115da565b82525050565b60a0820160008201516116216000850182611538565b5060208201516116346020850182611579565b5060408201516116476040850182611579565b50606082015161165a60608501826115ba565b50608082015161166d60808501826115fc565b50505050565b600060a082019050611688600083018461160b565b92915050565b60006116a96116a461169f84611547565b6112fc565b611547565b9050919050565b60006116bb8261168e565b9050919050565b60006116cd826116b0565b9050919050565b6116dd816116c2565b82525050565b60006020820190506116f860008301846116d4565b92915050565b61170781611567565b82525050565b600060208201905061172260008301846116fe565b92915050565b6000819050919050565b61173b81611728565b82525050565b60006020820190506117566000830184611732565b92915050565b61176581611567565b811461177057600080fd5b50565b6000813590506117828161175c565b92915050565b6000806040838503121561179f5761179e6111d4565b5b60006117ad85828601611773565b92505060206117be85828601611773565b9150509250929050565b6117d181611728565b81146117dc57600080fd5b50565b6000813590506117ee816117c8565b92915050565b60006020828403121561180a576118096111d4565b5b6000611818848285016117df565b91505092915050565b61182a8161135f565b82525050565b60006020820190506118456000830184611821565b92915050565b61185481611598565b82525050565b600060208201905061186f600083018461184b565b92915050565b600081519050611884816117c8565b92915050565b6000602082840312156118a05761189f6111d4565b5b60006118ae84828501611875565b91505092915050565b7f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000600082015250565b60006118ed6017836113b6565b91506118f8826118b7565b602082019050919050565b6000602082019050818103600083015261191c816118e0565b9050919050565b61192c8161145d565b811461193757600080fd5b50565b60008151905061194981611923565b92915050565b600060208284031215611965576119646111d4565b5b60006119738482850161193a565b91505092915050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b60006119b2601d836113b6565b91506119bd8261197c565b602082019050919050565b600060208201905081810360008301526119e1816119a5565b9050919050565b6000815190506119f78161175c565b92915050565b600060208284031215611a1357611a126111d4565b5b6000611a21848285016119e8565b91505092915050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b6000611a60601d836113b6565b9150611a6b82611a2a565b602082019050919050565b60006020820190508181036000830152611a8f81611a53565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611ad4816112a3565b92915050565b600060208284031215611af057611aef6111d4565b5b6000611afe84828501611ac5565b91505092915050565b611b1081611306565b82525050565b6000602082019050611b2b6000830184611b07565b92915050565b611b3a81611352565b8114611b4557600080fd5b50565b600081519050611b5781611b31565b92915050565b600060208284031215611b7357611b726111d4565b5b6000611b8184828501611b48565b91505092915050565b611b938161135f565b82525050565b6000602082019050611bae6000830184611b8a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bee82611728565b9150611bf983611728565b9250828201905080821115611c1157611c10611bb4565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000611c736027836113b6565b9150611c7e82611c17565b604082019050919050565b60006020820190508181036000830152611ca281611c66565b9050919050565b6000611cb482611728565b9150611cbf83611728565b9250828203905081811115611cd757611cd6611bb4565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000611d396024836113b6565b9150611d4482611cdd565b604082019050919050565b60006020820190508181036000830152611d6881611d2c565b9050919050565b6000606082019050611d846000830186611328565b611d9160208301856116fe565b611d9e60408301846116fe565b94935050505056fea264697066735822122088336087cc103848ae88cdc4e0c003a04a46d363ffcfc7dcb55e84b9c8bd69d164736f6c63430008140033",
326
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634d459c90116100a2578063946dfcfe11610071578063946dfcfe146102ae5780639555c4db146102cc578063a3f4df7e146102e8578063b88da75914610306578063cde749f4146103365761010b565b80634d459c90146102245780635ab1bd5314610254578063644c45e014610272578063893d20e8146102905761010b565b806317d7de7c116100de57806317d7de7c146101ac5780631aa3a008146101ca57806331b62a3b146101e85780633bc5de30146102065761010b565b806301ffc9a7146101105780630abd8434146101405780630d8e6e2c1461017057806315dae03e1461018e575b600080fd5b61012a60048036038101906101259190611231565b610354565b6040516101379190611279565b60405180910390f35b61015a600480360381019061015591906112cf565b6103bb565b6040516101679190611279565b60405180910390f35b610178610476565b6040516101859190611337565b60405180910390f35b6101966104a3565b6040516101a39190611390565b60405180910390f35b6101b46104b2565b6040516101c1919061143b565b60405180910390f35b6101d26104ef565b6040516101df91906114a6565b60405180910390f35b6101f0610607565b6040516101fd91906114a6565b60405180910390f35b61020e61062f565b60405161021b9190611516565b60405180910390f35b61023e600480360381019061023991906112cf565b610646565b60405161024b9190611673565b60405180910390f35b61025c6107e3565b60405161026991906116e3565b60405180910390f35b61027a61080b565b60405161028791906114a6565b60405180910390f35b6102986108ac565b6040516102a5919061170d565b60405180910390f35b6102b6610a2b565b6040516102c39190611741565b60405180910390f35b6102e660048036038101906102e19190611788565b610a38565b005b6102f0610a46565b6040516102fd919061143b565b60405180910390f35b610320600480360381019061031b91906117f4565b610a7f565b60405161032d9190611337565b60405180910390f35b61033e610b08565b60405161034b9190611830565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b815260040161042d919061185a565b602060405180830381865af415801561044a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046e919061188a565b119050919050565b600061049e6104856003610bfc565b61048f6000610bfc565b6104996000610bfc565b610c06565b905090565b60006104ad610db5565b905090565b60606040518060400160405280600b81526020017f5465737453657276696365000000000000000000000000000000000000000000815250905090565b60006104f96108ac565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90611903565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105bf919061170d565b6020604051808303816000875af11580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061194f565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b606060405180602001604052806000815250905090565b61064e611167565b610657826103bb565b610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068d906119c8565b60405180910390fd5b600160008362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610866919061170d565b602060405180830381865afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a7919061194f565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610908919061170d565b602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610949919061194f565b905061095c81610957610dc6565b610dcb565b1561098a577f0000000000000000000000000000000000000000000000000000000000000000915050610a28565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016109e391906114a6565b602060405180830381865afa158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2491906119fd565b9150505b90565b6000600280549050905090565b610a428282610df4565b5050565b6040518060400160405280600b81526020017f546573745365727669636500000000000000000000000000000000000000000081525081565b60006002805490508210610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611a76565b60405180910390fd5b60028281548110610adc57610adb611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b799190611ada565b62ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b8152600401610bb69190611b16565b602060405180830381865af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611b5d565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610c459190611b99565b602060405180830381865af4158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c86919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610cc69190611b99565b602060405180830381865af4158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d07919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610d479190611b99565b602060405180830381865af4158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d88919061188a565b905080600883901b601085901b610d9f9190611be3565b610da99190611be3565b93505050509392505050565b6000610dc16028611112565b905090565b600090565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b6000610dfe610476565b9050610e09816103bb565b15610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090611c89565b60405180910390fd5b60006002805490501115610ef057600060026001600280549050610e6d9190611ca9565b81548110610e7e57610e7d611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610eaf828261111c565b610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590611d4f565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001610f92611133565b63ffffffff168152602001610fa5611143565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161110593929190611d6f565b60405180910390a1505050565b6000819050919050565b60008162ffffff168362ffffff1611905092915050565b600061113e43611153565b905090565b600061114e4261115d565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61120e816111d9565b811461121957600080fd5b50565b60008135905061122b81611205565b92915050565b600060208284031215611247576112466111d4565b5b60006112558482850161121c565b91505092915050565b60008115159050919050565b6112738161125e565b82525050565b600060208201905061128e600083018461126a565b92915050565b600062ffffff82169050919050565b6112ac81611294565b81146112b757600080fd5b50565b6000813590506112c9816112a3565b92915050565b6000602082840312156112e5576112e46111d4565b5b60006112f3848285016112ba565b91505092915050565b6000819050919050565b600061132161131c61131784611294565b6112fc565b611294565b9050919050565b61133181611306565b82525050565b600060208201905061134c6000830184611328565b92915050565b600060ff82169050919050565b600061137a61137561137084611352565b6112fc565b611352565b9050919050565b61138a8161135f565b82525050565b60006020820190506113a56000830184611381565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113e55780820151818401526020810190506113ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061140d826113ab565b61141781856113b6565b93506114278185602086016113c7565b611430816113f1565b840191505092915050565b600060208201905081810360008301526114558184611402565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b600061149061148b6114868461145d565b6112fc565b61145d565b9050919050565b6114a081611475565b82525050565b60006020820190506114bb6000830184611497565b92915050565b600081519050919050565b600082825260208201905092915050565b60006114e8826114c1565b6114f281856114cc565b93506115028185602086016113c7565b61150b816113f1565b840191505092915050565b6000602082019050818103600083015261153081846114dd565b905092915050565b61154181611306565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061157282611547565b9050919050565b61158281611567565b82525050565b600063ffffffff82169050919050565b60006115b36115ae6115a984611588565b6112fc565b611588565b9050919050565b6115c381611598565b82525050565b600064ffffffffff82169050919050565b60006115f56115f06115eb846115c9565b6112fc565b6115c9565b9050919050565b611605816115da565b82525050565b60a0820160008201516116216000850182611538565b5060208201516116346020850182611579565b5060408201516116476040850182611579565b50606082015161165a60608501826115ba565b50608082015161166d60808501826115fc565b50505050565b600060a082019050611688600083018461160b565b92915050565b60006116a96116a461169f84611547565b6112fc565b611547565b9050919050565b60006116bb8261168e565b9050919050565b60006116cd826116b0565b9050919050565b6116dd816116c2565b82525050565b60006020820190506116f860008301846116d4565b92915050565b61170781611567565b82525050565b600060208201905061172260008301846116fe565b92915050565b6000819050919050565b61173b81611728565b82525050565b60006020820190506117566000830184611732565b92915050565b61176581611567565b811461177057600080fd5b50565b6000813590506117828161175c565b92915050565b6000806040838503121561179f5761179e6111d4565b5b60006117ad85828601611773565b92505060206117be85828601611773565b9150509250929050565b6117d181611728565b81146117dc57600080fd5b50565b6000813590506117ee816117c8565b92915050565b60006020828403121561180a576118096111d4565b5b6000611818848285016117df565b91505092915050565b61182a8161135f565b82525050565b60006020820190506118456000830184611821565b92915050565b61185481611598565b82525050565b600060208201905061186f600083018461184b565b92915050565b600081519050611884816117c8565b92915050565b6000602082840312156118a05761189f6111d4565b5b60006118ae84828501611875565b91505092915050565b7f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000600082015250565b60006118ed6017836113b6565b91506118f8826118b7565b602082019050919050565b6000602082019050818103600083015261191c816118e0565b9050919050565b61192c8161145d565b811461193757600080fd5b50565b60008151905061194981611923565b92915050565b600060208284031215611965576119646111d4565b5b60006119738482850161193a565b91505092915050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b60006119b2601d836113b6565b91506119bd8261197c565b602082019050919050565b600060208201905081810360008301526119e1816119a5565b9050919050565b6000815190506119f78161175c565b92915050565b600060208284031215611a1357611a126111d4565b5b6000611a21848285016119e8565b91505092915050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b6000611a60601d836113b6565b9150611a6b82611a2a565b602082019050919050565b60006020820190508181036000830152611a8f81611a53565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611ad4816112a3565b92915050565b600060208284031215611af057611aef6111d4565b5b6000611afe84828501611ac5565b91505092915050565b611b1081611306565b82525050565b6000602082019050611b2b6000830184611b07565b92915050565b611b3a81611352565b8114611b4557600080fd5b50565b600081519050611b5781611b31565b92915050565b600060208284031215611b7357611b726111d4565b5b6000611b8184828501611b48565b91505092915050565b611b938161135f565b82525050565b6000602082019050611bae6000830184611b8a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bee82611728565b9150611bf983611728565b9250828201905080821115611c1157611c10611bb4565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000611c736027836113b6565b9150611c7e82611c17565b604082019050919050565b60006020820190508181036000830152611ca281611c66565b9050919050565b6000611cb482611728565b9150611cbf83611728565b9250828203905081811115611cd757611cd6611bb4565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000611d396024836113b6565b9150611d4482611cdd565b604082019050919050565b60006020820190508181036000830152611d6881611d2c565b9050919050565b6000606082019050611d846000830186611328565b611d9160208301856116fe565b611d9e60408301846116fe565b94935050505056fea264697066735822122088336087cc103848ae88cdc4e0c003a04a46d363ffcfc7dcb55e84b9c8bd69d164736f6c63430008140033",
498
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001dcc38038062001dcc83398101604081905262000034916200069b565b620000656301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b600280546001600160a01b031916331790556200008162000096565b6200008d83826200014a565b505050620008eb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001475780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000606e62000158620001ed565b6040805160ff9384166020820152929091169082015260600160408051601f1981840301815291905290506000620001908462000275565b90506000620001a58583603c848888620002e9565b637b6a51fd60e01b60009081526020527f9104d64c0a509f323b61ab0d4830bb2242bc1a960637a1dcf1f2b72e0a7bd64d805460ff191660011790555050505050565b905090565b6000620001f9620003eb565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620006e5565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e3919062000711565b92915050565b6200031a6301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b62000326828762000473565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620003a58382620007d4565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200044d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620008a0565b6001600160a01b038216620004cf5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b038416179055620004f581620004f9565b5050565b6001546001600160a01b031615620005345760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620004c6565b6001600160a01b0381166200055c5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005945760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526316c8f9ff60e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000611575060408051601f3d908101601f191682019092526200060e91810190620008c7565b60015b6200063b5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b80620004f55760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620004c6565b80516001600160a01b03811681146200067e57600080fd5b919050565b80516001600160601b03811681146200067e57600080fd5b600080600060608486031215620006b157600080fd5b620006bc8462000666565b9250620006cc6020850162000683565b9150620006dc6040850162000666565b90509250925092565b600060208284031215620006f857600080fd5b815160ff811681146200070a57600080fd5b9392505050565b6000602082840312156200072457600080fd5b6200070a8262000683565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200075a57607f821691505b6020821081036200077b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007cf57600081815260208120601f850160051c81016020861015620007aa5750805b601f850160051c820191505b81811015620007cb57828155600101620007b6565b5050505b505050565b81516001600160401b03811115620007f057620007f06200072f565b620008088162000801845462000745565b8462000781565b602080601f831160018114620008405760008415620008275750858301515b600019600386901b1c1916600185901b178555620007cb565b600085815260208120601f198616915b82811015620008715788860151825594840194600190910190840162000850565b5085821015620008905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008b357600080fd5b815162ffffff811681146200070a57600080fd5b600060208284031215620008da57600080fd5b815180151581146200070a57600080fd5b6114b180620008fb6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220ca67d4516422640ed8d5522f8923b5754814d831d8e2d55ead6e28294401d6e264736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
499
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220ca67d4516422640ed8d5522f8923b5754814d831d8e2d55ead6e28294401d6e264736f6c63430008140033",
327
500
  "linkReferences": {
328
501
  "contracts/types/Blocknumber.sol": {
329
502
  "BlocknumberLib": [
330
503
  {
331
504
  "length": 20,
332
- "start": 2006
505
+ "start": 4510
506
+ }
507
+ ]
508
+ },
509
+ "contracts/types/NftId.sol": {
510
+ "NftIdLib": [
511
+ {
512
+ "length": 20,
513
+ "start": 3926
333
514
  },
334
515
  {
335
516
  "length": 20,
336
- "start": 5700
517
+ "start": 4654
337
518
  }
338
519
  ]
339
520
  },
340
- "contracts/types/Version.sol": {
341
- "VersionLib": [
521
+ "contracts/types/Timestamp.sol": {
522
+ "TimestampLib": [
342
523
  {
343
524
  "length": 20,
344
- "start": 7629
525
+ "start": 6069
345
526
  }
346
- ],
347
- "VersionPartLib": [
348
- {
349
- "length": 20,
350
- "start": 2228
351
- },
527
+ ]
528
+ },
529
+ "contracts/types/Version.sol": {
530
+ "VersionLib": [
352
531
  {
353
532
  "length": 20,
354
- "start": 2362
533
+ "start": 532
355
534
  },
356
535
  {
357
536
  "length": 20,
358
- "start": 2496
537
+ "start": 1042
359
538
  },
360
539
  {
361
540
  "length": 20,
362
- "start": 7772
541
+ "start": 3401
363
542
  },
364
543
  {
365
544
  "length": 20,
366
- "start": 7901
545
+ "start": 4894
367
546
  },
368
547
  {
369
548
  "length": 20,
370
- "start": 8030
549
+ "start": 5393
371
550
  }
372
551
  ]
373
552
  }
@@ -377,29 +556,43 @@
377
556
  "BlocknumberLib": [
378
557
  {
379
558
  "length": 20,
380
- "start": 1015
559
+ "start": 2211
381
560
  }
382
561
  ]
383
562
  },
384
- "contracts/types/Version.sol": {
385
- "VersionLib": [
563
+ "contracts/types/NftId.sol": {
564
+ "NftIdLib": [
565
+ {
566
+ "length": 20,
567
+ "start": 1627
568
+ },
386
569
  {
387
570
  "length": 20,
388
- "start": 2944
571
+ "start": 2355
389
572
  }
390
- ],
391
- "VersionPartLib": [
573
+ ]
574
+ },
575
+ "contracts/types/Timestamp.sol": {
576
+ "TimestampLib": [
577
+ {
578
+ "length": 20,
579
+ "start": 3770
580
+ }
581
+ ]
582
+ },
583
+ "contracts/types/Version.sol": {
584
+ "VersionLib": [
392
585
  {
393
586
  "length": 20,
394
- "start": 3087
587
+ "start": 1102
395
588
  },
396
589
  {
397
590
  "length": 20,
398
- "start": 3216
591
+ "start": 2595
399
592
  },
400
593
  {
401
594
  "length": 20,
402
- "start": 3345
595
+ "start": 3094
403
596
  }
404
597
  ]
405
598
  }