@etherisc/gif-next 0.0.2-de0a1d3-009 → 0.0.2-e37834a-021

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. package/README.md +40 -25
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +80 -41
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +101 -61
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +43 -40
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -163
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +6 -185
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -163
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +150 -126
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +110 -52
  18. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  35. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  36. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +198 -74
  37. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +1 -1
  38. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/Instance.sol/Instance.json +285 -178
  40. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  41. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +59 -53
  42. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  43. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +1 -1
  44. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  46. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/IService.sol/IService.json +45 -42
  48. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +62 -69
  50. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  52. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +1 -1
  54. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +55 -62
  55. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +1 -1
  65. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +2 -2
  66. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +1 -1
  68. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +29 -9
  74. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +28 -8
  76. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +1 -1
  78. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +1 -1
  79. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +2 -2
  80. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  82. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +138 -11
  83. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  85. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +138 -11
  87. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  88. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +165 -93
  89. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  90. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +87 -68
  91. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +45 -61
  93. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +45 -42
  95. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +45 -42
  97. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +45 -42
  99. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  100. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +89 -70
  101. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  102. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +117 -98
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  104. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +141 -12
  105. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  106. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  107. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  108. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +293 -40
  109. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  110. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +668 -0
  111. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  112. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  113. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  114. package/artifacts/contracts/registry/Registry.sol/Registry.json +483 -120
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  116. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +885 -0
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  118. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +460 -0
  119. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  120. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  121. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  122. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  123. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +1 -1
  124. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  125. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +43 -40
  126. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  127. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -2
  128. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  129. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +132 -0
  130. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  131. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +344 -0
  132. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  133. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -37
  134. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  135. package/artifacts/contracts/shared/{Proxy.sol/ProxyWithProxyAdminGetter.json → UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json} +4 -4
  136. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  137. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +4 -27
  138. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +1 -1
  139. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +101 -61
  140. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  141. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +1 -1
  142. package/artifacts/contracts/test/TestPool.sol/TestPool.json +150 -126
  143. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +1 -1
  144. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +115 -58
  145. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  146. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +93 -39
  147. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  148. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  149. package/artifacts/contracts/test/TestService.sol/TestService.json +81 -75
  150. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  151. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  152. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  153. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  154. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +15 -38
  155. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  156. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  157. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  158. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  159. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  160. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  161. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  162. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  163. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  164. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +1 -1
  165. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  167. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  168. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  169. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  170. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  171. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  172. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  173. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  174. package/contracts/components/BaseComponent.sol +12 -27
  175. package/contracts/components/Distribution.sol +29 -6
  176. package/contracts/components/IBaseComponent.sol +2 -2
  177. package/contracts/components/IDistributionComponent.sol +1 -2
  178. package/contracts/components/IPoolComponent.sol +3 -10
  179. package/contracts/components/IProductComponent.sol +2 -3
  180. package/contracts/components/Pool.sol +84 -73
  181. package/contracts/components/Product.sol +85 -13
  182. package/contracts/instance/IInstance.sol +4 -3
  183. package/contracts/instance/Instance.sol +14 -3
  184. package/contracts/instance/base/ComponentServiceBase.sol +13 -6
  185. package/contracts/instance/base/IInstanceBase.sol +3 -2
  186. package/contracts/instance/base/InstanceBase.sol +6 -8
  187. package/contracts/instance/base/ServiceBase.sol +19 -13
  188. package/contracts/instance/module/component/ComponentModule.sol +5 -4
  189. package/contracts/instance/module/component/IComponent.sol +2 -2
  190. package/contracts/instance/module/pool/IPoolModule.sol +4 -3
  191. package/contracts/instance/module/pool/PoolModule.sol +12 -7
  192. package/contracts/instance/module/treasury/ITreasury.sol +7 -5
  193. package/contracts/instance/module/treasury/TokenHandler.sol +2 -2
  194. package/contracts/instance/module/treasury/TreasuryModule.sol +21 -28
  195. package/contracts/instance/service/ComponentOwnerService.sol +181 -66
  196. package/contracts/instance/service/DistributionService.sol +6 -11
  197. package/contracts/instance/service/IComponentOwnerService.sol +0 -2
  198. package/contracts/instance/service/PoolService.sol +19 -19
  199. package/contracts/instance/service/ProductService.sol +25 -24
  200. package/contracts/registry/ChainNft.sol +43 -15
  201. package/contracts/registry/IChainNft.sol +3 -2
  202. package/contracts/registry/IRegistry.sol +44 -28
  203. package/contracts/registry/IRegistryService.sol +29 -0
  204. package/contracts/registry/ITransferInterceptor.sol +6 -0
  205. package/contracts/registry/Registry.sol +382 -273
  206. package/contracts/registry/RegistryService.sol +375 -0
  207. package/contracts/registry/RegistryServiceManager.sol +52 -0
  208. package/contracts/shared/ContractDeployerLib.sol +72 -0
  209. package/contracts/shared/ERC165.sol +1 -1
  210. package/contracts/shared/IRegisterable.sol +7 -9
  211. package/contracts/shared/IVersionable.sol +40 -9
  212. package/contracts/shared/NftOwnable.sol +87 -0
  213. package/contracts/shared/ProxyManager.sol +103 -0
  214. package/contracts/shared/Registerable.sol +74 -43
  215. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  216. package/contracts/shared/Versionable.sol +108 -60
  217. package/contracts/test/TestDistribution.sol +3 -2
  218. package/contracts/test/TestPool.sol +4 -2
  219. package/contracts/test/TestProduct.sol +4 -2
  220. package/contracts/test/TestRegisterable.sol +5 -6
  221. package/contracts/test/TestService.sol +5 -11
  222. package/contracts/types/Version.sol +1 -0
  223. package/package.json +1 -1
  224. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  225. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  226. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.dbg.json +0 -4
  227. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.json +0 -724
  228. package/artifacts/contracts/shared/Proxy.sol/ProxyDeployer.dbg.json +0 -4
  229. package/artifacts/contracts/shared/Proxy.sol/ProxyDeployer.json +0 -248
  230. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.dbg.json +0 -4
  231. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.dbg.json +0 -4
  232. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.json +0 -228
  233. package/contracts/experiment/statemachine/README.md +0 -112
  234. package/contracts/registry/IRegistryLinked.sol +0 -8
  235. package/contracts/registry/RegistryUpgradeable.sol +0 -473
  236. package/contracts/shared/Proxy.sol +0 -94
  237. package/contracts/shared/VersionableUpgradeable.sol +0 -133
@@ -14,6 +14,11 @@
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",
@@ -64,7 +69,7 @@
64
69
  "type": "address"
65
70
  }
66
71
  ],
67
- "name": "LogVersionableActivated",
72
+ "name": "LogVersionableInitialized",
68
73
  "type": "event"
69
74
  },
70
75
  {
@@ -81,32 +86,64 @@
81
86
  "type": "function"
82
87
  },
83
88
  {
84
- "inputs": [
85
- {
86
- "internalType": "address",
87
- "name": "implementation",
88
- "type": "address"
89
- },
90
- {
91
- "internalType": "address",
92
- "name": "activatedBy",
93
- "type": "address"
94
- },
89
+ "inputs": [],
90
+ "name": "REGISTERABLE_LOCATION_V1",
91
+ "outputs": [
95
92
  {
96
- "internalType": "bytes",
97
- "name": "activatinData",
98
- "type": "bytes"
93
+ "internalType": "bytes32",
94
+ "name": "",
95
+ "type": "bytes32"
99
96
  }
100
97
  ],
101
- "name": "activate",
102
- "outputs": [],
103
- "stateMutability": "nonpayable",
98
+ "stateMutability": "view",
104
99
  "type": "function"
105
100
  },
106
101
  {
107
102
  "inputs": [],
108
- "name": "getData",
103
+ "name": "getInitialInfo",
109
104
  "outputs": [
105
+ {
106
+ "components": [
107
+ {
108
+ "internalType": "NftId",
109
+ "name": "nftId",
110
+ "type": "uint96"
111
+ },
112
+ {
113
+ "internalType": "NftId",
114
+ "name": "parentNftId",
115
+ "type": "uint96"
116
+ },
117
+ {
118
+ "internalType": "ObjectType",
119
+ "name": "objectType",
120
+ "type": "uint8"
121
+ },
122
+ {
123
+ "internalType": "bool",
124
+ "name": "isInterceptor",
125
+ "type": "bool"
126
+ },
127
+ {
128
+ "internalType": "address",
129
+ "name": "objectAddress",
130
+ "type": "address"
131
+ },
132
+ {
133
+ "internalType": "address",
134
+ "name": "initialOwner",
135
+ "type": "address"
136
+ },
137
+ {
138
+ "internalType": "bytes",
139
+ "name": "data",
140
+ "type": "bytes"
141
+ }
142
+ ],
143
+ "internalType": "struct IRegistry.ObjectInfo",
144
+ "name": "",
145
+ "type": "tuple"
146
+ },
110
147
  {
111
148
  "internalType": "bytes",
112
149
  "name": "data",
@@ -174,26 +211,13 @@
174
211
  "outputs": [
175
212
  {
176
213
  "internalType": "address",
177
- "name": "owner",
214
+ "name": "",
178
215
  "type": "address"
179
216
  }
180
217
  ],
181
218
  "stateMutability": "view",
182
219
  "type": "function"
183
220
  },
184
- {
185
- "inputs": [],
186
- "name": "getParentNftId",
187
- "outputs": [
188
- {
189
- "internalType": "NftId",
190
- "name": "nftId",
191
- "type": "uint96"
192
- }
193
- ],
194
- "stateMutability": "view",
195
- "type": "function"
196
- },
197
221
  {
198
222
  "inputs": [],
199
223
  "name": "getRegistry",
@@ -207,19 +231,6 @@
207
231
  "stateMutability": "view",
208
232
  "type": "function"
209
233
  },
210
- {
211
- "inputs": [],
212
- "name": "getType",
213
- "outputs": [
214
- {
215
- "internalType": "ObjectType",
216
- "name": "",
217
- "type": "uint8"
218
- }
219
- ],
220
- "stateMutability": "pure",
221
- "type": "function"
222
- },
223
234
  {
224
235
  "inputs": [],
225
236
  "name": "getVersion",
@@ -325,7 +336,7 @@
325
336
  },
326
337
  {
327
338
  "internalType": "bytes",
328
- "name": "initializationData",
339
+ "name": "data",
329
340
  "type": "bytes"
330
341
  }
331
342
  ],
@@ -342,7 +353,7 @@
342
353
  "type": "uint24"
343
354
  }
344
355
  ],
345
- "name": "isActivated",
356
+ "name": "isInitialized",
346
357
  "outputs": [
347
358
  {
348
359
  "internalType": "bool",
@@ -353,19 +364,6 @@
353
364
  "stateMutability": "view",
354
365
  "type": "function"
355
366
  },
356
- {
357
- "inputs": [],
358
- "name": "register",
359
- "outputs": [
360
- {
361
- "internalType": "NftId",
362
- "name": "nftId",
363
- "type": "uint96"
364
- }
365
- ],
366
- "stateMutability": "nonpayable",
367
- "type": "function"
368
- },
369
367
  {
370
368
  "inputs": [
371
369
  {
@@ -399,7 +397,7 @@
399
397
  },
400
398
  {
401
399
  "internalType": "bytes",
402
- "name": "upgradeData",
400
+ "name": "data",
403
401
  "type": "bytes"
404
402
  }
405
403
  ],
@@ -409,18 +407,14 @@
409
407
  "type": "function"
410
408
  }
411
409
  ],
412
- "bytecode": "0x60e06040523480156200001157600080fd5b50604051620017a8380380620017a883398101604081905262000034916200071f565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055818181816001600160a01b038216620000d05760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040516301ffc9a760e01b81526306ecd8ef60e01b60048201526301ffc9a790602401602060405180830381865afa15801562000120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000146919062000774565b620001945760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620000c7565b6001600160601b03811660a081905260805160405163e74d052f60e01b815260048101929092526001600160a01b03169063e74d052f90602401602060405180830381865afa158015620001ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000212919062000774565b6200026c5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401620000c7565b3360c052631dfba64760e11b60009081526020527f95e5a2564f7af40498dc043c6da135e06324c5edb1f60c2bf4dcdf2da207fa45805460ff1916600117905550620002bc905060003362000302565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff191660011790555050505062000818565b60006200030e620005da565b90506200031b8162000667565b156200037a5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401620000c7565b600254156200043b57600280546000919062000399906001906200079f565b81548110620003ac57620003ac620007c1565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620003df82826200070d565b620004395760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401620000c7565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620004c54290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990620005cd9083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006629190620007d7565b905090565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015620006e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007069190620007fe565b1192915050565b62ffffff808216908316115b92915050565b600080604083850312156200073357600080fd5b82516001600160a01b03811681146200074b57600080fd5b60208401519092506001600160601b03811681146200076957600080fd5b809150509250929050565b6000602082840312156200078757600080fd5b815180151581146200079857600080fd5b9392505050565b818103818111156200071957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215620007ea57600080fd5b815162ffffff811681146200079857600080fd5b6000602082840312156200081157600080fd5b5051919050565b60805160a05160c051610f4462000864600039600061076701526000610209015260008181610352015281816105ea01528181610677015281816106e801526107aa0152610f446000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80635b5b48f5116100ad578063a745e3df11610071578063a745e3df1461038a578063b3c65015146103ea578063b88da7591461040b578063cde749f41461041e578063cf7a1d771461042657600080fd5b80635b5b48f51461038a578063644c45e01461039f578063893d20e8146103a7578063946dfcfe146103af578063a3f4df7e146103c057600080fd5b80631aa3a008116100f45780631aa3a008146101e757806331b62a3b146102075780633bc5de301461022d5780634d459c90146102415780635ab1bd531461035057600080fd5b806301ffc9a7146101315780630abd8434146101735780630d8e6e2c1461018657806315dae03e146101a257806317d7de7c146101b7575b600080fd5b61015e61013f366004610c63565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015e610181366004610ca8565b610439565b61018e6104dc565b60405162ffffff909116815260200161016a565b60285b60405160ff909116815260200161016a565b60408051808201909152600b81526a546573745365727669636560a81b60208201525b60405161016a9190610d0b565b6101ef610566565b6040516001600160601b03909116815260200161016a565b7f00000000000000000000000000000000000000000000000000000000000000006101ef565b6040805160208101909152600081526101da565b6102f361024f366004610ca8565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a00161016a565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161016a565b61039d610398366004610d49565b505050565b005b6101ef61065f565b6103726106c6565b60025460405190815260200161016a565b6101da6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6103f2610823565b60405167ffffffffffffffff909116815260200161016a565b61018e610419366004610e1f565b610857565b6101a5610898565b61039d610434366004610d49565b610975565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156104b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d59190610e38565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801561053d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105619190610e51565b905090565b60006105706106c6565b6001600160a01b0316336001600160a01b0316146105d55760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af115801561063b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105619190610e6e565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa15801561063b573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa15801561072f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107539190610e6e565b905061076081600061097f565b1561078c577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156107f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081d9190610e97565b91505090565b60006105617ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b60006002828154811061086c5761086c610eb4565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fc9190610e51565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105619190610eca565b6103988383610995565b6001600160601b03828116908216145b92915050565b600061099f6104dc565b90506109aa81610439565b15610a075760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084016105cc565b60025415610ac6576002805460009190610a2390600190610eed565b81548110610a3357610a33610eb4565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610a6c828262ffffff90811691161190565b610ac45760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b60648201526084016105cc565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101610b4f4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990610c569083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b600060208284031215610c7557600080fd5b81356001600160e01b031981168114610c8d57600080fd5b9392505050565b62ffffff81168114610ca557600080fd5b50565b600060208284031215610cba57600080fd5b8135610c8d81610c94565b6000815180845260005b81811015610ceb57602081850181015186830182015201610ccf565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c8d6020830184610cc5565b6001600160a01b0381168114610ca557600080fd5b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215610d5e57600080fd5b8335610d6981610d1e565b92506020840135610d7981610d1e565b9150604084013567ffffffffffffffff80821115610d9657600080fd5b818601915086601f830112610daa57600080fd5b813581811115610dbc57610dbc610d33565b604051601f8201601f19908116603f01168101908382118183101715610de457610de4610d33565b81604052828152896020848701011115610dfd57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610e3157600080fd5b5035919050565b600060208284031215610e4a57600080fd5b5051919050565b600060208284031215610e6357600080fd5b8151610c8d81610c94565b600060208284031215610e8057600080fd5b81516001600160601b0381168114610c8d57600080fd5b600060208284031215610ea957600080fd5b8151610c8d81610d1e565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610edc57600080fd5b815160ff81168114610c8d57600080fd5b8181038181111561098f57634e487b7160e01b600052601160045260246000fdfea26469706673582212206f089e9191a0912c61eae0a23668f266f39bb8b8dd9fc28d71f035eca9d255eb64736f6c63430008140033",
413
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80635b5b48f5116100ad578063a745e3df11610071578063a745e3df1461038a578063b3c65015146103ea578063b88da7591461040b578063cde749f41461041e578063cf7a1d771461042657600080fd5b80635b5b48f51461038a578063644c45e01461039f578063893d20e8146103a7578063946dfcfe146103af578063a3f4df7e146103c057600080fd5b80631aa3a008116100f45780631aa3a008146101e757806331b62a3b146102075780633bc5de301461022d5780634d459c90146102415780635ab1bd531461035057600080fd5b806301ffc9a7146101315780630abd8434146101735780630d8e6e2c1461018657806315dae03e146101a257806317d7de7c146101b7575b600080fd5b61015e61013f366004610c63565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015e610181366004610ca8565b610439565b61018e6104dc565b60405162ffffff909116815260200161016a565b60285b60405160ff909116815260200161016a565b60408051808201909152600b81526a546573745365727669636560a81b60208201525b60405161016a9190610d0b565b6101ef610566565b6040516001600160601b03909116815260200161016a565b7f00000000000000000000000000000000000000000000000000000000000000006101ef565b6040805160208101909152600081526101da565b6102f361024f366004610ca8565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a00161016a565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161016a565b61039d610398366004610d49565b505050565b005b6101ef61065f565b6103726106c6565b60025460405190815260200161016a565b6101da6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6103f2610823565b60405167ffffffffffffffff909116815260200161016a565b61018e610419366004610e1f565b610857565b6101a5610898565b61039d610434366004610d49565b610975565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156104b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d59190610e38565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801561053d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105619190610e51565b905090565b60006105706106c6565b6001600160a01b0316336001600160a01b0316146105d55760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af115801561063b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105619190610e6e565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa15801561063b573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa15801561072f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107539190610e6e565b905061076081600061097f565b1561078c577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa1580156107f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081d9190610e97565b91505090565b60006105617ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b60006002828154811061086c5761086c610eb4565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fc9190610e51565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105619190610eca565b6103988383610995565b6001600160601b03828116908216145b92915050565b600061099f6104dc565b90506109aa81610439565b15610a075760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084016105cc565b60025415610ac6576002805460009190610a2390600190610eed565b81548110610a3357610a33610eb4565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610a6c828262ffffff90811691161190565b610ac45760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b60648201526084016105cc565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101610b4f4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990610c569083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b600060208284031215610c7557600080fd5b81356001600160e01b031981168114610c8d57600080fd5b9392505050565b62ffffff81168114610ca557600080fd5b50565b600060208284031215610cba57600080fd5b8135610c8d81610c94565b6000815180845260005b81811015610ceb57602081850181015186830182015201610ccf565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610c8d6020830184610cc5565b6001600160a01b0381168114610ca557600080fd5b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215610d5e57600080fd5b8335610d6981610d1e565b92506020840135610d7981610d1e565b9150604084013567ffffffffffffffff80821115610d9657600080fd5b818601915086601f830112610daa57600080fd5b813581811115610dbc57610dbc610d33565b604051601f8201601f19908116603f01168101908382118183101715610de457610de4610d33565b81604052828152896020848701011115610dfd57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610e3157600080fd5b5035919050565b600060208284031215610e4a57600080fd5b5051919050565b600060208284031215610e6357600080fd5b8151610c8d81610c94565b600060208284031215610e8057600080fd5b81516001600160601b0381168114610c8d57600080fd5b600060208284031215610ea957600080fd5b8151610c8d81610d1e565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610edc57600080fd5b815160ff81168114610c8d57600080fd5b8181038181111561098f57634e487b7160e01b600052601160045260246000fdfea26469706673582212206f089e9191a0912c61eae0a23668f266f39bb8b8dd9fc28d71f035eca9d255eb64736f6c63430008140033",
410
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620019c4380380620019c4833981016040819052620000349162000559565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff191660011790556200007a62000090565b6200008783838362000144565b505050620007f3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e15760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001415780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60006200016f60408051808201909152600b81526a546573745365727669636560a81b602082015290565b62000179620001f2565b6040516020016200018c929190620005b1565b60408051808303601f190181529190529050620001b084846028600086866200027f565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff1916600117905550505050565b6000620001fe620004b4565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a91906200060b565b905090565b6001600160a01b038616620002db5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6040516301ffc9a760e01b8152636882e63f60e11b600482015286906001600160a01b038216906301ffc9a790602401602060405180830381865afa15801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f919062000637565b6200039d5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620002d2565b6001600160a01b03818116600160a01b6001600160601b0389168102919091177f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3009081557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30180546001600160a01b031961ffff60a01b1990911660ff8b1690940260ff60a81b191693909317600160a81b8915150217929092169286169290921790557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3026200046d848262000700565b5063a6d3826560e01b60009081526020527f164a5a3a3a16df858f794c5fc01b962add2c2151ae53ddb31581eabdf1156730805460ff191660011790555050505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801562000516573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a9190620007cc565b80516001600160a01b03811681146200055457600080fd5b919050565b6000806000606084860312156200056f57600080fd5b6200057a846200053c565b60208501519093506001600160601b03811681146200059857600080fd5b9150620005a8604085016200053c565b90509250925092565b604081526000835180604084015260005b81811015620005e15760208187018101516060868401015201620005c2565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000602082840312156200061e57600080fd5b815160ff811681146200063057600080fd5b9392505050565b6000602082840312156200064a57600080fd5b815180151581146200063057600080fd5b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200068657607f821691505b602082108103620006a757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006fb57600081815260208120601f850160051c81016020861015620006d65750805b601f850160051c820191505b81811015620006f757828155600101620006e2565b5050505b505050565b81516001600160401b038111156200071c576200071c6200065b565b62000734816200072d845462000671565b84620006ad565b602080601f8311600181146200076c5760008415620007535750858301515b600019600386901b1c1916600185901b178555620006f7565b600085815260208120601f198616915b828110156200079d578886015182559484019460019091019084016200077c565b5085821015620007bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007df57600080fd5b815162ffffff811681146200063057600080fd5b6111c180620008036000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103ae578063b3c65015146103c3578063b88da759146103e4578063cde749f4146103f7578063cf7a1d771461041157600080fd5b8063644c45e014610335578063893d20e814610355578063946dfcfe1461035d578063a3f4df7e1461038457600080fd5b80631eff4b22116100de5780631eff4b22146101b45780634d459c90146101d75780634f421333146102f05780635ab1bd531461030357600080fd5b806301ffc9a7146101105780630d8e6e2c146101525780630fec111c1461016e57806317d7de7c14610184575b600080fd5b61013d61011e366004610d96565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015a610424565b60405162ffffff9091168152602001610149565b6101766104ae565b604051610149929190610e0d565b60408051808201909152600b81526a546573745365727669636560a81b60208201525b6040516101499190610eb4565b6101c960008051602061112c83398151915281565b604051908152602001610149565b6102936101e5366004610edb565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061116c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610149565b61013d6102fe366004610edb565b610611565b60008051602061112c833981519152546001600160a01b03165b6040516001600160a01b039091168152602001610149565b61033d6106c4565b6040516001600160601b039091168152602001610149565b61031d61073f565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c9565b6101a76040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6103c16103bc366004610f23565b6107ba565b005b6103cb610917565b60405167ffffffffffffffff9091168152602001610149565b61015a6103f2366004610ff9565b610939565b6103ff61098a565b60405160ff9091168152602001610149565b6103c161041f366004610f23565b610a0d565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611012565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909160008051602061112c83398151915290506040518060e0016040528061050d600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c0909201916105779061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546105a39061102f565b80156105f05780601f106105c5576101008083540402835291602001916105f0565b820191906000526020600020905b8154815290600101906020018083116105d357829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b60008060008051602061116c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611069565b1192915050565b600060008051602061112c83398151915254604051636939560f60e11b81523060048201526001600160a01b039091169063d272ac1e90602401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611082565b600060008051602061112c83398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a991906110ab565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6107dc610424565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561081c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084091906110c8565b60008051602061114c8339815191528054600160401b900460ff16806108745750805467ffffffffffffffff808416911610155b156108925760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556108be8585610b18565b6108c783610d59565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104a960008051602061114c8339815191525467ffffffffffffffff1690565b600060008051602061116c833981519152600101828154811061095e5761095e6110f2565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610994610424565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611108565b60008051602061114c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610a415750825b905060008267ffffffffffffffff166001148015610a5e5750303b155b905081158015610a6c575080155b15610a8a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ab457845460ff60401b1916600160401b1785555b610abe8888610b18565b610ac88787610d59565b8315610b0e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610b20610d5d565b60008051602061116c8339815191526000610b5160008051602061114c8339815191525467ffffffffffffffff1690565b90506000610b5d610424565b90508167ffffffffffffffff16600103610b8b5760028301805462ffffff191662ffffff8316179055610bdd565b600283015462ffffff90811690821611610bdd5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b03808916928401929092529086169082015260608101610c514290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906109089083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b61010b5b60008051602061114c83398151915254600160401b900460ff16610d9457604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215610da857600080fd5b81356001600160e01b031981168114610dc057600080fd5b9392505050565b6000815180845260005b81811015610ded57602081850181015186830182015201610dd1565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151610e5160a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610e97610120840182610dc7565b90508281036020840152610eab8185610dc7565b95945050505050565b602081526000610dc06020830184610dc7565b62ffffff81168114610ed857600080fd5b50565b600060208284031215610eed57600080fd5b8135610dc081610ec7565b6001600160a01b0381168114610ed857600080fd5b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215610f3857600080fd5b8335610f4381610ef8565b92506020840135610f5381610ef8565b9150604084013567ffffffffffffffff80821115610f7057600080fd5b818601915086601f830112610f8457600080fd5b813581811115610f9657610f96610f0d565b604051601f8201601f19908116603f01168101908382118183101715610fbe57610fbe610f0d565b81604052828152896020848701011115610fd757600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561100b57600080fd5b5035919050565b60006020828403121561102457600080fd5b8151610dc081610ec7565b600181811c9082168061104357607f821691505b60208210810361106357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561107b57600080fd5b5051919050565b60006020828403121561109457600080fd5b81516001600160601b0381168114610dc057600080fd5b6000602082840312156110bd57600080fd5b8151610dc081610ef8565b6000602082840312156110da57600080fd5b815167ffffffffffffffff81168114610dc057600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561111a57600080fd5b815160ff81168114610dc057600080fdfe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122033becd651d8bd7148de83be6e6e2bb2851c6b6a76cf4795604686e5c815e3b6964736f6c63430008140033",
411
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103ae578063b3c65015146103c3578063b88da759146103e4578063cde749f4146103f7578063cf7a1d771461041157600080fd5b8063644c45e014610335578063893d20e814610355578063946dfcfe1461035d578063a3f4df7e1461038457600080fd5b80631eff4b22116100de5780631eff4b22146101b45780634d459c90146101d75780634f421333146102f05780635ab1bd531461030357600080fd5b806301ffc9a7146101105780630d8e6e2c146101525780630fec111c1461016e57806317d7de7c14610184575b600080fd5b61013d61011e366004610d96565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61015a610424565b60405162ffffff9091168152602001610149565b6101766104ae565b604051610149929190610e0d565b60408051808201909152600b81526a546573745365727669636560a81b60208201525b6040516101499190610eb4565b6101c960008051602061112c83398151915281565b604051908152602001610149565b6102936101e5366004610edb565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061116c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610149565b61013d6102fe366004610edb565b610611565b60008051602061112c833981519152546001600160a01b03165b6040516001600160a01b039091168152602001610149565b61033d6106c4565b6040516001600160601b039091168152602001610149565b61031d61073f565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c9565b6101a76040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6103c16103bc366004610f23565b6107ba565b005b6103cb610917565b60405167ffffffffffffffff9091168152602001610149565b61015a6103f2366004610ff9565b610939565b6103ff61098a565b60405160ff9091168152602001610149565b6103c161041f366004610f23565b610a0d565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611012565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909160008051602061112c83398151915290506040518060e0016040528061050d600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c0909201916105779061102f565b80601f01602080910402602001604051908101604052809291908181526020018280546105a39061102f565b80156105f05780601f106105c5576101008083540402835291602001916105f0565b820191906000526020600020905b8154815290600101906020018083116105d357829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b60008060008051602061116c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611069565b1192915050565b600060008051602061112c83398151915254604051636939560f60e11b81523060048201526001600160a01b039091169063d272ac1e90602401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611082565b600060008051602061112c83398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a991906110ab565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6107dc610424565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561081c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084091906110c8565b60008051602061114c8339815191528054600160401b900460ff16806108745750805467ffffffffffffffff808416911610155b156108925760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556108be8585610b18565b6108c783610d59565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104a960008051602061114c8339815191525467ffffffffffffffff1690565b600060008051602061116c833981519152600101828154811061095e5761095e6110f2565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610994610424565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190611108565b60008051602061114c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610a415750825b905060008267ffffffffffffffff166001148015610a5e5750303b155b905081158015610a6c575080155b15610a8a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ab457845460ff60401b1916600160401b1785555b610abe8888610b18565b610ac88787610d59565b8315610b0e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610b20610d5d565b60008051602061116c8339815191526000610b5160008051602061114c8339815191525467ffffffffffffffff1690565b90506000610b5d610424565b90508167ffffffffffffffff16600103610b8b5760028301805462ffffff191662ffffff8316179055610bdd565b600283015462ffffff90811690821611610bdd5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b03808916928401929092529086169082015260608101610c514290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906109089083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b61010b5b60008051602061114c83398151915254600160401b900460ff16610d9457604051631afcd79f60e31b815260040160405180910390fd5b565b600060208284031215610da857600080fd5b81356001600160e01b031981168114610dc057600080fd5b9392505050565b6000815180845260005b81811015610ded57602081850181015186830182015201610dd1565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151610e5160a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610e97610120840182610dc7565b90508281036020840152610eab8185610dc7565b95945050505050565b602081526000610dc06020830184610dc7565b62ffffff81168114610ed857600080fd5b50565b600060208284031215610eed57600080fd5b8135610dc081610ec7565b6001600160a01b0381168114610ed857600080fd5b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215610f3857600080fd5b8335610f4381610ef8565b92506020840135610f5381610ef8565b9150604084013567ffffffffffffffff80821115610f7057600080fd5b818601915086601f830112610f8457600080fd5b813581811115610f9657610f96610f0d565b604051601f8201601f19908116603f01168101908382118183101715610fbe57610fbe610f0d565b81604052828152896020848701011115610fd757600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561100b57600080fd5b5035919050565b60006020828403121561102457600080fd5b8151610dc081610ec7565b600181811c9082168061104357607f821691505b60208210810361106357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561107b57600080fd5b5051919050565b60006020828403121561109457600080fd5b81516001600160601b0381168114610dc057600080fd5b6000602082840312156110bd57600080fd5b8151610dc081610ef8565b6000602082840312156110da57600080fd5b815167ffffffffffffffff81168114610dc057600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561111a57600080fd5b815160ff81168114610dc057600080fdfe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122033becd651d8bd7148de83be6e6e2bb2851c6b6a76cf4795604686e5c815e3b6964736f6c63430008140033",
414
412
  "linkReferences": {
415
413
  "contracts/types/Blocknumber.sol": {
416
414
  "BlocknumberLib": [
417
415
  {
418
416
  "length": 20,
419
- "start": 1701
420
- },
421
- {
422
- "length": 20,
423
- "start": 3291
417
+ "start": 3682
424
418
  }
425
419
  ]
426
420
  },
@@ -428,15 +422,23 @@
428
422
  "VersionLib": [
429
423
  {
430
424
  "length": 20,
431
- "start": 1537
425
+ "start": 537
426
+ },
427
+ {
428
+ "length": 20,
429
+ "start": 1243
432
430
  },
433
431
  {
434
432
  "length": 20,
435
- "start": 3431
433
+ "start": 3150
436
434
  },
437
435
  {
438
436
  "length": 20,
439
- "start": 4475
437
+ "start": 4031
438
+ },
439
+ {
440
+ "length": 20,
441
+ "start": 4530
440
442
  }
441
443
  ]
442
444
  }
@@ -446,7 +448,7 @@
446
448
  "BlocknumberLib": [
447
449
  {
448
450
  "length": 20,
449
- "start": 1143
451
+ "start": 1631
450
452
  }
451
453
  ]
452
454
  },
@@ -454,11 +456,15 @@
454
456
  "VersionLib": [
455
457
  {
456
458
  "length": 20,
457
- "start": 1283
459
+ "start": 1099
460
+ },
461
+ {
462
+ "length": 20,
463
+ "start": 1980
458
464
  },
459
465
  {
460
466
  "length": 20,
461
- "start": 2327
467
+ "start": 2479
462
468
  }
463
469
  ]
464
470
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -161,8 +161,8 @@
161
161
  "type": "function"
162
162
  }
163
163
  ],
164
- "bytecode": "0x608060405234801561001057600080fd5b50610544806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea2646970667358221220f19043d0a02e1b8e1b6b65109d61c8a46b38352b73b29196b595115cec87eae664736f6c63430008140033",
165
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea2646970667358221220f19043d0a02e1b8e1b6b65109d61c8a46b38352b73b29196b595115cec87eae664736f6c63430008140033",
164
+ "bytecode": "0x608060405234801561001057600080fd5b50610544806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea264697066735822122080f150de8b61ad3f87c071a3e90af61131794db3f3d57c03e041374b81317b1564736f6c63430008140033",
165
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea264697066735822122080f150de8b61ad3f87c071a3e90af61131794db3f3d57c03e041374b81317b1564736f6c63430008140033",
166
166
  "linkReferences": {
167
167
  "contracts/types/Version.sol": {
168
168
  "VersionLib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -48,32 +48,9 @@
48
48
  "type": "address"
49
49
  }
50
50
  ],
51
- "name": "LogVersionableActivated",
51
+ "name": "LogVersionableInitialized",
52
52
  "type": "event"
53
53
  },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "address",
58
- "name": "implementation",
59
- "type": "address"
60
- },
61
- {
62
- "internalType": "address",
63
- "name": "activatedBy",
64
- "type": "address"
65
- },
66
- {
67
- "internalType": "bytes",
68
- "name": "activatinData",
69
- "type": "bytes"
70
- }
71
- ],
72
- "name": "activate",
73
- "outputs": [],
74
- "stateMutability": "nonpayable",
75
- "type": "function"
76
- },
77
54
  {
78
55
  "inputs": [],
79
56
  "name": "getInitializedVersion",
@@ -192,7 +169,7 @@
192
169
  },
193
170
  {
194
171
  "internalType": "bytes",
195
- "name": "initializationData",
172
+ "name": "data",
196
173
  "type": "bytes"
197
174
  }
198
175
  ],
@@ -209,7 +186,7 @@
209
186
  "type": "uint24"
210
187
  }
211
188
  ],
212
- "name": "isActivated",
189
+ "name": "isInitialized",
213
190
  "outputs": [
214
191
  {
215
192
  "internalType": "bool",
@@ -234,7 +211,7 @@
234
211
  },
235
212
  {
236
213
  "internalType": "bytes",
237
- "name": "upgradeData",
214
+ "name": "data",
238
215
  "type": "bytes"
239
216
  }
240
217
  ],
@@ -244,18 +221,14 @@
244
221
  "type": "function"
245
222
  }
246
223
  ],
247
- "bytecode": "0x60806040523480156200001157600080fd5b506200001f60003362000025565b620004c3565b60006200003162000300565b90506200003e816200038d565b15620000a15760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084015b60405180910390fd5b6001541562000161576001805460009190620000bf90829062000443565b81548110620000d257620000d262000465565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16905062000105828262000431565b6200015f5760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b606482015260840162000098565b505b600180548082018255600091909152600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620001ea4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602081815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441990620002f39083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af415801562000362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038891906200047b565b905090565b62ffffff8116600090815260208190526040808220600101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af415801562000404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042a9190620004a9565b1192915050565b62ffffff808216908316115b92915050565b818103818111156200043d57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156200048e57600080fd5b815162ffffff81168114620004a257600080fd5b9392505050565b600060208284031215620004bc57600080fd5b5051919050565b6108cf80620004d36000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063946dfcfe11610066578063946dfcfe146101fe578063a745e3df146101e9578063b3c650151461020f578063b88da75914610230578063cf7a1d771461024357600080fd5b80630abd8434146100985780630d8e6e2c146100c05780634d459c90146100dc5780635b5b48f5146101e9575b600080fd5b6100ab6100a63660046106eb565b610256565b60405190151581526020015b60405180910390f35b6100c86102f7565b60405162ffffff90911681526020016100b7565b61018c6100ea3660046106eb565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff90811660009081526020818152604091829020825160a0810184528154948516815263010000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100b7565b6101fc6101f7366004610741565b505050565b005b6001546040519081526020016100b7565b610217610381565b60405167ffffffffffffffff90911681526020016100b7565b6100c861023e366004610813565b6103b5565b6101fc610251366004610741565b6103f6565b62ffffff8116600090815260208190526040808220600101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f0919061082c565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037c9190610845565b905090565b600061037c7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b6000600182815481106103ca576103ca610862565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6101f7838360006104056102f7565b905061041081610256565b156104725760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084015b60405180910390fd5b6001541561052857600180546000919061048d908290610878565b8154811061049d5761049d610862565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506104ce82826106c5565b6105265760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401610469565b505b600180548082018255600091909152600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020840152841690820152606081016105b04290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602081815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906106b89083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b62ffffff808216908316115b92915050565b62ffffff811681146106e857600080fd5b50565b6000602082840312156106fd57600080fd5b8135610708816106d7565b9392505050565b80356001600160a01b038116811461072657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561075657600080fd5b61075f8461070f565b925061076d6020850161070f565b9150604084013567ffffffffffffffff8082111561078a57600080fd5b818601915086601f83011261079e57600080fd5b8135818111156107b0576107b061072b565b604051601f8201601f19908116603f011681019083821181831017156107d8576107d861072b565b816040528281528960208487010111156107f157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561082557600080fd5b5035919050565b60006020828403121561083e57600080fd5b5051919050565b60006020828403121561085757600080fd5b8151610708816106d7565b634e487b7160e01b600052603260045260246000fd5b818103818111156106d157634e487b7160e01b600052601160045260246000fdfea2646970667358221220f616dbba054c88918a6cb2a8d173478e16770656e2fba5875e2e42be4650483f64736f6c63430008140033",
248
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063946dfcfe11610066578063946dfcfe146101fe578063a745e3df146101e9578063b3c650151461020f578063b88da75914610230578063cf7a1d771461024357600080fd5b80630abd8434146100985780630d8e6e2c146100c05780634d459c90146100dc5780635b5b48f5146101e9575b600080fd5b6100ab6100a63660046106eb565b610256565b60405190151581526020015b60405180910390f35b6100c86102f7565b60405162ffffff90911681526020016100b7565b61018c6100ea3660046106eb565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff90811660009081526020818152604091829020825160a0810184528154948516815263010000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100b7565b6101fc6101f7366004610741565b505050565b005b6001546040519081526020016100b7565b610217610381565b60405167ffffffffffffffff90911681526020016100b7565b6100c861023e366004610813565b6103b5565b6101fc610251366004610741565b6103f6565b62ffffff8116600090815260208190526040808220600101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f0919061082c565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037c9190610845565b905090565b600061037c7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005467ffffffffffffffff1690565b6000600182815481106103ca576103ca610862565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6101f7838360006104056102f7565b905061041081610256565b156104725760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084015b60405180910390fd5b6001541561052857600180546000919061048d908290610878565b8154811061049d5761049d610862565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506104ce82826106c5565b6105265760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401610469565b505b600180548082018255600091909152600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020840152841690820152606081016105b04290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602081815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906106b89083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b62ffffff808216908316115b92915050565b62ffffff811681146106e857600080fd5b50565b6000602082840312156106fd57600080fd5b8135610708816106d7565b9392505050565b80356001600160a01b038116811461072657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561075657600080fd5b61075f8461070f565b925061076d6020850161070f565b9150604084013567ffffffffffffffff8082111561078a57600080fd5b818601915086601f83011261079e57600080fd5b8135818111156107b0576107b061072b565b604051601f8201601f19908116603f011681019083821181831017156107d8576107d861072b565b816040528281528960208487010111156107f157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561082557600080fd5b5035919050565b60006020828403121561083e57600080fd5b5051919050565b60006020828403121561085757600080fd5b8151610708816106d7565b634e487b7160e01b600052603260045260246000fd5b818103818111156106d157634e487b7160e01b600052601160045260246000fdfea2646970667358221220f616dbba054c88918a6cb2a8d173478e16770656e2fba5875e2e42be4650483f64736f6c63430008140033",
224
+ "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610b4d806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610920565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610af883398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610920565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d610228366004610976565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610a48565b610532565b61022d610271366004610976565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610a61565b905090565b600080600080516020610af883398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610a7e565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610a97565b600080516020610ad88339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c0836108cf565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610ad88339815191525467ffffffffffffffff1690565b6000600080516020610af8833981519152600101828154811061055757610557610ac1565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610ad88339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e87876108cf565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6106966108d3565b600080516020610af883398151915260006106c7600080516020610ad88339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089169284019290925290861690820152606081016107c74290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610ad883398151915254600160401b900460ff1661090a57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461091d57600080fd5b50565b60006020828403121561093257600080fd5b813561093d8161090c565b9392505050565b80356001600160a01b038116811461095b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561098b57600080fd5b61099484610944565b92506109a260208501610944565b9150604084013567ffffffffffffffff808211156109bf57600080fd5b818601915086601f8301126109d357600080fd5b8135818111156109e5576109e5610960565b604051601f8201601f19908116603f01168101908382118183101715610a0d57610a0d610960565b81604052828152896020848701011115610a2657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610a5a57600080fd5b5035919050565b600060208284031215610a7357600080fd5b815161093d8161090c565b600060208284031215610a9057600080fd5b5051919050565b600060208284031215610aa957600080fd5b815167ffffffffffffffff8116811461093d57600080fd5b634e487b7160e01b600052603260045260246000fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220057cc85d9d65513b31827396e7fefeaa6a2b360810e1c9c13cc27a737fb0ebb364736f6c63430008140033",
225
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610920565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610af883398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610920565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d610228366004610976565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610a48565b610532565b61022d610271366004610976565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610a61565b905090565b600080600080516020610af883398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610a7e565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610a97565b600080516020610ad88339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c0836108cf565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610ad88339815191525467ffffffffffffffff1690565b6000600080516020610af8833981519152600101828154811061055757610557610ac1565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610ad88339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e87876108cf565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6106966108d3565b600080516020610af883398151915260006106c7600080516020610ad88339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089169284019290925290861690820152606081016107c74290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610ad883398151915254600160401b900460ff1661090a57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461091d57600080fd5b50565b60006020828403121561093257600080fd5b813561093d8161090c565b9392505050565b80356001600160a01b038116811461095b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561098b57600080fd5b61099484610944565b92506109a260208501610944565b9150604084013567ffffffffffffffff808211156109bf57600080fd5b818601915086601f8301126109d357600080fd5b8135818111156109e5576109e5610960565b604051601f8201601f19908116603f01168101908382118183101715610a0d57610a0d610960565b81604052828152896020848701011115610a2657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610a5a57600080fd5b5035919050565b600060208284031215610a7357600080fd5b815161093d8161090c565b600060208284031215610a9057600080fd5b5051919050565b600060208284031215610aa957600080fd5b815167ffffffffffffffff8116811461093d57600080fd5b634e487b7160e01b600052603260045260246000fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220057cc85d9d65513b31827396e7fefeaa6a2b360810e1c9c13cc27a737fb0ebb364736f6c63430008140033",
249
226
  "linkReferences": {
250
227
  "contracts/types/Blocknumber.sol": {
251
228
  "BlocknumberLib": [
252
229
  {
253
230
  "length": 20,
254
- "start": 969
255
- },
256
- {
257
- "length": 20,
258
- "start": 1893
231
+ "start": 1069
259
232
  }
260
233
  ]
261
234
  },
@@ -263,11 +236,11 @@
263
236
  "VersionLib": [
264
237
  {
265
238
  "length": 20,
266
- "start": 807
239
+ "start": 892
267
240
  },
268
241
  {
269
242
  "length": 20,
270
- "start": 2033
243
+ "start": 1172
271
244
  }
272
245
  ]
273
246
  }
@@ -277,7 +250,7 @@
277
250
  "BlocknumberLib": [
278
251
  {
279
252
  "length": 20,
280
- "start": 658
253
+ "start": 846
281
254
  }
282
255
  ]
283
256
  },
@@ -285,7 +258,11 @@
285
258
  "VersionLib": [
286
259
  {
287
260
  "length": 20,
288
- "start": 798
261
+ "start": 669
262
+ },
263
+ {
264
+ "length": 20,
265
+ "start": 949
289
266
  }
290
267
  ]
291
268
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddc9b0b487d1eff0b437a694ef8bc6d1.json"
3
+ "buildInfo": "../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }