@etherisc/gif-next 0.0.2-ebbe63d → 0.0.2-efdb520-159

Sign up to get free protection for your applications and to get access to all the features.
Files changed (275) hide show
  1. package/README.md +220 -1
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +174 -0
  4. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  5. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +174 -0
  6. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +356 -0
  8. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +279 -0
  10. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +4 -0
  11. package/artifacts/contracts/components/Pool.sol/Pool.json +387 -0
  12. package/artifacts/contracts/components/Product.sol/Product.dbg.json +4 -0
  13. package/artifacts/contracts/components/Product.sol/Product.json +305 -0
  14. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +4 -0
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +105 -0
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +4 -0
  17. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +105 -0
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +128 -0
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +42 -0
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +76 -0
  24. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +4 -0
  25. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +89 -0
  26. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +4 -0
  27. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +128 -0
  28. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +4 -0
  29. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +37 -0
  30. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +4 -0
  31. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +50 -0
  32. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +4 -0
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +63 -0
  34. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +4 -0
  35. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +59 -0
  36. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +4 -0
  37. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +124 -0
  38. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +4 -0
  39. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +74 -0
  40. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +4 -0
  41. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +124 -0
  42. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +4 -0
  43. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +207 -0
  44. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +4 -0
  45. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +10 -0
  46. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +4 -0
  47. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +10 -0
  48. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +4 -0
  49. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +2022 -0
  50. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
  51. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +24 -0
  52. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +4 -0
  53. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +50 -0
  54. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +4 -0
  55. package/artifacts/contracts/instance/Instance.sol/Instance.json +2288 -0
  56. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  57. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +313 -0
  58. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +333 -0
  60. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
  61. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.json +10 -0
  62. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  63. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +333 -0
  64. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
  65. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +276 -0
  66. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
  67. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
  68. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
  69. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +276 -0
  70. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  71. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
  72. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
  73. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +10 -0
  74. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +188 -0
  76. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +134 -0
  78. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.json +182 -0
  80. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +221 -0
  82. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.json +10 -0
  84. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +261 -0
  86. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +261 -0
  88. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +10 -0
  90. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +149 -0
  92. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +149 -0
  94. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +10 -0
  96. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +4 -0
  97. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +10 -0
  98. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
  99. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +10 -0
  100. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
  101. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +538 -0
  102. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  103. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
  104. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
  105. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +538 -0
  106. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +519 -0
  108. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +300 -0
  110. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  111. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
  112. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  113. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
  114. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  115. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
  116. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +4 -0
  117. package/artifacts/contracts/instance/service/IService.sol/IService.json +300 -0
  118. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  119. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +499 -0
  120. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  121. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +685 -0
  122. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  123. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +300 -0
  124. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +4 -0
  125. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +597 -0
  126. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +4 -0
  127. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +452 -0
  128. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +4 -0
  129. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +305 -0
  130. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  131. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
  132. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +4 -0
  133. package/artifacts/contracts/registry/Registry.sol/Registry.json +472 -0
  134. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  136. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
  137. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +24 -0
  138. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  139. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +121 -0
  140. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
  142. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +121 -0
  144. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  145. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
  146. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  147. package/artifacts/contracts/test/TestFee.sol/TestFee.json +95 -0
  148. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
  149. package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
  150. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
  151. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
  152. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  153. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
  154. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  155. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
  156. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  157. package/artifacts/contracts/test/TestService.sol/TestService.json +407 -0
  158. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  159. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  160. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  161. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +222 -0
  162. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  163. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +230 -0
  164. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  165. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  166. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  167. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +174 -0
  168. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +4 -0
  169. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +10 -0
  170. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +4 -0
  171. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +92 -0
  172. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  173. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  174. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  175. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +92 -0
  176. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +4 -0
  177. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +92 -0
  178. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +4 -0
  179. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +236 -0
  180. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +4 -0
  181. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +453 -0
  182. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  183. package/artifacts/contracts/types/Version.sol/VersionLib.json +78 -0
  184. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  185. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  186. package/contracts/components/BaseComponent.sol +89 -0
  187. package/contracts/components/IBaseComponent.sol +19 -0
  188. package/contracts/components/IPoolComponent.sol +57 -0
  189. package/contracts/components/IProductComponent.sol +19 -0
  190. package/contracts/components/Pool.sol +174 -0
  191. package/contracts/components/Product.sol +117 -0
  192. package/contracts/experiment/errors/Require.sol +38 -0
  193. package/contracts/experiment/errors/Revert.sol +44 -0
  194. package/contracts/experiment/inheritance/A.sol +53 -0
  195. package/contracts/experiment/inheritance/B.sol +28 -0
  196. package/contracts/experiment/inheritance/C.sol +34 -0
  197. package/contracts/experiment/inheritance/IA.sol +13 -0
  198. package/contracts/experiment/inheritance/IB.sol +10 -0
  199. package/contracts/experiment/inheritance/IC.sol +12 -0
  200. package/contracts/experiment/statemachine/Dummy.sol +27 -0
  201. package/contracts/experiment/statemachine/ISM.sol +25 -0
  202. package/contracts/experiment/statemachine/README.md +112 -0
  203. package/contracts/experiment/statemachine/SM.sol +57 -0
  204. package/contracts/experiment/statemachine/SimpleStateMachine.sol +31 -0
  205. package/contracts/experiment/types/TypeA.sol +47 -0
  206. package/contracts/experiment/types/TypeB.sol +29 -0
  207. package/contracts/instance/IInstance.sol +50 -0
  208. package/contracts/instance/IInstanceLinked.sol +8 -0
  209. package/contracts/instance/IServiceLinked.sol +12 -0
  210. package/contracts/instance/Instance.sol +62 -0
  211. package/contracts/instance/InstanceBase.sol +74 -0
  212. package/contracts/instance/module/access/Access.sol +149 -0
  213. package/contracts/instance/module/access/IAccess.sol +53 -0
  214. package/contracts/instance/module/bundle/BundleModule.sol +228 -0
  215. package/contracts/instance/module/bundle/IBundle.sol +53 -0
  216. package/contracts/instance/module/component/ComponentModule.sol +104 -0
  217. package/contracts/instance/module/component/IComponent.sol +53 -0
  218. package/contracts/instance/module/lifecycle/ILifecycle.sol +47 -0
  219. package/contracts/instance/module/lifecycle/LifecycleModule.sol +89 -0
  220. package/contracts/instance/module/policy/IPolicy.sol +60 -0
  221. package/contracts/instance/module/policy/PolicyModule.sol +84 -0
  222. package/contracts/instance/module/pool/IPoolModule.sol +41 -0
  223. package/contracts/instance/module/pool/PoolModule.sol +87 -0
  224. package/contracts/instance/module/product/IProductModule.sol +6 -0
  225. package/contracts/instance/module/product/ProductModule.sol +8 -0
  226. package/contracts/instance/module/treasury/ITreasury.sol +104 -0
  227. package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
  228. package/contracts/instance/module/treasury/TreasuryModule.sol +148 -0
  229. package/contracts/instance/service/ComponentOwnerService.sol +174 -0
  230. package/contracts/instance/service/ComponentServiceBase.sol +41 -0
  231. package/contracts/instance/service/IComponentOwnerService.sol +22 -0
  232. package/contracts/instance/service/IPoolService.sol +30 -0
  233. package/contracts/instance/service/IProductService.sol +58 -0
  234. package/contracts/instance/service/IService.sol +15 -0
  235. package/contracts/instance/service/PoolService.sol +98 -0
  236. package/contracts/instance/service/ProductService.sol +358 -0
  237. package/contracts/instance/service/ServiceBase.sol +39 -0
  238. package/contracts/registry/ChainNft.sol +159 -0
  239. package/contracts/registry/IChainNft.sol +21 -0
  240. package/contracts/registry/IRegistry.sol +57 -0
  241. package/contracts/registry/IRegistryLinked.sol +8 -0
  242. package/contracts/registry/Registry.sol +381 -0
  243. package/contracts/shared/ERC165.sol +21 -0
  244. package/contracts/shared/IOwnable.sol +6 -0
  245. package/contracts/shared/IRegisterable.sol +24 -0
  246. package/contracts/shared/IVersionable.sol +52 -0
  247. package/contracts/shared/Registerable.sol +86 -0
  248. package/contracts/shared/Versionable.sol +92 -0
  249. package/contracts/test/TestFee.sol +25 -0
  250. package/contracts/test/TestPool.sol +22 -0
  251. package/contracts/test/TestProduct.sol +44 -0
  252. package/contracts/test/TestRegisterable.sol +19 -0
  253. package/contracts/test/TestRoleId.sol +14 -0
  254. package/contracts/test/TestService.sol +35 -0
  255. package/contracts/{Dip.sol → test/TestToken.sol} +5 -5
  256. package/contracts/test/TestVersion.sol +47 -0
  257. package/contracts/test/TestVersionable.sol +20 -0
  258. package/contracts/types/AddressSet.sol +58 -0
  259. package/contracts/types/Blocknumber.sol +118 -0
  260. package/contracts/types/ChainId.sol +38 -0
  261. package/contracts/types/Fee.sol +32 -0
  262. package/contracts/types/NftId.sol +57 -0
  263. package/contracts/types/NftIdSet.sol +60 -0
  264. package/contracts/types/ObjectType.sol +115 -0
  265. package/contracts/types/RoleId.sol +36 -0
  266. package/contracts/types/StateId.sol +95 -0
  267. package/contracts/types/Timestamp.sol +123 -0
  268. package/contracts/types/UFixed.sol +206 -0
  269. package/contracts/types/Version.sol +91 -0
  270. package/package.json +24 -9
  271. package/artifacts/contracts/Dip.sol/DIP.dbg.json +0 -4
  272. package/artifacts/contracts/Dip.sol/DIP.json +0 -338
  273. package/artifacts/contracts/Lock.sol/Lock.dbg.json +0 -4
  274. package/artifacts/contracts/Lock.sol/Lock.json +0 -74
  275. package/contracts/Lock.sol +0 -34
@@ -0,0 +1,472 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Registry",
4
+ "sourceName": "contracts/registry/Registry.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "EMPTY_URI",
9
+ "outputs": [
10
+ {
11
+ "internalType": "string",
12
+ "name": "",
13
+ "type": "string"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "getChainNft",
22
+ "outputs": [
23
+ {
24
+ "internalType": "contract IChainNft",
25
+ "name": "",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "getData",
35
+ "outputs": [
36
+ {
37
+ "internalType": "bytes",
38
+ "name": "data",
39
+ "type": "bytes"
40
+ }
41
+ ],
42
+ "stateMutability": "pure",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [
47
+ {
48
+ "internalType": "NftId",
49
+ "name": "nftId",
50
+ "type": "uint96"
51
+ }
52
+ ],
53
+ "name": "getName",
54
+ "outputs": [
55
+ {
56
+ "internalType": "string",
57
+ "name": "name",
58
+ "type": "string"
59
+ }
60
+ ],
61
+ "stateMutability": "view",
62
+ "type": "function"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "getNftId",
67
+ "outputs": [
68
+ {
69
+ "internalType": "NftId",
70
+ "name": "nftId",
71
+ "type": "uint96"
72
+ }
73
+ ],
74
+ "stateMutability": "view",
75
+ "type": "function"
76
+ },
77
+ {
78
+ "inputs": [
79
+ {
80
+ "internalType": "address",
81
+ "name": "object",
82
+ "type": "address"
83
+ }
84
+ ],
85
+ "name": "getNftId",
86
+ "outputs": [
87
+ {
88
+ "internalType": "NftId",
89
+ "name": "id",
90
+ "type": "uint96"
91
+ }
92
+ ],
93
+ "stateMutability": "view",
94
+ "type": "function"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "getObjectCount",
99
+ "outputs": [
100
+ {
101
+ "internalType": "uint256",
102
+ "name": "",
103
+ "type": "uint256"
104
+ }
105
+ ],
106
+ "stateMutability": "view",
107
+ "type": "function"
108
+ },
109
+ {
110
+ "inputs": [
111
+ {
112
+ "internalType": "NftId",
113
+ "name": "nftId",
114
+ "type": "uint96"
115
+ }
116
+ ],
117
+ "name": "getObjectInfo",
118
+ "outputs": [
119
+ {
120
+ "components": [
121
+ {
122
+ "internalType": "NftId",
123
+ "name": "nftId",
124
+ "type": "uint96"
125
+ },
126
+ {
127
+ "internalType": "NftId",
128
+ "name": "parentNftId",
129
+ "type": "uint96"
130
+ },
131
+ {
132
+ "internalType": "ObjectType",
133
+ "name": "objectType",
134
+ "type": "uint8"
135
+ },
136
+ {
137
+ "internalType": "address",
138
+ "name": "objectAddress",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "internalType": "address",
143
+ "name": "initialOwner",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "internalType": "bytes",
148
+ "name": "data",
149
+ "type": "bytes"
150
+ }
151
+ ],
152
+ "internalType": "struct IRegistry.ObjectInfo",
153
+ "name": "info",
154
+ "type": "tuple"
155
+ }
156
+ ],
157
+ "stateMutability": "view",
158
+ "type": "function"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "getOwner",
163
+ "outputs": [
164
+ {
165
+ "internalType": "address",
166
+ "name": "owner",
167
+ "type": "address"
168
+ }
169
+ ],
170
+ "stateMutability": "view",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [
175
+ {
176
+ "internalType": "NftId",
177
+ "name": "nftId",
178
+ "type": "uint96"
179
+ }
180
+ ],
181
+ "name": "getOwner",
182
+ "outputs": [
183
+ {
184
+ "internalType": "address",
185
+ "name": "",
186
+ "type": "address"
187
+ }
188
+ ],
189
+ "stateMutability": "view",
190
+ "type": "function"
191
+ },
192
+ {
193
+ "inputs": [],
194
+ "name": "getParentNftId",
195
+ "outputs": [
196
+ {
197
+ "internalType": "NftId",
198
+ "name": "nftId",
199
+ "type": "uint96"
200
+ }
201
+ ],
202
+ "stateMutability": "view",
203
+ "type": "function"
204
+ },
205
+ {
206
+ "inputs": [],
207
+ "name": "getProtocolOwner",
208
+ "outputs": [
209
+ {
210
+ "internalType": "address",
211
+ "name": "",
212
+ "type": "address"
213
+ }
214
+ ],
215
+ "stateMutability": "view",
216
+ "type": "function"
217
+ },
218
+ {
219
+ "inputs": [],
220
+ "name": "getRegistry",
221
+ "outputs": [
222
+ {
223
+ "internalType": "contract IRegistry",
224
+ "name": "registry",
225
+ "type": "address"
226
+ }
227
+ ],
228
+ "stateMutability": "view",
229
+ "type": "function"
230
+ },
231
+ {
232
+ "inputs": [
233
+ {
234
+ "internalType": "string",
235
+ "name": "serviceName",
236
+ "type": "string"
237
+ },
238
+ {
239
+ "internalType": "VersionPart",
240
+ "name": "majorVersion",
241
+ "type": "uint8"
242
+ }
243
+ ],
244
+ "name": "getServiceAddress",
245
+ "outputs": [
246
+ {
247
+ "internalType": "address",
248
+ "name": "serviceAddress",
249
+ "type": "address"
250
+ }
251
+ ],
252
+ "stateMutability": "view",
253
+ "type": "function"
254
+ },
255
+ {
256
+ "inputs": [],
257
+ "name": "getType",
258
+ "outputs": [
259
+ {
260
+ "internalType": "ObjectType",
261
+ "name": "objectType",
262
+ "type": "uint8"
263
+ }
264
+ ],
265
+ "stateMutability": "pure",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "internalType": "address",
272
+ "name": "chainNft",
273
+ "type": "address"
274
+ },
275
+ {
276
+ "internalType": "address",
277
+ "name": "protocolOwner",
278
+ "type": "address"
279
+ }
280
+ ],
281
+ "name": "initialize",
282
+ "outputs": [],
283
+ "stateMutability": "nonpayable",
284
+ "type": "function"
285
+ },
286
+ {
287
+ "inputs": [
288
+ {
289
+ "internalType": "address",
290
+ "name": "object",
291
+ "type": "address"
292
+ }
293
+ ],
294
+ "name": "isRegistered",
295
+ "outputs": [
296
+ {
297
+ "internalType": "bool",
298
+ "name": "",
299
+ "type": "bool"
300
+ }
301
+ ],
302
+ "stateMutability": "view",
303
+ "type": "function"
304
+ },
305
+ {
306
+ "inputs": [
307
+ {
308
+ "internalType": "NftId",
309
+ "name": "nftId",
310
+ "type": "uint96"
311
+ }
312
+ ],
313
+ "name": "isRegistered",
314
+ "outputs": [
315
+ {
316
+ "internalType": "bool",
317
+ "name": "",
318
+ "type": "bool"
319
+ }
320
+ ],
321
+ "stateMutability": "view",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [],
326
+ "name": "register",
327
+ "outputs": [
328
+ {
329
+ "internalType": "NftId",
330
+ "name": "nftId",
331
+ "type": "uint96"
332
+ }
333
+ ],
334
+ "stateMutability": "pure",
335
+ "type": "function"
336
+ },
337
+ {
338
+ "inputs": [
339
+ {
340
+ "internalType": "address",
341
+ "name": "objectAddress",
342
+ "type": "address"
343
+ }
344
+ ],
345
+ "name": "register",
346
+ "outputs": [
347
+ {
348
+ "internalType": "NftId",
349
+ "name": "nftId",
350
+ "type": "uint96"
351
+ }
352
+ ],
353
+ "stateMutability": "nonpayable",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [
358
+ {
359
+ "internalType": "NftId",
360
+ "name": "parentNftId",
361
+ "type": "uint96"
362
+ },
363
+ {
364
+ "internalType": "ObjectType",
365
+ "name": "objectType",
366
+ "type": "uint8"
367
+ },
368
+ {
369
+ "internalType": "address",
370
+ "name": "initialOwner",
371
+ "type": "address"
372
+ },
373
+ {
374
+ "internalType": "bytes",
375
+ "name": "data",
376
+ "type": "bytes"
377
+ }
378
+ ],
379
+ "name": "registerObjectForInstance",
380
+ "outputs": [
381
+ {
382
+ "internalType": "NftId",
383
+ "name": "nftId",
384
+ "type": "uint96"
385
+ }
386
+ ],
387
+ "stateMutability": "nonpayable",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [
392
+ {
393
+ "internalType": "bytes4",
394
+ "name": "interfaceId",
395
+ "type": "bytes4"
396
+ }
397
+ ],
398
+ "name": "supportsInterface",
399
+ "outputs": [
400
+ {
401
+ "internalType": "bool",
402
+ "name": "",
403
+ "type": "bool"
404
+ }
405
+ ],
406
+ "stateMutability": "pure",
407
+ "type": "function"
408
+ }
409
+ ],
410
+ "bytecode": "0x608060405234801561001057600080fd5b5061260b806100206000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80635ef14b5e116100b8578063bc36dc911161007c578063bc36dc91146102ad578063c3c5a547146102c5578063d272ac1e146102d8578063df33330b1461030a578063e74d052f1461031d578063f16f93c21461033057600080fd5b80635ef14b5e1461024e578063644c45e014610261578063893d20e814610272578063a3bcd81d1461027a578063a48f42e01461028d57600080fd5b806331b62a3b1161010a57806331b62a3b146101e55780633bc5de30146101ed5780633fe9300e1461020a5780634420e48614610220578063485cc955146102335780635ab1bd531461024857600080fd5b8063015654ff1461014757806301ffc9a71461017157806315dae03e146101a55780631a848cfb146101b45780631aa3a008146101ca575b600080fd5b600a546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61019561017f36600461201a565b6001600160e01b0319166306ecd8ef60e01b1490565b6040519015158152602001610168565b60405160148152602001610168565b6101bc610348565b604051908152602001610168565b60005b6040516001600160601b039091168152602001610168565b6101cd6103c1565b6040805160208101909152600081525b604051610168919061209b565b6101fd6040518060200160405280600081525081565b6101cd61022e3660046120c6565b610488565b6102466102413660046120e3565b610c5c565b005b30610154565b6101cd61025c3660046121ed565b610d61565b6007546001600160601b03166101cd565b610154610fcf565b610154610288366004612276565b6110d2565b6102a061029b3660046122d1565b611128565b60405161016891906122ee565b600754600160601b90046001600160a01b0316610154565b6101956102d33660046120c6565b61126a565b6101cd6102e63660046120c6565b6001600160a01b03166000908152600260205260409020546001600160601b031690565b6101546103183660046122d1565b611307565b61019561032b3660046122d1565b611408565b6101fd61033e3660046122d1565b611462565b905090565b60006007600c9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103439190612361565b60004660010361043d5760085460408051632cc7144960e11b81529051610343926001600160a01b03169163598e28929160048083019260209291908290030181865afa158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a9190612361565b90565b60085460408051632e85b1f360e01b81529051610343926001600160a01b031691632e85b1f39160048083019260209291908290030181865afa158015610416573d6000803e3d6000fd5b6001600160a01b038116600090815260026020526040808220549051630a4d29dd60e31b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af41580156104fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051e919061237a565b61056f5760405162461bcd60e51b815260206004820181905260248201527f4552524f523a5245472d3030323a414c52454144595f5245474953544552454460448201526064015b60405180910390fd5b6040516301ffc9a760e01b8152631dfba64760e11b600482015282906001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156105bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e0919061237a565b61062c5760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5245472d3030333a4e4f545f524547495354455241424c4500006044820152606401610566565b6000816001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610690919061239c565b60ff808216600090815260036020526040902054919250166106f45760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5245472d3030343a545950455f494e56414c49440000000000006044820152606401610566565b6000826001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075891906123b9565b905061076381611408565b6107bb5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5245472d3030353a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401610566565b60ff80831660009081526004602090815260408083206001600160601b038616845283835281842054600160c01b9004851684529091529020541661084c5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5245472d3030363a504152454e545f545950455f494e56414c496044820152601160fa1b6064820152608401610566565b60006007600c9054906101000a90046001600160a01b03166001600160a01b031663d0def521856001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906123d6565b604051806020016040528060008152506040518363ffffffff1660e01b81526004016109019291906123f3565b6020604051808303816000875af1158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190612361565b90508094506109bc846001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ae919061239c565b60285b60ff90811691161490565b15610c49576040516301ffc9a760e01b8152631b4612f160e31b600482015286906001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a32919061237a565b610a7e5760405162461bcd60e51b815260206004820152601960248201527f4552524f523a5245472d3030373a4e4f545f53455256494345000000000000006044820152606401610566565b6000816001600160a01b03166317d7de7c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610abe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae69190810190612447565b90506000826001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c919061239c565b9050600082604051602001610b61919061209b565b60408051601f1981840301815291815281516020928301206001600160601b038c16600090815260059093529120909150610b9c8482612515565b50600081815260066020908152604080832060ff861684529091529020546001600160a01b031615610c105760405162461bcd60e51b815260206004820181905260248201527f4552524f523a5245472d3030383a414c52454144595f524547495354455245446044820152606401610566565b600090815260066020908152604080832060ff9490941683529290522080546001600160a01b0319166001600160a01b038a1617905550505b610c53848661150e565b50505050919050565b600754600160601b90046001600160a01b031615610cc65760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5245472d3030313a414c52454144595f494e495449414c495a456044820152601160fa1b6064820152608401610566565b60098054336001600160a01b031991821617909155600a805482166001600160a01b0384811691909117909155600780546001600160601b0316600160601b92861692830217905560088054909216179055610d206117e2565b610d286119de565b600780546bffffffffffffffffffffffff19166001600160601b0392909216919091179055610d55611b50565b610d5d611d02565b5050565b6000610d6e8460c86109b1565b80610d7f5750610d7f8460d26109b1565b610dcb5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5245472d3031303a545950455f494e56414c49440000000000006044820152606401610566565b600754604080516020810182526000808252915163d0def52160e01b81529192600160601b90046001600160a01b03169163d0def52191610e11918891906004016123f3565b6020604051808303816000875af1158015610e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e549190612361565b905080915060006040518060c00160405280846001600160601b03168152602001886001600160601b031681526020018760ff16815260200160006001600160a01b03168152602001866001600160a01b0316815260200185815250905080600080856001600160601b03166001600160601b0316815260200190815260200160002060008201518160000160006101000a8154816001600160601b0302191690836001600160601b03160217905550602082015181600001600c6101000a8154816001600160601b0302191690836001600160601b0316021790555060408201518160000160186101000a81548160ff021916908360ff16021790555060608201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160020160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a0820151816003019081610fc19190612515565b509050505050949350505050565b6007546040516330b8415f60e01b81526001600160601b03909116600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561102e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611052919061237a565b61106657506009546001600160a01b031690565b60075460405163df33330b60e01b81526001600160601b039091166004820152309063df33330b90602401602060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034391906123d6565b600080836040516020016110e6919061209b565b60408051601f19818403018152918152815160209283012060009081526006835281812060ff871682529092529020546001600160a01b031691505092915050565b6040805160c0810182526000808252602082018190529181018290526060808201839052608082019290925260a08101919091526001600160601b0382811660009081526020818152604091829020825160c08101845281548086168252600160601b810490951692810192909252600160c01b90930460ff169181019190915260018201546001600160a01b039081166060830152600283015416608082015260038201805491929160a0840191906111e190612490565b80601f016020809104026020016040519081016040528092919081815260200182805461120d90612490565b801561125a5780601f1061122f5761010080835404028352916020019161125a565b820191906000526020600020905b81548152906001019060200180831161123d57829003601f168201915b5050505050815250509050919050565b6001600160a01b0381166000908152600260205260408082205490516330b8415f60e01b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f906024015b602060405180830381865af41580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611301919061237a565b92915050565b60075460405163046e44af60e11b81526001600160601b0383166004820152600091600160601b90046001600160a01b031690636352211e9073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906308dc895e90602401602060405180830381865af415801561137c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a091906123b9565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa1580156113e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130191906123d6565b6001600160601b03811660009081526020819052604080822054905163b2466acf60e01b8152600160c01b90910460ff16600482015273__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf906024016112c0565b6001600160601b038116600090815260056020526040902080546060919061148990612490565b80601f01602080910402602001604051908101604052809291908181526020018280546114b590612490565b80156115025780601f106114d757610100808354040283529160200191611502565b820191906000526020600020905b8154815290600101906020018083116114e557829003601f168201915b50505050509050919050565b600082905060006040518060c00160405280846001600160601b03168152602001856001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159191906123b9565b6001600160601b03168152602001856001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611601919061239c565b60ff168152602001836001600160a01b03168152602001856001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a91906123d6565b6001600160a01b03168152602001856001600160a01b0316633bc5de306040518163ffffffff1660e01b8152600401600060405180830381865afa1580156116c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116ee9190810190612447565b90526001600160601b038085166000908152602081815260409182902084518154928601519386015160ff16600160c01b0260ff60c01b19948616600160601b026001600160c01b03199094169190951617919091179190911691909117815560608201516001820180546001600160a01b039283166001600160a01b031991821617909155608084015160028401805491909316911617905560a0820151919250829160038201906117a19082612515565b505050506001600160a01b0316600090815260026020526040902080546bffffffffffffffffffffffff19166001600160601b039290921691909117905550565b60085460408051632cc7144960e11b815290516000926001600160a01b03169163598e28929160048083019260209291908290030181865afa15801561182c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118509190612361565b600854600a546040516340c10f1960e01b81526001600160a01b0391821660048201526024810184905292935016906340c10f1990604401600060405180830381600087803b1580156118a257600080fd5b505af11580156118b6573d6000803e3d6000fd5b5050505060006118c38290565b905060006040518060c00160405280836001600160601b031681526020016118e9600090565b6001600160601b03168152602001600a5b60ff908116825260006020808401829052600a546001600160a01b03908116604080870191909152805180840182528481526060968701526001600160601b03808a16855284845293819020875181549489015192890151909616600160c01b0260ff60c01b19928616600160601b026001600160c01b031990951696909516959095179290921791909116919091178255918301516001820180549184166001600160a01b031992831617905560808401516002830180549190941691161790915560a0820151919250829160038201906119d69082612515565b505050505050565b600854604051630559ea4760e01b81526002600482015260009182916001600160a01b0390911690630559ea4790602401602060405180830381865afa158015611a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a509190612361565b9050809150600860009054906101000a90046001600160a01b03166001600160a01b0316632e85b1f36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acc9190612361565b8114611ada57611ada611eb0565b600854600a546040516340c10f1960e01b81526001600160a01b039182166004820152602481018490529116906340c10f1990604401600060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b50505050611b4c308361150e565b5090565b600360208190527f0ffe031ee7f67944a037276fd51f48fcc2fe05a729c43144606bc8777da8014f8054600160ff1991821681179092557f6117fee2f1274e1b392d2c3fe842478040a980d896757f38cbfe2ceebfa9f55f80548216831790557ff787d5ff306ee7ea1d7b35b5cacd5a837646921c113945dbc3a3b6329ce4003380548216831790557f3ba015d6b845e102ce2f76836007be82508e3543856f2a3c2ff4b56eb46d920e80548216831790557f01c8d1bf01472944f62fa726559c57c955f3535856e865cee78082252c0dbe6580548216831790557f6b16ef514f22b74729cbea5cc7babfecbdc2309e530ca716643d11fe929eed2e80548216831790557fe372c44748f4c2908ae7c0a1dc553464478b0394f70953faecd55173b039317c80548216831790557fc3d073881ce0daff4d900012573fe3b8d5b283519b2f509e59d1b978e7cf0fc5805482168317905560c860009081527f4ee5ee9bffee16640c2540fd7f6965fdc66a7e5f780f34dcd70130941a3eae078054909216831790915590919060d25b60ff1681526020810191909152604001600020805460ff1916911515919091179055565b7f6ccc4a05ba84db57b26e1eca724a26bc49e11eb3a3513975525da73fd093530d8054600160ff1991821681179092557f4c2b21eba089fcb614eba18217d4f3f95e42177ede89c079f86306b133497c3080548216831790557faa0e0fe5d9929c265201b796d5196a8fc79d16a288275314ff2973541d58721a80548216831790557f23854806efa1d194aae4b21bf1927e22d50453dfa23086ded38c40c8955c637e80548216831790557fbdc45962c4e89b26bf7a29a39eab560d17e5064145716460fdc5986ae2da49bc80548216831790557f41f7e94f80001b9d612ad252f2dc06b77c5cc502088b7ac7f3641fc95d4a34e180548216831790557f2662d582402060579dffef7773c6b43725228b20e70069c9a8314d21465c105280548216831790557fecd1272a2d7402e39704b78db8ea4bd00d629fbfc046e55cc6c9d5ee5e9e5e7880548216831790557f5e5bbf8b42bd7b6d1aeb3e362a8afc07dddf1cd72e2816d91748f633a63aabc0805490911682179055603c600090815260046020527f2fc109324a9702a6c6d9ee4cb191009203224963472d729f754fd607ea2f8fd0906082611cde565b60085460408051632e85b1f360e01b815290516000926001600160a01b031691632e85b1f39160048083019260209291908290030181865afa158015611efa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1e9190612361565b600854600a546040516340c10f1960e01b81526001600160a01b0391821660048201526024810184905292935016906340c10f1990604401600060405180830381600087803b158015611f7057600080fd5b505af1158015611f84573d6000803e3d6000fd5b505050506000611f918290565b905060006040518060c00160405280836001600160601b03168152602001612005600860009054906101000a90046001600160a01b03166001600160a01b031663598e28926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610416573d6000803e3d6000fd5b6001600160601b0316815260200160146118fa565b60006020828403121561202c57600080fd5b81356001600160e01b03198116811461204457600080fd5b9392505050565b60005b8381101561206657818101518382015260200161204e565b50506000910152565b6000815180845261208781602086016020860161204b565b601f01601f19169290920160200192915050565b602081526000612044602083018461206f565b6001600160a01b03811681146120c357600080fd5b50565b6000602082840312156120d857600080fd5b8135612044816120ae565b600080604083850312156120f657600080fd5b8235612101816120ae565b91506020830135612111816120ae565b809150509250929050565b6001600160601b03811681146120c357600080fd5b60ff811681146120c357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561217f5761217f612140565b604052919050565b600067ffffffffffffffff8211156121a1576121a1612140565b50601f01601f191660200190565b60006121c26121bd84612187565b612156565b90508281528383830111156121d657600080fd5b828260208301376000602084830101529392505050565b6000806000806080858703121561220357600080fd5b843561220e8161211c565b9350602085013561221e81612131565b9250604085013561222e816120ae565b9150606085013567ffffffffffffffff81111561224a57600080fd5b8501601f8101871361225b57600080fd5b61226a878235602084016121af565b91505092959194509250565b6000806040838503121561228957600080fd5b823567ffffffffffffffff8111156122a057600080fd5b8301601f810185136122b157600080fd5b6122c0858235602084016121af565b925050602083013561211181612131565b6000602082840312156122e357600080fd5b81356120448161211c565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff6040840151166060830152606083015160018060a01b0380821660808501528060808601511660a0850152505060a083015160c08084015261235960e084018261206f565b949350505050565b60006020828403121561237357600080fd5b5051919050565b60006020828403121561238c57600080fd5b8151801515811461204457600080fd5b6000602082840312156123ae57600080fd5b815161204481612131565b6000602082840312156123cb57600080fd5b81516120448161211c565b6000602082840312156123e857600080fd5b8151612044816120ae565b6001600160a01b03831681526040602082018190526000906123599083018461206f565b60006124256121bd84612187565b905082815283838301111561243957600080fd5b61204483602083018461204b565b60006020828403121561245957600080fd5b815167ffffffffffffffff81111561247057600080fd5b8201601f8101841361248157600080fd5b61235984825160208401612417565b600181811c908216806124a457607f821691505b6020821081036124c457634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561251057600081815260208120601f850160051c810160208610156124f15750805b601f850160051c820191505b818110156119d6578281556001016124fd565b505050565b815167ffffffffffffffff81111561252f5761252f612140565b6125438161253d8454612490565b846124ca565b602080601f83116001811461257857600084156125605750858301515b600019600386901b1c1916600185901b1785556119d6565b600085815260208120601f198616915b828110156125a757888601518255948401946001909101908401612588565b50858210156125c55787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220c28feb4098176201bb93638ee0da2e0179fc189cc988407e6b956f6b686820e964736f6c63430008140033",
411
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c80635ef14b5e116100b8578063bc36dc911161007c578063bc36dc91146102ad578063c3c5a547146102c5578063d272ac1e146102d8578063df33330b1461030a578063e74d052f1461031d578063f16f93c21461033057600080fd5b80635ef14b5e1461024e578063644c45e014610261578063893d20e814610272578063a3bcd81d1461027a578063a48f42e01461028d57600080fd5b806331b62a3b1161010a57806331b62a3b146101e55780633bc5de30146101ed5780633fe9300e1461020a5780634420e48614610220578063485cc955146102335780635ab1bd531461024857600080fd5b8063015654ff1461014757806301ffc9a71461017157806315dae03e146101a55780631a848cfb146101b45780631aa3a008146101ca575b600080fd5b600a546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61019561017f36600461201a565b6001600160e01b0319166306ecd8ef60e01b1490565b6040519015158152602001610168565b60405160148152602001610168565b6101bc610348565b604051908152602001610168565b60005b6040516001600160601b039091168152602001610168565b6101cd6103c1565b6040805160208101909152600081525b604051610168919061209b565b6101fd6040518060200160405280600081525081565b6101cd61022e3660046120c6565b610488565b6102466102413660046120e3565b610c5c565b005b30610154565b6101cd61025c3660046121ed565b610d61565b6007546001600160601b03166101cd565b610154610fcf565b610154610288366004612276565b6110d2565b6102a061029b3660046122d1565b611128565b60405161016891906122ee565b600754600160601b90046001600160a01b0316610154565b6101956102d33660046120c6565b61126a565b6101cd6102e63660046120c6565b6001600160a01b03166000908152600260205260409020546001600160601b031690565b6101546103183660046122d1565b611307565b61019561032b3660046122d1565b611408565b6101fd61033e3660046122d1565b611462565b905090565b60006007600c9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103439190612361565b60004660010361043d5760085460408051632cc7144960e11b81529051610343926001600160a01b03169163598e28929160048083019260209291908290030181865afa158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a9190612361565b90565b60085460408051632e85b1f360e01b81529051610343926001600160a01b031691632e85b1f39160048083019260209291908290030181865afa158015610416573d6000803e3d6000fd5b6001600160a01b038116600090815260026020526040808220549051630a4d29dd60e31b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af41580156104fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051e919061237a565b61056f5760405162461bcd60e51b815260206004820181905260248201527f4552524f523a5245472d3030323a414c52454144595f5245474953544552454460448201526064015b60405180910390fd5b6040516301ffc9a760e01b8152631dfba64760e11b600482015282906001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156105bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e0919061237a565b61062c5760405162461bcd60e51b815260206004820152601e60248201527f4552524f523a5245472d3030333a4e4f545f524547495354455241424c4500006044820152606401610566565b6000816001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610690919061239c565b60ff808216600090815260036020526040902054919250166106f45760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5245472d3030343a545950455f494e56414c49440000000000006044820152606401610566565b6000826001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075891906123b9565b905061076381611408565b6107bb5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5245472d3030353a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401610566565b60ff80831660009081526004602090815260408083206001600160601b038616845283835281842054600160c01b9004851684529091529020541661084c5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5245472d3030363a504152454e545f545950455f494e56414c496044820152601160fa1b6064820152608401610566565b60006007600c9054906101000a90046001600160a01b03166001600160a01b031663d0def521856001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906123d6565b604051806020016040528060008152506040518363ffffffff1660e01b81526004016109019291906123f3565b6020604051808303816000875af1158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190612361565b90508094506109bc846001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ae919061239c565b60285b60ff90811691161490565b15610c49576040516301ffc9a760e01b8152631b4612f160e31b600482015286906001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a32919061237a565b610a7e5760405162461bcd60e51b815260206004820152601960248201527f4552524f523a5245472d3030373a4e4f545f53455256494345000000000000006044820152606401610566565b6000816001600160a01b03166317d7de7c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610abe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae69190810190612447565b90506000826001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c919061239c565b9050600082604051602001610b61919061209b565b60408051601f1981840301815291815281516020928301206001600160601b038c16600090815260059093529120909150610b9c8482612515565b50600081815260066020908152604080832060ff861684529091529020546001600160a01b031615610c105760405162461bcd60e51b815260206004820181905260248201527f4552524f523a5245472d3030383a414c52454144595f524547495354455245446044820152606401610566565b600090815260066020908152604080832060ff9490941683529290522080546001600160a01b0319166001600160a01b038a1617905550505b610c53848661150e565b50505050919050565b600754600160601b90046001600160a01b031615610cc65760405162461bcd60e51b815260206004820152602160248201527f4552524f523a5245472d3030313a414c52454144595f494e495449414c495a456044820152601160fa1b6064820152608401610566565b60098054336001600160a01b031991821617909155600a805482166001600160a01b0384811691909117909155600780546001600160601b0316600160601b92861692830217905560088054909216179055610d206117e2565b610d286119de565b600780546bffffffffffffffffffffffff19166001600160601b0392909216919091179055610d55611b50565b610d5d611d02565b5050565b6000610d6e8460c86109b1565b80610d7f5750610d7f8460d26109b1565b610dcb5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5245472d3031303a545950455f494e56414c49440000000000006044820152606401610566565b600754604080516020810182526000808252915163d0def52160e01b81529192600160601b90046001600160a01b03169163d0def52191610e11918891906004016123f3565b6020604051808303816000875af1158015610e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e549190612361565b905080915060006040518060c00160405280846001600160601b03168152602001886001600160601b031681526020018760ff16815260200160006001600160a01b03168152602001866001600160a01b0316815260200185815250905080600080856001600160601b03166001600160601b0316815260200190815260200160002060008201518160000160006101000a8154816001600160601b0302191690836001600160601b03160217905550602082015181600001600c6101000a8154816001600160601b0302191690836001600160601b0316021790555060408201518160000160186101000a81548160ff021916908360ff16021790555060608201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160020160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a0820151816003019081610fc19190612515565b509050505050949350505050565b6007546040516330b8415f60e01b81526001600160601b03909116600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561102e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611052919061237a565b61106657506009546001600160a01b031690565b60075460405163df33330b60e01b81526001600160601b039091166004820152309063df33330b90602401602060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034391906123d6565b600080836040516020016110e6919061209b565b60408051601f19818403018152918152815160209283012060009081526006835281812060ff871682529092529020546001600160a01b031691505092915050565b6040805160c0810182526000808252602082018190529181018290526060808201839052608082019290925260a08101919091526001600160601b0382811660009081526020818152604091829020825160c08101845281548086168252600160601b810490951692810192909252600160c01b90930460ff169181019190915260018201546001600160a01b039081166060830152600283015416608082015260038201805491929160a0840191906111e190612490565b80601f016020809104026020016040519081016040528092919081815260200182805461120d90612490565b801561125a5780601f1061122f5761010080835404028352916020019161125a565b820191906000526020600020905b81548152906001019060200180831161123d57829003601f168201915b5050505050815250509050919050565b6001600160a01b0381166000908152600260205260408082205490516330b8415f60e01b81526001600160601b03909116600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f906024015b602060405180830381865af41580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611301919061237a565b92915050565b60075460405163046e44af60e11b81526001600160601b0383166004820152600091600160601b90046001600160a01b031690636352211e9073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906308dc895e90602401602060405180830381865af415801561137c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a091906123b9565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa1580156113e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130191906123d6565b6001600160601b03811660009081526020819052604080822054905163b2466acf60e01b8152600160c01b90910460ff16600482015273__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf906024016112c0565b6001600160601b038116600090815260056020526040902080546060919061148990612490565b80601f01602080910402602001604051908101604052809291908181526020018280546114b590612490565b80156115025780601f106114d757610100808354040283529160200191611502565b820191906000526020600020905b8154815290600101906020018083116114e557829003601f168201915b50505050509050919050565b600082905060006040518060c00160405280846001600160601b03168152602001856001600160a01b03166331b62a3b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159191906123b9565b6001600160601b03168152602001856001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611601919061239c565b60ff168152602001836001600160a01b03168152602001856001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a91906123d6565b6001600160a01b03168152602001856001600160a01b0316633bc5de306040518163ffffffff1660e01b8152600401600060405180830381865afa1580156116c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116ee9190810190612447565b90526001600160601b038085166000908152602081815260409182902084518154928601519386015160ff16600160c01b0260ff60c01b19948616600160601b026001600160c01b03199094169190951617919091179190911691909117815560608201516001820180546001600160a01b039283166001600160a01b031991821617909155608084015160028401805491909316911617905560a0820151919250829160038201906117a19082612515565b505050506001600160a01b0316600090815260026020526040902080546bffffffffffffffffffffffff19166001600160601b039290921691909117905550565b60085460408051632cc7144960e11b815290516000926001600160a01b03169163598e28929160048083019260209291908290030181865afa15801561182c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118509190612361565b600854600a546040516340c10f1960e01b81526001600160a01b0391821660048201526024810184905292935016906340c10f1990604401600060405180830381600087803b1580156118a257600080fd5b505af11580156118b6573d6000803e3d6000fd5b5050505060006118c38290565b905060006040518060c00160405280836001600160601b031681526020016118e9600090565b6001600160601b03168152602001600a5b60ff908116825260006020808401829052600a546001600160a01b03908116604080870191909152805180840182528481526060968701526001600160601b03808a16855284845293819020875181549489015192890151909616600160c01b0260ff60c01b19928616600160601b026001600160c01b031990951696909516959095179290921791909116919091178255918301516001820180549184166001600160a01b031992831617905560808401516002830180549190941691161790915560a0820151919250829160038201906119d69082612515565b505050505050565b600854604051630559ea4760e01b81526002600482015260009182916001600160a01b0390911690630559ea4790602401602060405180830381865afa158015611a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a509190612361565b9050809150600860009054906101000a90046001600160a01b03166001600160a01b0316632e85b1f36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acc9190612361565b8114611ada57611ada611eb0565b600854600a546040516340c10f1960e01b81526001600160a01b039182166004820152602481018490529116906340c10f1990604401600060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b50505050611b4c308361150e565b5090565b600360208190527f0ffe031ee7f67944a037276fd51f48fcc2fe05a729c43144606bc8777da8014f8054600160ff1991821681179092557f6117fee2f1274e1b392d2c3fe842478040a980d896757f38cbfe2ceebfa9f55f80548216831790557ff787d5ff306ee7ea1d7b35b5cacd5a837646921c113945dbc3a3b6329ce4003380548216831790557f3ba015d6b845e102ce2f76836007be82508e3543856f2a3c2ff4b56eb46d920e80548216831790557f01c8d1bf01472944f62fa726559c57c955f3535856e865cee78082252c0dbe6580548216831790557f6b16ef514f22b74729cbea5cc7babfecbdc2309e530ca716643d11fe929eed2e80548216831790557fe372c44748f4c2908ae7c0a1dc553464478b0394f70953faecd55173b039317c80548216831790557fc3d073881ce0daff4d900012573fe3b8d5b283519b2f509e59d1b978e7cf0fc5805482168317905560c860009081527f4ee5ee9bffee16640c2540fd7f6965fdc66a7e5f780f34dcd70130941a3eae078054909216831790915590919060d25b60ff1681526020810191909152604001600020805460ff1916911515919091179055565b7f6ccc4a05ba84db57b26e1eca724a26bc49e11eb3a3513975525da73fd093530d8054600160ff1991821681179092557f4c2b21eba089fcb614eba18217d4f3f95e42177ede89c079f86306b133497c3080548216831790557faa0e0fe5d9929c265201b796d5196a8fc79d16a288275314ff2973541d58721a80548216831790557f23854806efa1d194aae4b21bf1927e22d50453dfa23086ded38c40c8955c637e80548216831790557fbdc45962c4e89b26bf7a29a39eab560d17e5064145716460fdc5986ae2da49bc80548216831790557f41f7e94f80001b9d612ad252f2dc06b77c5cc502088b7ac7f3641fc95d4a34e180548216831790557f2662d582402060579dffef7773c6b43725228b20e70069c9a8314d21465c105280548216831790557fecd1272a2d7402e39704b78db8ea4bd00d629fbfc046e55cc6c9d5ee5e9e5e7880548216831790557f5e5bbf8b42bd7b6d1aeb3e362a8afc07dddf1cd72e2816d91748f633a63aabc0805490911682179055603c600090815260046020527f2fc109324a9702a6c6d9ee4cb191009203224963472d729f754fd607ea2f8fd0906082611cde565b60085460408051632e85b1f360e01b815290516000926001600160a01b031691632e85b1f39160048083019260209291908290030181865afa158015611efa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1e9190612361565b600854600a546040516340c10f1960e01b81526001600160a01b0391821660048201526024810184905292935016906340c10f1990604401600060405180830381600087803b158015611f7057600080fd5b505af1158015611f84573d6000803e3d6000fd5b505050506000611f918290565b905060006040518060c00160405280836001600160601b03168152602001612005600860009054906101000a90046001600160a01b03166001600160a01b031663598e28926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610416573d6000803e3d6000fd5b6001600160601b0316815260200160146118fa565b60006020828403121561202c57600080fd5b81356001600160e01b03198116811461204457600080fd5b9392505050565b60005b8381101561206657818101518382015260200161204e565b50506000910152565b6000815180845261208781602086016020860161204b565b601f01601f19169290920160200192915050565b602081526000612044602083018461206f565b6001600160a01b03811681146120c357600080fd5b50565b6000602082840312156120d857600080fd5b8135612044816120ae565b600080604083850312156120f657600080fd5b8235612101816120ae565b91506020830135612111816120ae565b809150509250929050565b6001600160601b03811681146120c357600080fd5b60ff811681146120c357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561217f5761217f612140565b604052919050565b600067ffffffffffffffff8211156121a1576121a1612140565b50601f01601f191660200190565b60006121c26121bd84612187565b612156565b90508281528383830111156121d657600080fd5b828260208301376000602084830101529392505050565b6000806000806080858703121561220357600080fd5b843561220e8161211c565b9350602085013561221e81612131565b9250604085013561222e816120ae565b9150606085013567ffffffffffffffff81111561224a57600080fd5b8501601f8101871361225b57600080fd5b61226a878235602084016121af565b91505092959194509250565b6000806040838503121561228957600080fd5b823567ffffffffffffffff8111156122a057600080fd5b8301601f810185136122b157600080fd5b6122c0858235602084016121af565b925050602083013561211181612131565b6000602082840312156122e357600080fd5b81356120448161211c565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff6040840151166060830152606083015160018060a01b0380821660808501528060808601511660a0850152505060a083015160c08084015261235960e084018261206f565b949350505050565b60006020828403121561237357600080fd5b5051919050565b60006020828403121561238c57600080fd5b8151801515811461204457600080fd5b6000602082840312156123ae57600080fd5b815161204481612131565b6000602082840312156123cb57600080fd5b81516120448161211c565b6000602082840312156123e857600080fd5b8151612044816120ae565b6001600160a01b03831681526040602082018190526000906123599083018461206f565b60006124256121bd84612187565b905082815283838301111561243957600080fd5b61204483602083018461204b565b60006020828403121561245957600080fd5b815167ffffffffffffffff81111561247057600080fd5b8201601f8101841361248157600080fd5b61235984825160208401612417565b600181811c908216806124a457607f821691505b6020821081036124c457634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561251057600081815260208120601f850160051c810160208610156124f15750805b601f850160051c820191505b818110156119d6578281556001016124fd565b505050565b815167ffffffffffffffff81111561252f5761252f612140565b6125438161253d8454612490565b846124ca565b602080601f83116001811461257857600084156125605750858301515b600019600386901b1c1916600185901b1785556119d6565b600085815260208120601f198616915b828110156125a757888601518255948401946001909101908401612588565b50858210156125c55787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220c28feb4098176201bb93638ee0da2e0179fc189cc988407e6b956f6b686820e964736f6c63430008140033",
412
+ "linkReferences": {
413
+ "contracts/types/NftId.sol": {
414
+ "NftIdLib": [
415
+ {
416
+ "length": 20,
417
+ "start": 1248
418
+ },
419
+ {
420
+ "length": 20,
421
+ "start": 4116
422
+ },
423
+ {
424
+ "length": 20,
425
+ "start": 4802
426
+ },
427
+ {
428
+ "length": 20,
429
+ "start": 4962
430
+ }
431
+ ]
432
+ },
433
+ "contracts/types/ObjectType.sol": {
434
+ "ObjectTypeLib": [
435
+ {
436
+ "length": 20,
437
+ "start": 5216
438
+ }
439
+ ]
440
+ }
441
+ },
442
+ "deployedLinkReferences": {
443
+ "contracts/types/NftId.sol": {
444
+ "NftIdLib": [
445
+ {
446
+ "length": 20,
447
+ "start": 1216
448
+ },
449
+ {
450
+ "length": 20,
451
+ "start": 4084
452
+ },
453
+ {
454
+ "length": 20,
455
+ "start": 4770
456
+ },
457
+ {
458
+ "length": 20,
459
+ "start": 4930
460
+ }
461
+ ]
462
+ },
463
+ "contracts/types/ObjectType.sol": {
464
+ "ObjectTypeLib": [
465
+ {
466
+ "length": 20,
467
+ "start": 5184
468
+ }
469
+ ]
470
+ }
471
+ }
472
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/73036ef8d3587a4d497b53a8e5f6bc33.json"
4
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC165",
4
+ "sourceName": "contracts/shared/ERC165.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "bytes4",
15
+ "name": "interfaceId",
16
+ "type": "bytes4"
17
+ }
18
+ ],
19
+ "name": "supportsInterface",
20
+ "outputs": [
21
+ {
22
+ "internalType": "bool",
23
+ "name": "",
24
+ "type": "bool"
25
+ }
26
+ ],
27
+ "stateMutability": "view",
28
+ "type": "function"
29
+ }
30
+ ],
31
+ "bytecode": "0x608060405234801561001057600080fd5b506301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff1916600117905560d08061005b6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806301ffc9a714602d575b600080fd5b60576038366004606b565b6001600160e01b03191660009081526020819052604090205460ff1690565b604051901515815260200160405180910390f35b600060208284031215607c57600080fd5b81356001600160e01b031981168114609357600080fd5b939250505056fea264697066735822122001544f23bad3d3747e20b89bffeb821826a4686fba99541711a192d4109679db64736f6c63430008140033",
32
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806301ffc9a714602d575b600080fd5b60576038366004606b565b6001600160e01b03191660009081526020819052604090205460ff1690565b604051901515815260200160405180910390f35b600060208284031215607c57600080fd5b81356001600160e01b031981168114609357600080fd5b939250505056fea264697066735822122001544f23bad3d3747e20b89bffeb821826a4686fba99541711a192d4109679db64736f6c63430008140033",
33
+ "linkReferences": {},
34
+ "deployedLinkReferences": {}
35
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/73036ef8d3587a4d497b53a8e5f6bc33.json"
4
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IOwnable",
4
+ "sourceName": "contracts/shared/IOwnable.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "getOwner",
9
+ "outputs": [
10
+ {
11
+ "internalType": "address",
12
+ "name": "owner",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ }
19
+ ],
20
+ "bytecode": "0x",
21
+ "deployedBytecode": "0x",
22
+ "linkReferences": {},
23
+ "deployedLinkReferences": {}
24
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/73036ef8d3587a4d497b53a8e5f6bc33.json"
4
+ }