@etherisc/gif-next 0.0.2-f02157b-803 → 0.0.2-f080b71-868

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. package/README.md +75 -14
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +842 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +948 -229
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +605 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +848 -31
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +864 -49
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +682 -9
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +849 -247
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +637 -224
  18. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  19. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  20. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  22. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  23. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +91 -2
  24. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  25. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +468 -246
  26. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +389 -156
  28. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  29. package/artifacts/contracts/instance/Instance.sol/Instance.json +445 -2985
  30. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +606 -175
  32. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  33. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  34. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +252 -210
  36. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  37. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +540 -179
  38. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  39. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +322 -73
  40. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  41. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2677 -0
  42. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  43. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +256 -0
  44. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  45. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +639 -0
  46. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  48. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
  50. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
  52. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
  54. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  56. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  57. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  62. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  63. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +860 -0
  64. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +641 -0
  66. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  67. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1276 -0
  68. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  69. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +717 -0
  70. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +849 -0
  72. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  73. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +641 -0
  74. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  75. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1539 -0
  76. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  77. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +769 -0
  78. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  79. package/artifacts/contracts/instance/{base/ServiceBase.sol/ServiceBase.json → service/IApplicationService.sol/IApplicationService.json} +191 -184
  80. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +680 -0
  82. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  83. package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IClaimService.sol/IClaimService.json} +217 -208
  84. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  85. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +585 -160
  86. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  87. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +648 -0
  88. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +437 -154
  90. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +4 -0
  91. package/artifacts/contracts/instance/{base/IService.sol/IService.json → service/IPricingService.sol/IPricingService.json} +270 -173
  92. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  93. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +90 -391
  94. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  95. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1166 -0
  96. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +697 -0
  98. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  99. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +1269 -0
  100. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +661 -0
  102. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +988 -0
  104. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +689 -0
  106. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +872 -0
  108. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +653 -0
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +373 -61
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +223 -229
  116. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  118. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.json +333 -188
  120. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  121. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  122. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +227 -330
  124. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +304 -138
  126. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
  128. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  129. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +498 -0
  130. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  132. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  133. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  134. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
  135. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  136. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
  137. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  138. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
  139. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  140. package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
  141. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  142. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IService.sol/IService.json} +98 -77
  143. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  144. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  145. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  146. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
  147. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  148. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
  149. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
  151. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  152. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
  153. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  154. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
  155. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  156. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/Service.sol/Service.json} +185 -170
  157. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  158. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  159. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  160. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  161. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  162. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  163. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  164. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  165. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  166. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
  167. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  168. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
  169. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  170. package/artifacts/contracts/test/TestService.sol/TestService.json +210 -214
  171. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  172. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  173. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  174. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  175. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
  176. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  177. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  178. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
  179. package/artifacts/contracts/types/Amount.sol/AmountLib.json +161 -0
  180. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  181. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  182. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  183. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  184. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
  185. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  187. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  188. package/artifacts/contracts/types/Fee.sol/FeeLib.json +40 -9
  189. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  190. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  191. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
  193. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  194. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  195. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  198. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  199. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
  200. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  201. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
  202. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  203. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  204. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  205. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  206. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  207. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  208. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  209. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  210. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  211. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
  212. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  213. package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
  214. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  215. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
  216. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  217. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  218. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  219. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  220. package/contracts/components/Component.sol +253 -0
  221. package/contracts/components/Distribution.sol +200 -86
  222. package/contracts/components/IComponent.sol +76 -0
  223. package/contracts/components/IDistributionComponent.sol +44 -16
  224. package/contracts/components/IPoolComponent.sol +88 -37
  225. package/contracts/components/IProductComponent.sol +10 -5
  226. package/contracts/components/Pool.sol +225 -181
  227. package/contracts/components/Product.sol +136 -137
  228. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +13 -0
  229. package/contracts/instance/BundleManager.sol +127 -0
  230. package/contracts/instance/Cloneable.sol +51 -0
  231. package/contracts/instance/IInstance.sol +45 -13
  232. package/contracts/instance/IInstanceService.sol +74 -7
  233. package/contracts/instance/Instance.sol +152 -361
  234. package/contracts/instance/InstanceAccessManager.sol +428 -176
  235. package/contracts/instance/InstanceAuthorizationsLib.sol +299 -0
  236. package/contracts/instance/InstanceReader.sol +49 -30
  237. package/contracts/instance/InstanceService.sol +274 -56
  238. package/contracts/instance/InstanceServiceManager.sol +11 -13
  239. package/contracts/instance/InstanceStore.sol +219 -0
  240. package/contracts/instance/ObjectManager.sol +82 -0
  241. package/contracts/instance/base/ComponentService.sol +147 -0
  242. package/contracts/instance/base/KeyValueStore.sol +13 -5
  243. package/contracts/instance/base/Lifecycle.sol +11 -2
  244. package/contracts/instance/module/IAccess.sol +36 -20
  245. package/contracts/instance/module/IBundle.sol +8 -4
  246. package/contracts/instance/module/IComponents.sol +41 -0
  247. package/contracts/instance/module/IDistribution.sol +2 -0
  248. package/contracts/instance/module/IPolicy.sol +30 -3
  249. package/contracts/instance/module/ISetup.sol +9 -19
  250. package/contracts/instance/service/ApplicationService.sol +183 -0
  251. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  252. package/contracts/instance/service/BundleService.sol +431 -0
  253. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  254. package/contracts/instance/service/ClaimService.sol +145 -0
  255. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  256. package/contracts/instance/service/DistributionService.sol +346 -0
  257. package/contracts/instance/service/DistributionServiceManager.sol +51 -0
  258. package/contracts/instance/service/IApplicationService.sol +64 -0
  259. package/contracts/instance/service/IBundleService.sol +94 -0
  260. package/contracts/instance/service/IClaimService.sol +61 -0
  261. package/contracts/instance/service/IDistributionService.sol +74 -1
  262. package/contracts/instance/service/IPolicyService.sol +74 -0
  263. package/contracts/instance/service/IPoolService.sol +80 -18
  264. package/contracts/instance/service/IPricingService.sol +36 -0
  265. package/contracts/instance/service/IProductService.sol +7 -74
  266. package/contracts/instance/service/PolicyService.sol +376 -0
  267. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  268. package/contracts/instance/service/PoolService.sol +303 -0
  269. package/contracts/instance/service/PoolServiceManager.sol +51 -0
  270. package/contracts/instance/service/PricingService.sol +275 -0
  271. package/contracts/instance/service/PricingServiceManager.sol +51 -0
  272. package/contracts/instance/service/ProductService.sol +210 -0
  273. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  274. package/contracts/registry/ChainNft.sol +9 -1
  275. package/contracts/registry/IRegistry.sol +52 -8
  276. package/contracts/registry/IRegistryService.sol +53 -20
  277. package/contracts/registry/ITransferInterceptor.sol +1 -0
  278. package/contracts/registry/Registry.sol +270 -226
  279. package/contracts/registry/RegistryAccessManager.sol +216 -0
  280. package/contracts/registry/RegistryService.sol +118 -271
  281. package/contracts/registry/RegistryServiceManager.sol +24 -26
  282. package/contracts/registry/ReleaseManager.sol +324 -0
  283. package/contracts/registry/TokenRegistry.sol +116 -0
  284. package/contracts/shared/ERC165.sol +14 -8
  285. package/contracts/shared/INftOwnable.sol +11 -10
  286. package/contracts/shared/IPolicyHolder.sol +26 -0
  287. package/contracts/shared/IRegisterable.sol +4 -6
  288. package/contracts/shared/IRegistryLinked.sol +12 -0
  289. package/contracts/shared/IService.sol +16 -0
  290. package/contracts/shared/IVersionable.sol +4 -47
  291. package/contracts/shared/NftOwnable.sol +67 -83
  292. package/contracts/shared/PolicyHolder.sol +81 -0
  293. package/contracts/shared/ProxyManager.sol +100 -25
  294. package/contracts/shared/Registerable.sol +16 -31
  295. package/contracts/shared/RegistryLinked.sol +48 -0
  296. package/contracts/shared/Service.sol +72 -0
  297. package/contracts/shared/TokenHandler.sol +11 -5
  298. package/contracts/shared/Versionable.sol +4 -92
  299. package/contracts/test/TestRegisterable.sol +1 -1
  300. package/contracts/test/TestService.sol +6 -7
  301. package/contracts/types/Amount.sol +60 -0
  302. package/contracts/types/Blocknumber.sol +1 -0
  303. package/contracts/types/ClaimId.sol +52 -0
  304. package/contracts/types/DistributorType.sol +2 -2
  305. package/contracts/types/Fee.sol +13 -5
  306. package/contracts/types/NftId.sol +8 -0
  307. package/contracts/types/NftIdSet.sol +26 -24
  308. package/contracts/types/ObjectType.sol +14 -5
  309. package/contracts/types/PayoutId.sol +54 -0
  310. package/contracts/types/Referral.sol +4 -0
  311. package/contracts/types/RoleId.sol +26 -11
  312. package/contracts/types/Seconds.sol +54 -0
  313. package/contracts/types/StateId.sol +5 -0
  314. package/contracts/types/Timestamp.sol +13 -13
  315. package/contracts/types/UFixed.sol +1 -0
  316. package/contracts/types/Version.sol +5 -1
  317. package/package.json +3 -3
  318. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  319. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  320. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
  321. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  322. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  323. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  324. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  325. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  326. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  327. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  328. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  329. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  330. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  331. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  332. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  333. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  334. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  335. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  336. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  337. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  338. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  339. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  340. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  341. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  342. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  343. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  344. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  345. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  346. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  347. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  348. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  349. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  350. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  351. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  352. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  353. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  354. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  355. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  356. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  357. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  358. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  359. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  360. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  361. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  362. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1119
  363. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  364. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  365. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  366. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  367. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  368. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  369. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  370. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  371. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  372. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  373. package/contracts/components/BaseComponent.sol +0 -86
  374. package/contracts/components/IBaseComponent.sol +0 -24
  375. package/contracts/experiment/cloning/Cloner.sol +0 -47
  376. package/contracts/experiment/errors/Require.sol +0 -38
  377. package/contracts/experiment/errors/Revert.sol +0 -44
  378. package/contracts/experiment/inheritance/A.sol +0 -53
  379. package/contracts/experiment/inheritance/B.sol +0 -28
  380. package/contracts/experiment/inheritance/C.sol +0 -34
  381. package/contracts/experiment/inheritance/IA.sol +0 -13
  382. package/contracts/experiment/inheritance/IB.sol +0 -10
  383. package/contracts/experiment/inheritance/IC.sol +0 -12
  384. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  385. package/contracts/experiment/statemachine/ISM.sol +0 -25
  386. package/contracts/experiment/statemachine/SM.sol +0 -57
  387. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  388. package/contracts/experiment/types/TypeA.sol +0 -47
  389. package/contracts/experiment/types/TypeB.sol +0 -29
  390. package/contracts/instance/AccessManagedSimple.sol +0 -114
  391. package/contracts/instance/AccessManagerSimple.sol +0 -682
  392. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  393. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  394. package/contracts/instance/base/IInstanceBase.sol +0 -23
  395. package/contracts/instance/base/IService.sol +0 -15
  396. package/contracts/instance/base/ServiceBase.sol +0 -44
  397. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  398. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
@@ -3,27 +3,6 @@
3
3
  "contractName": "Instance",
4
4
  "sourceName": "contracts/instance/Instance.sol",
5
5
  "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "accessManagerAddress",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "registryAddress",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "NftId",
20
- "name": "registryNftId",
21
- "type": "uint96"
22
- }
23
- ],
24
- "stateMutability": "nonpayable",
25
- "type": "constructor"
26
- },
27
6
  {
28
7
  "inputs": [
29
8
  {
@@ -64,18 +43,13 @@
64
43
  },
65
44
  {
66
45
  "inputs": [
67
- {
68
- "internalType": "address",
69
- "name": "registry",
70
- "type": "address"
71
- },
72
46
  {
73
47
  "internalType": "NftId",
74
48
  "name": "nftId",
75
49
  "type": "uint96"
76
50
  }
77
51
  ],
78
- "name": "ErrorAlreadyLinked",
52
+ "name": "ErrorNftOwnableAlreadyLinked",
79
53
  "type": "error"
80
54
  },
81
55
  {
@@ -86,55 +60,12 @@
86
60
  "type": "address"
87
61
  }
88
62
  ],
89
- "name": "ErrorContractNotRegistered",
90
- "type": "error"
91
- },
92
- {
93
- "inputs": [
94
- {
95
- "internalType": "RoleId",
96
- "name": "roleId",
97
- "type": "uint64"
98
- }
99
- ],
100
- "name": "ErrorGrantNonexstentRole",
63
+ "name": "ErrorNftOwnableContractNotRegistered",
101
64
  "type": "error"
102
65
  },
103
66
  {
104
- "inputs": [
105
- {
106
- "internalType": "ObjectType",
107
- "name": "objectType",
108
- "type": "uint8"
109
- },
110
- {
111
- "internalType": "StateId",
112
- "name": "fromStateId",
113
- "type": "uint8"
114
- },
115
- {
116
- "internalType": "StateId",
117
- "name": "toStateId",
118
- "type": "uint8"
119
- }
120
- ],
121
- "name": "ErrorInvalidStateTransition",
122
- "type": "error"
123
- },
124
- {
125
- "inputs": [
126
- {
127
- "internalType": "NftId",
128
- "name": "nftId",
129
- "type": "uint96"
130
- },
131
- {
132
- "internalType": "ObjectType",
133
- "name": "objectType",
134
- "type": "uint8"
135
- }
136
- ],
137
- "name": "ErrorNoLifecycle",
67
+ "inputs": [],
68
+ "name": "ErrorNftOwnableInitialOwnerZero",
138
69
  "type": "error"
139
70
  },
140
71
  {
@@ -145,7 +76,7 @@
145
76
  "type": "address"
146
77
  }
147
78
  ],
148
- "name": "ErrorNotOwner",
79
+ "name": "ErrorNftOwnableNotOwner",
149
80
  "type": "error"
150
81
  },
151
82
  {
@@ -159,130 +90,184 @@
159
90
  "name": "ErrorNotRegistry",
160
91
  "type": "error"
161
92
  },
93
+ {
94
+ "inputs": [],
95
+ "name": "InstanceErrorAccessManagerAlreadySet",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [],
100
+ "name": "InstanceErrorAccessManagerAuthorityMismatch",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "inputs": [],
105
+ "name": "InstanceErrorBundleManagerAlreadySet",
106
+ "type": "error"
107
+ },
108
+ {
109
+ "inputs": [],
110
+ "name": "InstanceErrorBundleManagerAuthorityMismatch",
111
+ "type": "error"
112
+ },
162
113
  {
163
114
  "inputs": [
164
115
  {
165
116
  "internalType": "address",
166
- "name": "registryAddress",
117
+ "name": "expectedInstance",
118
+ "type": "address"
119
+ },
120
+ {
121
+ "internalType": "address",
122
+ "name": "foundInstance",
167
123
  "type": "address"
168
124
  }
169
125
  ],
170
- "name": "ErrorRegisterableNotRegistry",
126
+ "name": "InstanceErrorBundleManagerInstanceMismatch",
127
+ "type": "error"
128
+ },
129
+ {
130
+ "inputs": [],
131
+ "name": "InstanceErrorInstanceStoreAlreadySet",
171
132
  "type": "error"
172
133
  },
173
134
  {
174
135
  "inputs": [],
175
- "name": "ErrorRegistryAddressZero",
136
+ "name": "InstanceErrorInstanceStoreAuthorityMismatch",
176
137
  "type": "error"
177
138
  },
178
139
  {
179
140
  "inputs": [
180
141
  {
181
142
  "internalType": "address",
182
- "name": "registry",
143
+ "name": "expectedInstance",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "internalType": "address",
148
+ "name": "foundInstance",
183
149
  "type": "address"
184
150
  }
185
151
  ],
186
- "name": "ErrorRegistryAlreadyInitialized",
152
+ "name": "InstanceErrorReaderInstanceMismatch",
187
153
  "type": "error"
188
154
  },
189
155
  {
190
156
  "inputs": [],
191
- "name": "ErrorRegistryNotInitialized",
157
+ "name": "InvalidInitialization",
192
158
  "type": "error"
193
159
  },
194
160
  {
195
- "inputs": [
196
- {
197
- "internalType": "RoleId",
198
- "name": "roleId",
199
- "type": "uint64"
200
- }
201
- ],
202
- "name": "ErrorRenounceNonexstentRole",
161
+ "inputs": [],
162
+ "name": "NotInitializing",
203
163
  "type": "error"
204
164
  },
205
165
  {
166
+ "anonymous": false,
206
167
  "inputs": [
207
168
  {
208
- "internalType": "RoleId",
209
- "name": "roleId",
210
- "type": "uint64"
169
+ "indexed": false,
170
+ "internalType": "address",
171
+ "name": "authority",
172
+ "type": "address"
211
173
  }
212
174
  ],
213
- "name": "ErrorRevokeNonexstentRole",
214
- "type": "error"
175
+ "name": "AuthorityUpdated",
176
+ "type": "event"
215
177
  },
216
178
  {
179
+ "anonymous": false,
217
180
  "inputs": [
218
181
  {
219
- "internalType": "RoleId",
220
- "name": "roleId",
182
+ "indexed": false,
183
+ "internalType": "uint64",
184
+ "name": "version",
221
185
  "type": "uint64"
222
186
  }
223
187
  ],
224
- "name": "ErrorRoleIdInvalid",
225
- "type": "error"
188
+ "name": "Initialized",
189
+ "type": "event"
226
190
  },
227
191
  {
228
- "inputs": [
192
+ "inputs": [],
193
+ "name": "GIF_MAJOR_VERSION",
194
+ "outputs": [
229
195
  {
230
- "internalType": "RoleId",
231
- "name": "roleId",
232
- "type": "uint64"
196
+ "internalType": "uint256",
197
+ "name": "",
198
+ "type": "uint256"
233
199
  }
234
200
  ],
235
- "name": "ErrorRoleIdNotActive",
236
- "type": "error"
201
+ "stateMutability": "view",
202
+ "type": "function"
237
203
  },
238
204
  {
239
- "inputs": [
205
+ "inputs": [],
206
+ "name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
207
+ "outputs": [
240
208
  {
241
- "internalType": "RoleId",
242
- "name": "roleId",
243
- "type": "uint64"
209
+ "internalType": "bytes32",
210
+ "name": "",
211
+ "type": "bytes32"
244
212
  }
245
213
  ],
246
- "name": "ErrorRoleIdTooBig",
247
- "type": "error"
214
+ "stateMutability": "view",
215
+ "type": "function"
248
216
  },
249
217
  {
250
- "inputs": [
218
+ "inputs": [],
219
+ "name": "REGISTERABLE_LOCATION_V1",
220
+ "outputs": [
251
221
  {
252
- "internalType": "RoleId",
253
- "name": "roleId",
254
- "type": "uint64"
222
+ "internalType": "bytes32",
223
+ "name": "",
224
+ "type": "bytes32"
255
225
  }
256
226
  ],
257
- "name": "ErrorRoleIdTooSmall",
258
- "type": "error"
227
+ "stateMutability": "view",
228
+ "type": "function"
259
229
  },
260
230
  {
261
- "inputs": [
231
+ "inputs": [],
232
+ "name": "authority",
233
+ "outputs": [
262
234
  {
263
- "internalType": "RoleId",
264
- "name": "roleId",
265
- "type": "uint64"
235
+ "internalType": "address",
236
+ "name": "",
237
+ "type": "address"
266
238
  }
267
239
  ],
268
- "name": "ErrorRoleNameEmpty",
269
- "type": "error"
240
+ "stateMutability": "view",
241
+ "type": "function"
270
242
  },
271
243
  {
272
244
  "inputs": [
245
+ {
246
+ "internalType": "string",
247
+ "name": "roleName",
248
+ "type": "string"
249
+ },
250
+ {
251
+ "internalType": "string",
252
+ "name": "adminName",
253
+ "type": "string"
254
+ }
255
+ ],
256
+ "name": "createRole",
257
+ "outputs": [
273
258
  {
274
259
  "internalType": "RoleId",
275
260
  "name": "roleId",
276
261
  "type": "uint64"
277
262
  },
278
263
  {
279
- "internalType": "ShortString",
280
- "name": "name",
281
- "type": "bytes32"
264
+ "internalType": "RoleId",
265
+ "name": "admin",
266
+ "type": "uint64"
282
267
  }
283
268
  ],
284
- "name": "ErrorRoleNameNotUnique",
285
- "type": "error"
269
+ "stateMutability": "nonpayable",
270
+ "type": "function"
286
271
  },
287
272
  {
288
273
  "inputs": [
@@ -290,200 +275,167 @@
290
275
  "internalType": "address",
291
276
  "name": "target",
292
277
  "type": "address"
278
+ },
279
+ {
280
+ "internalType": "string",
281
+ "name": "name",
282
+ "type": "string"
293
283
  }
294
284
  ],
295
- "name": "ErrorTargetDoesNotExist",
296
- "type": "error"
297
- },
298
- {
299
- "inputs": [],
300
- "name": "InvalidInitialization",
301
- "type": "error"
302
- },
303
- {
304
- "inputs": [],
305
- "name": "InvalidShortString",
306
- "type": "error"
285
+ "name": "createTarget",
286
+ "outputs": [],
287
+ "stateMutability": "nonpayable",
288
+ "type": "function"
307
289
  },
308
290
  {
309
291
  "inputs": [],
310
- "name": "NotInitializing",
311
- "type": "error"
312
- },
313
- {
314
- "inputs": [
292
+ "name": "getBundleManager",
293
+ "outputs": [
315
294
  {
316
- "internalType": "string",
317
- "name": "str",
318
- "type": "string"
295
+ "internalType": "contract BundleManager",
296
+ "name": "",
297
+ "type": "address"
319
298
  }
320
299
  ],
321
- "name": "StringTooLong",
322
- "type": "error"
300
+ "stateMutability": "view",
301
+ "type": "function"
323
302
  },
324
303
  {
325
- "anonymous": false,
326
- "inputs": [
304
+ "inputs": [],
305
+ "name": "getBundleService",
306
+ "outputs": [
327
307
  {
328
- "indexed": false,
329
- "internalType": "address",
330
- "name": "authority",
308
+ "internalType": "contract IBundleService",
309
+ "name": "",
331
310
  "type": "address"
332
311
  }
333
312
  ],
334
- "name": "AuthorityUpdated",
335
- "type": "event"
313
+ "stateMutability": "view",
314
+ "type": "function"
336
315
  },
337
316
  {
338
- "anonymous": false,
339
- "inputs": [
317
+ "inputs": [],
318
+ "name": "getDistributionService",
319
+ "outputs": [
340
320
  {
341
- "indexed": false,
342
- "internalType": "uint64",
343
- "name": "version",
344
- "type": "uint64"
321
+ "internalType": "contract IDistributionService",
322
+ "name": "",
323
+ "type": "address"
345
324
  }
346
325
  ],
347
- "name": "Initialized",
348
- "type": "event"
326
+ "stateMutability": "view",
327
+ "type": "function"
349
328
  },
350
329
  {
351
- "anonymous": false,
352
- "inputs": [
353
- {
354
- "indexed": false,
355
- "internalType": "ObjectType",
356
- "name": "objectType",
357
- "type": "uint8"
358
- },
330
+ "inputs": [],
331
+ "name": "getInitialInfo",
332
+ "outputs": [
359
333
  {
360
- "indexed": false,
361
- "internalType": "KeyId",
362
- "name": "keyId",
363
- "type": "bytes31"
364
- },
365
- {
366
- "indexed": false,
367
- "internalType": "StateId",
368
- "name": "state",
369
- "type": "uint8"
370
- },
371
- {
372
- "indexed": false,
373
- "internalType": "address",
374
- "name": "createdBy",
375
- "type": "address"
376
- },
334
+ "components": [
335
+ {
336
+ "internalType": "NftId",
337
+ "name": "nftId",
338
+ "type": "uint96"
339
+ },
340
+ {
341
+ "internalType": "NftId",
342
+ "name": "parentNftId",
343
+ "type": "uint96"
344
+ },
345
+ {
346
+ "internalType": "ObjectType",
347
+ "name": "objectType",
348
+ "type": "uint8"
349
+ },
350
+ {
351
+ "internalType": "bool",
352
+ "name": "isInterceptor",
353
+ "type": "bool"
354
+ },
355
+ {
356
+ "internalType": "address",
357
+ "name": "objectAddress",
358
+ "type": "address"
359
+ },
360
+ {
361
+ "internalType": "address",
362
+ "name": "initialOwner",
363
+ "type": "address"
364
+ },
365
+ {
366
+ "internalType": "bytes",
367
+ "name": "data",
368
+ "type": "bytes"
369
+ }
370
+ ],
371
+ "internalType": "struct IRegistry.ObjectInfo",
372
+ "name": "info",
373
+ "type": "tuple"
374
+ }
375
+ ],
376
+ "stateMutability": "view",
377
+ "type": "function"
378
+ },
379
+ {
380
+ "inputs": [],
381
+ "name": "getInstanceAccessManager",
382
+ "outputs": [
377
383
  {
378
- "indexed": false,
379
- "internalType": "address",
380
- "name": "txOrigin",
384
+ "internalType": "contract InstanceAccessManager",
385
+ "name": "",
381
386
  "type": "address"
382
387
  }
383
388
  ],
384
- "name": "LogInfoCreated",
385
- "type": "event"
389
+ "stateMutability": "view",
390
+ "type": "function"
386
391
  },
387
392
  {
388
- "anonymous": false,
389
- "inputs": [
390
- {
391
- "indexed": false,
392
- "internalType": "ObjectType",
393
- "name": "objectType",
394
- "type": "uint8"
395
- },
396
- {
397
- "indexed": false,
398
- "internalType": "KeyId",
399
- "name": "keyId",
400
- "type": "bytes31"
401
- },
402
- {
403
- "indexed": false,
404
- "internalType": "StateId",
405
- "name": "state",
406
- "type": "uint8"
407
- },
393
+ "inputs": [],
394
+ "name": "getInstanceReader",
395
+ "outputs": [
408
396
  {
409
- "indexed": false,
410
- "internalType": "address",
411
- "name": "updatedBy",
397
+ "internalType": "contract InstanceReader",
398
+ "name": "",
412
399
  "type": "address"
413
- },
400
+ }
401
+ ],
402
+ "stateMutability": "view",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [],
407
+ "name": "getInstanceStore",
408
+ "outputs": [
414
409
  {
415
- "indexed": false,
416
- "internalType": "address",
417
- "name": "txOrigin",
410
+ "internalType": "contract InstanceStore",
411
+ "name": "",
418
412
  "type": "address"
419
- },
420
- {
421
- "indexed": false,
422
- "internalType": "Blocknumber",
423
- "name": "lastUpdatedIn",
424
- "type": "uint32"
425
413
  }
426
414
  ],
427
- "name": "LogInfoUpdated",
428
- "type": "event"
415
+ "stateMutability": "view",
416
+ "type": "function"
429
417
  },
430
418
  {
431
- "anonymous": false,
432
- "inputs": [
433
- {
434
- "indexed": false,
435
- "internalType": "ObjectType",
436
- "name": "objectType",
437
- "type": "uint8"
438
- },
439
- {
440
- "indexed": false,
441
- "internalType": "KeyId",
442
- "name": "keyId",
443
- "type": "bytes31"
444
- },
445
- {
446
- "indexed": false,
447
- "internalType": "StateId",
448
- "name": "stateOld",
449
- "type": "uint8"
450
- },
419
+ "inputs": [],
420
+ "name": "getMajorVersion",
421
+ "outputs": [
451
422
  {
452
- "indexed": false,
453
- "internalType": "StateId",
454
- "name": "stateNew",
423
+ "internalType": "VersionPart",
424
+ "name": "majorVersion",
455
425
  "type": "uint8"
456
- },
457
- {
458
- "indexed": false,
459
- "internalType": "address",
460
- "name": "updatedBy",
461
- "type": "address"
462
- },
463
- {
464
- "indexed": false,
465
- "internalType": "address",
466
- "name": "txOrigin",
467
- "type": "address"
468
- },
469
- {
470
- "indexed": false,
471
- "internalType": "Blocknumber",
472
- "name": "lastUpdatedIn",
473
- "type": "uint32"
474
426
  }
475
427
  ],
476
- "name": "LogStateUpdated",
477
- "type": "event"
428
+ "stateMutability": "pure",
429
+ "type": "function"
478
430
  },
479
431
  {
480
432
  "inputs": [],
481
- "name": "ADMIN_ROLE",
433
+ "name": "getNftId",
482
434
  "outputs": [
483
435
  {
484
- "internalType": "uint64",
436
+ "internalType": "NftId",
485
437
  "name": "",
486
- "type": "uint64"
438
+ "type": "uint96"
487
439
  }
488
440
  ],
489
441
  "stateMutability": "view",
@@ -491,12 +443,12 @@
491
443
  },
492
444
  {
493
445
  "inputs": [],
494
- "name": "CUSTOM_ROLE_ID_MIN",
446
+ "name": "getOwner",
495
447
  "outputs": [
496
448
  {
497
- "internalType": "uint64",
449
+ "internalType": "address",
498
450
  "name": "",
499
- "type": "uint64"
451
+ "type": "address"
500
452
  }
501
453
  ],
502
454
  "stateMutability": "view",
@@ -504,12 +456,12 @@
504
456
  },
505
457
  {
506
458
  "inputs": [],
507
- "name": "EXECUTION_DELAY",
459
+ "name": "getPolicyService",
508
460
  "outputs": [
509
461
  {
510
- "internalType": "uint32",
462
+ "internalType": "contract IPolicyService",
511
463
  "name": "",
512
- "type": "uint32"
464
+ "type": "address"
513
465
  }
514
466
  ],
515
467
  "stateMutability": "view",
@@ -517,12 +469,12 @@
517
469
  },
518
470
  {
519
471
  "inputs": [],
520
- "name": "PUBLIC_ROLE",
472
+ "name": "getPoolService",
521
473
  "outputs": [
522
474
  {
523
- "internalType": "uint64",
475
+ "internalType": "contract IPoolService",
524
476
  "name": "",
525
- "type": "uint64"
477
+ "type": "address"
526
478
  }
527
479
  ],
528
480
  "stateMutability": "view",
@@ -530,12 +482,12 @@
530
482
  },
531
483
  {
532
484
  "inputs": [],
533
- "name": "REGISTERABLE_LOCATION_V1",
485
+ "name": "getProductService",
534
486
  "outputs": [
535
487
  {
536
- "internalType": "bytes32",
488
+ "internalType": "contract IProductService",
537
489
  "name": "",
538
- "type": "bytes32"
490
+ "type": "address"
539
491
  }
540
492
  ],
541
493
  "stateMutability": "view",
@@ -543,10 +495,10 @@
543
495
  },
544
496
  {
545
497
  "inputs": [],
546
- "name": "authority",
498
+ "name": "getRegistry",
547
499
  "outputs": [
548
500
  {
549
- "internalType": "address",
501
+ "internalType": "contract IRegistry",
550
502
  "name": "",
551
503
  "type": "address"
552
504
  }
@@ -555,96 +507,32 @@
555
507
  "type": "function"
556
508
  },
557
509
  {
558
- "inputs": [
559
- {
560
- "internalType": "ObjectType",
561
- "name": "objectType",
562
- "type": "uint8"
563
- },
564
- {
565
- "internalType": "StateId",
566
- "name": "fromId",
567
- "type": "uint8"
568
- },
510
+ "inputs": [],
511
+ "name": "getRegistryAddress",
512
+ "outputs": [
569
513
  {
570
- "internalType": "StateId",
571
- "name": "toId",
572
- "type": "uint8"
514
+ "internalType": "address",
515
+ "name": "",
516
+ "type": "address"
573
517
  }
574
518
  ],
575
- "name": "checkTransition",
576
- "outputs": [],
577
519
  "stateMutability": "view",
578
520
  "type": "function"
579
521
  },
580
522
  {
581
523
  "inputs": [
582
524
  {
583
- "internalType": "NftId",
584
- "name": "bundleNftId",
585
- "type": "uint96"
525
+ "internalType": "RoleId",
526
+ "name": "roleId",
527
+ "type": "uint64"
586
528
  },
587
529
  {
588
- "components": [
589
- {
590
- "internalType": "NftId",
591
- "name": "poolNftId",
592
- "type": "uint96"
593
- },
594
- {
595
- "components": [
596
- {
597
- "internalType": "UFixed",
598
- "name": "fractionalFee",
599
- "type": "uint256"
600
- },
601
- {
602
- "internalType": "uint256",
603
- "name": "fixedFee",
604
- "type": "uint256"
605
- }
606
- ],
607
- "internalType": "struct Fee",
608
- "name": "fee",
609
- "type": "tuple"
610
- },
611
- {
612
- "internalType": "bytes",
613
- "name": "filter",
614
- "type": "bytes"
615
- },
616
- {
617
- "internalType": "uint256",
618
- "name": "capitalAmount",
619
- "type": "uint256"
620
- },
621
- {
622
- "internalType": "uint256",
623
- "name": "lockedAmount",
624
- "type": "uint256"
625
- },
626
- {
627
- "internalType": "uint256",
628
- "name": "balanceAmount",
629
- "type": "uint256"
630
- },
631
- {
632
- "internalType": "Timestamp",
633
- "name": "expiredAt",
634
- "type": "uint40"
635
- },
636
- {
637
- "internalType": "Timestamp",
638
- "name": "closedAt",
639
- "type": "uint40"
640
- }
641
- ],
642
- "internalType": "struct IBundle.BundleInfo",
643
- "name": "bundle",
644
- "type": "tuple"
530
+ "internalType": "address",
531
+ "name": "account",
532
+ "type": "address"
645
533
  }
646
534
  ],
647
- "name": "createBundle",
535
+ "name": "grantRole",
648
536
  "outputs": [],
649
537
  "stateMutability": "nonpayable",
650
538
  "type": "function"
@@ -652,44 +540,29 @@
652
540
  {
653
541
  "inputs": [
654
542
  {
655
- "internalType": "NftId",
656
- "name": "policyNftId",
657
- "type": "uint96"
543
+ "internalType": "address",
544
+ "name": "authority",
545
+ "type": "address"
658
546
  },
659
547
  {
660
- "internalType": "NumberId",
661
- "name": "claimId",
662
- "type": "uint32"
548
+ "internalType": "address",
549
+ "name": "registryAddress",
550
+ "type": "address"
663
551
  },
664
552
  {
665
- "components": [
666
- {
667
- "internalType": "uint256",
668
- "name": "claimAmount",
669
- "type": "uint256"
670
- },
671
- {
672
- "internalType": "uint256",
673
- "name": "paidAmount",
674
- "type": "uint256"
675
- },
676
- {
677
- "internalType": "bytes",
678
- "name": "data",
679
- "type": "bytes"
680
- },
681
- {
682
- "internalType": "Timestamp",
683
- "name": "closedAt",
684
- "type": "uint40"
685
- }
686
- ],
687
- "internalType": "struct IPolicy.ClaimInfo",
688
- "name": "claim",
689
- "type": "tuple"
553
+ "internalType": "address",
554
+ "name": "initialOwner",
555
+ "type": "address"
690
556
  }
691
557
  ],
692
- "name": "createClaim",
558
+ "name": "initialize",
559
+ "outputs": [],
560
+ "stateMutability": "nonpayable",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "initializeERC165",
693
566
  "outputs": [],
694
567
  "stateMutability": "nonpayable",
695
568
  "type": "function"
@@ -697,17 +570,17 @@
697
570
  {
698
571
  "inputs": [
699
572
  {
700
- "internalType": "RoleId",
701
- "name": "roleId",
702
- "type": "uint64"
573
+ "internalType": "address",
574
+ "name": "initialOwner",
575
+ "type": "address"
703
576
  },
704
577
  {
705
- "internalType": "string",
706
- "name": "name",
707
- "type": "string"
578
+ "internalType": "address",
579
+ "name": "registryAddress",
580
+ "type": "address"
708
581
  }
709
582
  ],
710
- "name": "createCustomRole",
583
+ "name": "initializeNftOwnable",
711
584
  "outputs": [],
712
585
  "stateMutability": "nonpayable",
713
586
  "type": "function"
@@ -715,56 +588,37 @@
715
588
  {
716
589
  "inputs": [
717
590
  {
718
- "internalType": "NftId",
719
- "name": "distributionNftId",
720
- "type": "uint96"
591
+ "internalType": "address",
592
+ "name": "registryAddress",
593
+ "type": "address"
721
594
  },
722
595
  {
723
- "components": [
724
- {
725
- "internalType": "NftId",
726
- "name": "productNftId",
727
- "type": "uint96"
728
- },
729
- {
730
- "internalType": "contract TokenHandler",
731
- "name": "tokenHandler",
732
- "type": "address"
733
- },
734
- {
735
- "components": [
736
- {
737
- "internalType": "UFixed",
738
- "name": "fractionalFee",
739
- "type": "uint256"
740
- },
741
- {
742
- "internalType": "uint256",
743
- "name": "fixedFee",
744
- "type": "uint256"
745
- }
746
- ],
747
- "internalType": "struct Fee",
748
- "name": "distributionFee",
749
- "type": "tuple"
750
- },
751
- {
752
- "internalType": "bool",
753
- "name": "isIntercepting",
754
- "type": "bool"
755
- },
756
- {
757
- "internalType": "address",
758
- "name": "wallet",
759
- "type": "address"
760
- }
761
- ],
762
- "internalType": "struct ISetup.DistributionSetupInfo",
763
- "name": "setup",
764
- "type": "tuple"
596
+ "internalType": "NftId",
597
+ "name": "parentNftId",
598
+ "type": "uint96"
599
+ },
600
+ {
601
+ "internalType": "ObjectType",
602
+ "name": "objectType",
603
+ "type": "uint8"
604
+ },
605
+ {
606
+ "internalType": "bool",
607
+ "name": "isInterceptor",
608
+ "type": "bool"
609
+ },
610
+ {
611
+ "internalType": "address",
612
+ "name": "initialOwner",
613
+ "type": "address"
614
+ },
615
+ {
616
+ "internalType": "bytes",
617
+ "name": "registryData",
618
+ "type": "bytes"
765
619
  }
766
620
  ],
767
- "name": "createDistributionSetup",
621
+ "name": "initializeRegisterable",
768
622
  "outputs": [],
769
623
  "stateMutability": "nonpayable",
770
624
  "type": "function"
@@ -772,44 +626,32 @@
772
626
  {
773
627
  "inputs": [
774
628
  {
775
- "internalType": "NftId",
776
- "name": "policyNftId",
777
- "type": "uint96"
778
- },
779
- {
780
- "internalType": "NumberId",
781
- "name": "payoutId",
782
- "type": "uint32"
783
- },
629
+ "internalType": "address",
630
+ "name": "registryAddress",
631
+ "type": "address"
632
+ }
633
+ ],
634
+ "name": "initializeRegistryLinked",
635
+ "outputs": [],
636
+ "stateMutability": "nonpayable",
637
+ "type": "function"
638
+ },
639
+ {
640
+ "inputs": [],
641
+ "name": "isConsumingScheduledOp",
642
+ "outputs": [
784
643
  {
785
- "components": [
786
- {
787
- "internalType": "NumberId",
788
- "name": "claimId",
789
- "type": "uint32"
790
- },
791
- {
792
- "internalType": "uint256",
793
- "name": "amount",
794
- "type": "uint256"
795
- },
796
- {
797
- "internalType": "bytes",
798
- "name": "data",
799
- "type": "bytes"
800
- },
801
- {
802
- "internalType": "Timestamp",
803
- "name": "paidAt",
804
- "type": "uint40"
805
- }
806
- ],
807
- "internalType": "struct IPolicy.PayoutInfo",
808
- "name": "payout",
809
- "type": "tuple"
644
+ "internalType": "bytes4",
645
+ "name": "",
646
+ "type": "bytes4"
810
647
  }
811
648
  ],
812
- "name": "createDistributor",
649
+ "stateMutability": "view",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [],
654
+ "name": "linkToRegisteredNftId",
813
655
  "outputs": [],
814
656
  "stateMutability": "nonpayable",
815
657
  "type": "function"
@@ -817,44 +659,17 @@
817
659
  {
818
660
  "inputs": [
819
661
  {
820
- "internalType": "NftId",
821
- "name": "policyNftId",
822
- "type": "uint96"
823
- },
824
- {
825
- "internalType": "NumberId",
826
- "name": "payoutId",
827
- "type": "uint32"
662
+ "internalType": "address",
663
+ "name": "to",
664
+ "type": "address"
828
665
  },
829
666
  {
830
- "components": [
831
- {
832
- "internalType": "NumberId",
833
- "name": "claimId",
834
- "type": "uint32"
835
- },
836
- {
837
- "internalType": "uint256",
838
- "name": "amount",
839
- "type": "uint256"
840
- },
841
- {
842
- "internalType": "bytes",
843
- "name": "data",
844
- "type": "bytes"
845
- },
846
- {
847
- "internalType": "Timestamp",
848
- "name": "paidAt",
849
- "type": "uint40"
850
- }
851
- ],
852
- "internalType": "struct IPolicy.PayoutInfo",
853
- "name": "payout",
854
- "type": "tuple"
667
+ "internalType": "uint256",
668
+ "name": "tokenId",
669
+ "type": "uint256"
855
670
  }
856
671
  ],
857
- "name": "createDistributorType",
672
+ "name": "nftMint",
858
673
  "outputs": [],
859
674
  "stateMutability": "nonpayable",
860
675
  "type": "function"
@@ -862,44 +677,22 @@
862
677
  {
863
678
  "inputs": [
864
679
  {
865
- "internalType": "NftId",
866
- "name": "policyNftId",
867
- "type": "uint96"
680
+ "internalType": "address",
681
+ "name": "from",
682
+ "type": "address"
868
683
  },
869
684
  {
870
- "internalType": "NumberId",
871
- "name": "payoutId",
872
- "type": "uint32"
685
+ "internalType": "address",
686
+ "name": "to",
687
+ "type": "address"
873
688
  },
874
689
  {
875
- "components": [
876
- {
877
- "internalType": "NumberId",
878
- "name": "claimId",
879
- "type": "uint32"
880
- },
881
- {
882
- "internalType": "uint256",
883
- "name": "amount",
884
- "type": "uint256"
885
- },
886
- {
887
- "internalType": "bytes",
888
- "name": "data",
889
- "type": "bytes"
890
- },
891
- {
892
- "internalType": "Timestamp",
893
- "name": "paidAt",
894
- "type": "uint40"
895
- }
896
- ],
897
- "internalType": "struct IPolicy.PayoutInfo",
898
- "name": "payout",
899
- "type": "tuple"
690
+ "internalType": "uint256",
691
+ "name": "tokenId",
692
+ "type": "uint256"
900
693
  }
901
694
  ],
902
- "name": "createPayout",
695
+ "name": "nftTransferFrom",
903
696
  "outputs": [],
904
697
  "stateMutability": "nonpayable",
905
698
  "type": "function"
@@ -907,99 +700,12 @@
907
700
  {
908
701
  "inputs": [
909
702
  {
910
- "internalType": "NftId",
911
- "name": "policyNftId",
912
- "type": "uint96"
913
- },
914
- {
915
- "components": [
916
- {
917
- "internalType": "NftId",
918
- "name": "productNftId",
919
- "type": "uint96"
920
- },
921
- {
922
- "internalType": "NftId",
923
- "name": "bundleNftId",
924
- "type": "uint96"
925
- },
926
- {
927
- "internalType": "ReferralId",
928
- "name": "referralId",
929
- "type": "bytes8"
930
- },
931
- {
932
- "internalType": "RiskId",
933
- "name": "riskId",
934
- "type": "bytes8"
935
- },
936
- {
937
- "internalType": "uint256",
938
- "name": "sumInsuredAmount",
939
- "type": "uint256"
940
- },
941
- {
942
- "internalType": "uint256",
943
- "name": "premiumAmount",
944
- "type": "uint256"
945
- },
946
- {
947
- "internalType": "uint256",
948
- "name": "premiumPaidAmount",
949
- "type": "uint256"
950
- },
951
- {
952
- "internalType": "uint256",
953
- "name": "lifetime",
954
- "type": "uint256"
955
- },
956
- {
957
- "internalType": "bytes",
958
- "name": "applicationData",
959
- "type": "bytes"
960
- },
961
- {
962
- "internalType": "bytes",
963
- "name": "policyData",
964
- "type": "bytes"
965
- },
966
- {
967
- "internalType": "uint16",
968
- "name": "claimsCount",
969
- "type": "uint16"
970
- },
971
- {
972
- "internalType": "uint16",
973
- "name": "openClaimsCount",
974
- "type": "uint16"
975
- },
976
- {
977
- "internalType": "uint256",
978
- "name": "payoutAmount",
979
- "type": "uint256"
980
- },
981
- {
982
- "internalType": "Timestamp",
983
- "name": "activatedAt",
984
- "type": "uint40"
985
- },
986
- {
987
- "internalType": "Timestamp",
988
- "name": "expiredAt",
989
- "type": "uint40"
990
- },
991
- {
992
- "internalType": "Timestamp",
993
- "name": "closedAt",
994
- "type": "uint40"
995
- }
996
- ],
997
- "internalType": "struct IPolicy.PolicyInfo",
998
- "name": "policy",
999
- "type": "tuple"
703
+ "internalType": "bytes4",
704
+ "name": "interfaceId",
705
+ "type": "bytes4"
1000
706
  }
1001
707
  ],
1002
- "name": "createPolicy",
708
+ "name": "registerInterface",
1003
709
  "outputs": [],
1004
710
  "stateMutability": "nonpayable",
1005
711
  "type": "function"
@@ -1007,95 +713,17 @@
1007
713
  {
1008
714
  "inputs": [
1009
715
  {
1010
- "internalType": "NftId",
1011
- "name": "distributionNftId",
1012
- "type": "uint96"
716
+ "internalType": "RoleId",
717
+ "name": "roleId",
718
+ "type": "uint64"
1013
719
  },
1014
720
  {
1015
- "components": [
1016
- {
1017
- "internalType": "NftId",
1018
- "name": "productNftId",
1019
- "type": "uint96"
1020
- },
1021
- {
1022
- "internalType": "contract TokenHandler",
1023
- "name": "tokenHandler",
1024
- "type": "address"
1025
- },
1026
- {
1027
- "internalType": "UFixed",
1028
- "name": "collateralizationLevel",
1029
- "type": "uint256"
1030
- },
1031
- {
1032
- "components": [
1033
- {
1034
- "internalType": "UFixed",
1035
- "name": "fractionalFee",
1036
- "type": "uint256"
1037
- },
1038
- {
1039
- "internalType": "uint256",
1040
- "name": "fixedFee",
1041
- "type": "uint256"
1042
- }
1043
- ],
1044
- "internalType": "struct Fee",
1045
- "name": "poolFee",
1046
- "type": "tuple"
1047
- },
1048
- {
1049
- "components": [
1050
- {
1051
- "internalType": "UFixed",
1052
- "name": "fractionalFee",
1053
- "type": "uint256"
1054
- },
1055
- {
1056
- "internalType": "uint256",
1057
- "name": "fixedFee",
1058
- "type": "uint256"
1059
- }
1060
- ],
1061
- "internalType": "struct Fee",
1062
- "name": "stakingFee",
1063
- "type": "tuple"
1064
- },
1065
- {
1066
- "components": [
1067
- {
1068
- "internalType": "UFixed",
1069
- "name": "fractionalFee",
1070
- "type": "uint256"
1071
- },
1072
- {
1073
- "internalType": "uint256",
1074
- "name": "fixedFee",
1075
- "type": "uint256"
1076
- }
1077
- ],
1078
- "internalType": "struct Fee",
1079
- "name": "performanceFee",
1080
- "type": "tuple"
1081
- },
1082
- {
1083
- "internalType": "bool",
1084
- "name": "isIntercepting",
1085
- "type": "bool"
1086
- },
1087
- {
1088
- "internalType": "address",
1089
- "name": "wallet",
1090
- "type": "address"
1091
- }
1092
- ],
1093
- "internalType": "struct ISetup.PoolSetupInfo",
1094
- "name": "setup",
1095
- "type": "tuple"
721
+ "internalType": "address",
722
+ "name": "account",
723
+ "type": "address"
1096
724
  }
1097
725
  ],
1098
- "name": "createPoolSetup",
726
+ "name": "revokeRole",
1099
727
  "outputs": [],
1100
728
  "stateMutability": "nonpayable",
1101
729
  "type": "function"
@@ -1103,141 +731,12 @@
1103
731
  {
1104
732
  "inputs": [
1105
733
  {
1106
- "internalType": "NftId",
1107
- "name": "productNftId",
1108
- "type": "uint96"
1109
- },
1110
- {
1111
- "components": [
1112
- {
1113
- "internalType": "contract IERC20Metadata",
1114
- "name": "token",
1115
- "type": "address"
1116
- },
1117
- {
1118
- "internalType": "contract TokenHandler",
1119
- "name": "tokenHandler",
1120
- "type": "address"
1121
- },
1122
- {
1123
- "internalType": "NftId",
1124
- "name": "distributionNftId",
1125
- "type": "uint96"
1126
- },
1127
- {
1128
- "internalType": "NftId",
1129
- "name": "poolNftId",
1130
- "type": "uint96"
1131
- },
1132
- {
1133
- "components": [
1134
- {
1135
- "internalType": "UFixed",
1136
- "name": "fractionalFee",
1137
- "type": "uint256"
1138
- },
1139
- {
1140
- "internalType": "uint256",
1141
- "name": "fixedFee",
1142
- "type": "uint256"
1143
- }
1144
- ],
1145
- "internalType": "struct Fee",
1146
- "name": "distributionFee",
1147
- "type": "tuple"
1148
- },
1149
- {
1150
- "components": [
1151
- {
1152
- "internalType": "UFixed",
1153
- "name": "fractionalFee",
1154
- "type": "uint256"
1155
- },
1156
- {
1157
- "internalType": "uint256",
1158
- "name": "fixedFee",
1159
- "type": "uint256"
1160
- }
1161
- ],
1162
- "internalType": "struct Fee",
1163
- "name": "productFee",
1164
- "type": "tuple"
1165
- },
1166
- {
1167
- "components": [
1168
- {
1169
- "internalType": "UFixed",
1170
- "name": "fractionalFee",
1171
- "type": "uint256"
1172
- },
1173
- {
1174
- "internalType": "uint256",
1175
- "name": "fixedFee",
1176
- "type": "uint256"
1177
- }
1178
- ],
1179
- "internalType": "struct Fee",
1180
- "name": "processingFee",
1181
- "type": "tuple"
1182
- },
1183
- {
1184
- "components": [
1185
- {
1186
- "internalType": "UFixed",
1187
- "name": "fractionalFee",
1188
- "type": "uint256"
1189
- },
1190
- {
1191
- "internalType": "uint256",
1192
- "name": "fixedFee",
1193
- "type": "uint256"
1194
- }
1195
- ],
1196
- "internalType": "struct Fee",
1197
- "name": "poolFee",
1198
- "type": "tuple"
1199
- },
1200
- {
1201
- "components": [
1202
- {
1203
- "internalType": "UFixed",
1204
- "name": "fractionalFee",
1205
- "type": "uint256"
1206
- },
1207
- {
1208
- "internalType": "uint256",
1209
- "name": "fixedFee",
1210
- "type": "uint256"
1211
- }
1212
- ],
1213
- "internalType": "struct Fee",
1214
- "name": "stakingFee",
1215
- "type": "tuple"
1216
- },
1217
- {
1218
- "components": [
1219
- {
1220
- "internalType": "UFixed",
1221
- "name": "fractionalFee",
1222
- "type": "uint256"
1223
- },
1224
- {
1225
- "internalType": "uint256",
1226
- "name": "fixedFee",
1227
- "type": "uint256"
1228
- }
1229
- ],
1230
- "internalType": "struct Fee",
1231
- "name": "performanceFee",
1232
- "type": "tuple"
1233
- }
1234
- ],
1235
- "internalType": "struct ISetup.ProductSetupInfo",
1236
- "name": "setup",
1237
- "type": "tuple"
734
+ "internalType": "address",
735
+ "name": "newAuthority",
736
+ "type": "address"
1238
737
  }
1239
738
  ],
1240
- "name": "createProductSetup",
739
+ "name": "setAuthority",
1241
740
  "outputs": [],
1242
741
  "stateMutability": "nonpayable",
1243
742
  "type": "function"
@@ -1245,44 +744,12 @@
1245
744
  {
1246
745
  "inputs": [
1247
746
  {
1248
- "internalType": "NftId",
1249
- "name": "policyNftId",
1250
- "type": "uint96"
1251
- },
1252
- {
1253
- "internalType": "NumberId",
1254
- "name": "payoutId",
1255
- "type": "uint32"
1256
- },
1257
- {
1258
- "components": [
1259
- {
1260
- "internalType": "NumberId",
1261
- "name": "claimId",
1262
- "type": "uint32"
1263
- },
1264
- {
1265
- "internalType": "uint256",
1266
- "name": "amount",
1267
- "type": "uint256"
1268
- },
1269
- {
1270
- "internalType": "bytes",
1271
- "name": "data",
1272
- "type": "bytes"
1273
- },
1274
- {
1275
- "internalType": "Timestamp",
1276
- "name": "paidAt",
1277
- "type": "uint40"
1278
- }
1279
- ],
1280
- "internalType": "struct IPolicy.PayoutInfo",
1281
- "name": "payout",
1282
- "type": "tuple"
747
+ "internalType": "contract BundleManager",
748
+ "name": "bundleManager",
749
+ "type": "address"
1283
750
  }
1284
751
  ],
1285
- "name": "createReferral",
752
+ "name": "setBundleManager",
1286
753
  "outputs": [],
1287
754
  "stateMutability": "nonpayable",
1288
755
  "type": "function"
@@ -1290,29 +757,12 @@
1290
757
  {
1291
758
  "inputs": [
1292
759
  {
1293
- "internalType": "RiskId",
1294
- "name": "riskId",
1295
- "type": "bytes8"
1296
- },
1297
- {
1298
- "components": [
1299
- {
1300
- "internalType": "NftId",
1301
- "name": "productNftId",
1302
- "type": "uint96"
1303
- },
1304
- {
1305
- "internalType": "bytes",
1306
- "name": "data",
1307
- "type": "bytes"
1308
- }
1309
- ],
1310
- "internalType": "struct IRisk.RiskInfo",
1311
- "name": "risk",
1312
- "type": "tuple"
760
+ "internalType": "contract InstanceAccessManager",
761
+ "name": "accessManager",
762
+ "type": "address"
1313
763
  }
1314
764
  ],
1315
- "name": "createRisk",
765
+ "name": "setInstanceAccessManager",
1316
766
  "outputs": [],
1317
767
  "stateMutability": "nonpayable",
1318
768
  "type": "function"
@@ -1320,17 +770,12 @@
1320
770
  {
1321
771
  "inputs": [
1322
772
  {
1323
- "internalType": "RoleId",
1324
- "name": "roleId",
1325
- "type": "uint64"
1326
- },
1327
- {
1328
- "internalType": "string",
1329
- "name": "name",
1330
- "type": "string"
773
+ "internalType": "contract InstanceReader",
774
+ "name": "instanceReader",
775
+ "type": "address"
1331
776
  }
1332
777
  ],
1333
- "name": "createStandardRole",
778
+ "name": "setInstanceReader",
1334
779
  "outputs": [],
1335
780
  "stateMutability": "nonpayable",
1336
781
  "type": "function"
@@ -1338,29 +783,12 @@
1338
783
  {
1339
784
  "inputs": [
1340
785
  {
1341
- "internalType": "address",
1342
- "name": "target",
786
+ "internalType": "contract InstanceStore",
787
+ "name": "instanceStore",
1343
788
  "type": "address"
1344
- },
1345
- {
1346
- "components": [
1347
- {
1348
- "internalType": "ShortString",
1349
- "name": "name",
1350
- "type": "bytes32"
1351
- },
1352
- {
1353
- "internalType": "bool",
1354
- "name": "isCustom",
1355
- "type": "bool"
1356
- }
1357
- ],
1358
- "internalType": "struct IAccess.TargetInfo",
1359
- "name": "targetInfo",
1360
- "type": "tuple"
1361
789
  }
1362
790
  ],
1363
- "name": "createTarget",
791
+ "name": "setInstanceStore",
1364
792
  "outputs": [],
1365
793
  "stateMutability": "nonpayable",
1366
794
  "type": "function"
@@ -1368,2090 +796,122 @@
1368
796
  {
1369
797
  "inputs": [
1370
798
  {
1371
- "internalType": "Key32",
1372
- "name": "key32",
1373
- "type": "bytes32"
1374
- }
1375
- ],
1376
- "name": "exists",
1377
- "outputs": [
1378
- {
1379
- "internalType": "bool",
1380
- "name": "",
1381
- "type": "bool"
1382
- }
1383
- ],
1384
- "stateMutability": "view",
1385
- "type": "function"
1386
- },
1387
- {
1388
- "inputs": [
799
+ "internalType": "string",
800
+ "name": "targetName",
801
+ "type": "string"
802
+ },
1389
803
  {
1390
- "internalType": "Key32",
1391
- "name": "key32",
1392
- "type": "bytes32"
1393
- }
1394
- ],
1395
- "name": "get",
1396
- "outputs": [
804
+ "internalType": "bytes4[]",
805
+ "name": "selectors",
806
+ "type": "bytes4[]"
807
+ },
1397
808
  {
1398
- "components": [
1399
- {
1400
- "components": [
1401
- {
1402
- "internalType": "ObjectType",
1403
- "name": "objectType",
1404
- "type": "uint8"
1405
- },
1406
- {
1407
- "internalType": "StateId",
1408
- "name": "state",
1409
- "type": "uint8"
1410
- },
1411
- {
1412
- "internalType": "address",
1413
- "name": "updatedBy",
1414
- "type": "address"
1415
- },
1416
- {
1417
- "internalType": "Blocknumber",
1418
- "name": "updatedIn",
1419
- "type": "uint32"
1420
- },
1421
- {
1422
- "internalType": "Blocknumber",
1423
- "name": "createdIn",
1424
- "type": "uint32"
1425
- }
1426
- ],
1427
- "internalType": "struct IKeyValueStore.Metadata",
1428
- "name": "metadata",
1429
- "type": "tuple"
1430
- },
1431
- {
1432
- "internalType": "bytes",
1433
- "name": "data",
1434
- "type": "bytes"
1435
- }
1436
- ],
1437
- "internalType": "struct IKeyValueStore.Value",
1438
- "name": "value",
1439
- "type": "tuple"
809
+ "internalType": "RoleId",
810
+ "name": "roleId",
811
+ "type": "uint64"
1440
812
  }
1441
813
  ],
1442
- "stateMutability": "view",
814
+ "name": "setTargetFunctionRole",
815
+ "outputs": [],
816
+ "stateMutability": "nonpayable",
1443
817
  "type": "function"
1444
818
  },
1445
819
  {
1446
- "inputs": [],
1447
- "name": "getComponentOwnerService",
1448
- "outputs": [
820
+ "inputs": [
1449
821
  {
1450
- "internalType": "contract IComponentOwnerService",
1451
- "name": "",
822
+ "internalType": "address",
823
+ "name": "target",
1452
824
  "type": "address"
825
+ },
826
+ {
827
+ "internalType": "bool",
828
+ "name": "locked",
829
+ "type": "bool"
1453
830
  }
1454
831
  ],
1455
- "stateMutability": "view",
832
+ "name": "setTargetLocked",
833
+ "outputs": [],
834
+ "stateMutability": "nonpayable",
1456
835
  "type": "function"
1457
836
  },
1458
837
  {
1459
838
  "inputs": [
1460
839
  {
1461
- "internalType": "Key32",
1462
- "name": "key32",
1463
- "type": "bytes32"
840
+ "internalType": "bytes4",
841
+ "name": "interfaceId",
842
+ "type": "bytes4"
1464
843
  }
1465
844
  ],
1466
- "name": "getData",
845
+ "name": "supportsInterface",
1467
846
  "outputs": [
1468
847
  {
1469
- "internalType": "bytes",
1470
- "name": "data",
1471
- "type": "bytes"
848
+ "internalType": "bool",
849
+ "name": "",
850
+ "type": "bool"
1472
851
  }
1473
852
  ],
1474
853
  "stateMutability": "view",
1475
854
  "type": "function"
1476
- },
1477
- {
1478
- "inputs": [],
1479
- "name": "getInitialInfo",
1480
- "outputs": [
855
+ }
856
+ ],
857
+ "bytecode": "0x608060405234801561001057600080fd5b50612932806100206000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80637a9e5e4b11610146578063ca600b1c116100c3578063e5f6cd2711610087578063e5f6cd271461053b578063e7f7fb861461054c578063f21de1e81461039d578063f7bc431c1461055f578063f7c34ee014610572578063fed3d63f1461058557600080fd5b8063ca600b1c146104cd578063cde749f4146104d5578063d2192dbf146104ef578063d4cda0d814610522578063e1033e7d1461053357600080fd5b8063b428b0b01161010a578063b428b0b014610479578063b7d2b1621461048c578063bb1e0e591461049f578063bf7e214f146104b2578063c0c53b8b146104ba57600080fd5b80637a9e5e4b146104155780638689231314610428578063893d20e81461043b5780638fb3603714610443578063ada9652e1461046457600080fd5b806329db8c3d116101d45780635fa8aad4116101985780635fa8aad4146103ae57806361f5f420146103c1578063644c45e0146103d2578063675393bf146103fa5780636b9bf08b1461040d57600080fd5b806329db8c3d1461036757806336fc697e1461037a578063422c9d00146103825780634288121d146103955780635ab1bd531461039d57600080fd5b80631eff4b221161021b5780631eff4b22146102f1578063214cdb80146103265780632449aea8146103395780632781d4431461034c57806327bb7a331461035457600080fd5b806301ffc9a71461025857806302cd30711461029a5780630f749a89146102bf5780630fec111c146102d4578063138461e0146102e9575b600080fd5b610285610266366004611f50565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6003546001600160a01b03165b6040516001600160a01b039091168152602001610291565b6102d26102cd366004611f87565b61058d565b005b6102dc610680565b6040516102919190611ff4565b6102d261082f565b6103187f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610291565b6102d2610334366004611f50565b610a36565b6102d2610347366004611f87565b610a63565b610318600381565b6102d261036236600461213c565b610b52565b6102d2610375366004612228565b610bde565b6102d2610c4b565b6102d2610390366004611f87565b610c91565b6102a7610e89565b6001546001600160a01b03166102a7565b6102d26103bc3660046122d2565b610f1c565b6004546001600160a01b03166102a7565b6000805160206128bd833981519152546040516001600160601b039091168152602001610291565b6102d2610408366004611f87565b610f8d565b6102a761109b565b6102d2610423366004611f87565b6110c4565b6102d2610436366004612321565b611147565b6102a761118a565b61044b6112c1565b6040516001600160e01b03199091168152602001610291565b6103186000805160206128bd83398151915281565b6102d261048736600461235a565b6112f9565b6102d261049a36600461235a565b61137c565b6102d26104ad366004612388565b6113b7565b6102a761155a565b6102d26104c83660046123b4565b611576565b6102a761171b565b6104dd611744565b60405160ff9091168152602001610291565b6105026104fd3660046123ff565b6117bb565b604080516001600160401b03938416815292909116602083015201610291565b6005546001600160a01b03166102a7565b6102a7611846565b6002546001600160a01b03166102a7565b6102d261055a366004612458565b61186f565b6102d261056d366004611f87565b611a0f565b6102d2610580366004612499565b611b43565b6102a7611bba565b61059a335b600036611be3565b6002546001600160a01b0316156105c45760405163b74c801b60e01b815260040160405180910390fd5b6105cc61155a565b6001600160a01b0316816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610613573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063791906124b7565b6001600160a01b03161461065e57604051630c53b33d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b9091041615159181019190915260018201805491929160608401919061072b906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610757906124d4565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b50505050508152505090506040518060e001604052806107c2600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b0316815260200161081361118a565b6001600160a01b03168152602001826060015181525091505090565b60006000805160206128bd83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c2919061250e565b156108f35780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306109066001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa15801561094e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610972919061250e565b61099a5760405163b9304b0d60e01b81526001600160a01b03821660048201526024016108ea565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa1580156109ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a12919061252b565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610a3e611ce1565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610a6c33610592565b6005546001600160a01b031615610a96576040516323d3d15960e21b815260040160405180910390fd5b610a9e61155a565b6001600160a01b0316816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0991906124b7565b6001600160a01b031614610b30576040516317dd589160e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b610b5a611ce1565b610b648287611b43565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101610bd4838261258e565b5050505050505050565b610be733610592565b6002546040516329db8c3d60e01b81526001600160a01b03909116906329db8c3d90610c1d90879087908790879060040161264d565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610bd4573d6000803e3d6000fd5b610c53611ce1565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610c9a33610592565b6004546001600160a01b031615610cc4576040516317bba0a360e01b815260040160405180910390fd5b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3091906124b7565b6001600160a01b031614610dcd5730816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da191906124b7565b604051631716ade760e31b81526001600160a01b039283166004820152911660248201526044016108ea565b610dd561155a565b6001600160a01b0316816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4091906124b7565b6001600160a01b031614610e6757604051635a1c6faf60e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e9d6001546001600160a01b031690565b6001600160a01b031663d39e6043606e5b6040516001600160e01b031960e084901b16815260ff909116600482015260036024820152604401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906124b7565b905090565b610f2533610592565b6002546040516317ea2ab560e21b81526001600160a01b0390911690635fa8aad490610f5790859085906004016126c2565b600060405180830381600087803b158015610f7157600080fd5b505af1158015610f85573d6000803e3d6000fd5b505050505050565b610f95611ce1565b806001600160a01b03163b600003610fcb5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108ea565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015611045575060408051601f3d908101601f191682019092526110429181019061250e565b60015b61106d5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108ea565b806110965760405163fdeac91f60e01b81526001600160a01b03831660048201526024016108ea565b505b50565b60006110af6001546001600160a01b031690565b6001600160a01b031663d39e6043608c610eae565b336110cd61155a565b6001600160a01b0316816001600160a01b0316146111085760405162d1953b60e31b81526001600160a01b03821660048201526024016108ea565b816001600160a01b03163b60000361113e576040516361798f2f60e11b81526001600160a01b03831660048201526024016108ea565b61109682611d2c565b61115033610592565b6002546040516308b6d1c760e21b81526001600160a01b0384811660048301528315156024830152909116906322db471c90604401610f57565b6000806000805160206128bd83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156111fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121e919061250e565b156112ab576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a591906124b7565b91505090565b54600160601b90046001600160a01b0316919050565b6000805160206128dd833981519152805460009190600160a01b900460ff166112eb5760006112a5565b638fb3603760e01b91505090565b61130233610592565b600254604051630b428b0b60e41b81526001600160a01b039091169063b428b0b09061133490859085906004016126e6565b6020604051808303816000875af1158015611353573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611377919061250e565b505050565b61138533610592565b600254604051635be958b160e11b81526001600160a01b039091169063b7d2b1629061133490859085906004016126e6565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611400573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142491906124b7565b6001600160a01b0316336001600160a01b03161461144157600080fd5b6002546001600160a01b0316630301497461145a611d8d565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190612708565b156114cf576114cf612721565b6002546001600160a01b031663b428b0b06114e8611d8d565b846040518363ffffffff1660e01b81526004016115069291906126e6565b6020604051808303816000875af1158015611525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611549919061250e565b151560011461109657611096612721565b6000805160206128dd833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156115bb5750825b90506000826001600160401b031660011480156115d75750303b155b9050811580156115e5575080155b156116035760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561162d57845460ff60401b1916600160401b1785555b61163688611e05565b60008790506116bb88826001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561167d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a1919061252b565b604660018b60405180602001604052806000815250610b52565b6116cb63425ec80560e01b610a36565b508315610bd457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b600061172f6001546001600160a01b031690565b6001600160a01b031663d39e60436078610eae565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af4158015611797573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190612737565b6000806117c733610592565b60025460405163d2192dbf60e01b81526001600160a01b039091169063d2192dbf906117f99087908790600401612754565b60408051808303816000875af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183b9190612782565b909590945092505050565b600061185a6001546001600160a01b031690565b6001600160a01b031663d39e604360d3610eae565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dc91906124b7565b6001600160a01b0316336001600160a01b0316146118f957600080fd5b6002546001600160a01b031663b7d2b162611912611d8d565b856040518363ffffffff1660e01b81526004016119309291906126e6565b6020604051808303816000875af115801561194f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611973919061250e565b151560011461198457611984612721565b6002546001600160a01b031663b428b0b061199d611d8d565b846040518363ffffffff1660e01b81526004016119bb9291906126e6565b6020604051808303816000875af11580156119da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fe919061250e565b151560011461137757611377612721565b611a1833610592565b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8491906124b7565b6001600160a01b031614611b215730816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af591906124b7565b60405163b6b6307760e01b81526001600160a01b039283166004820152911660248201526044016108ea565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b611b4b611ce1565b611b5481610f8d565b611b5c610c4b565b6001600160a01b038216611b835760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206128bd83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6000611bce6001546001600160a01b031690565b6001600160a01b031663d39e604360dc610eae565b6000805160206128dd833981519152600080611c1e611c0061155a565b8730611c10600460008a8c6127b1565b611c19916127db565b611e16565b9150915081610f855763ffffffff811615611cbe57825460ff60a01b1916600160a01b178355611c4c61155a565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611c7b9392919061280b565b600060405180830381600087803b158015611c9557600080fd5b505af1158015611ca9573d6000803e3d6000fd5b5050845460ff60a01b1916855550610f859050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016108ea565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16611d2a57604051631afcd79f60e31b815260040160405180910390fd5b565b6000805160206128dd83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6040516368aebf7b60e01b815261076c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015611de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f17919061284b565b611e0d611ce1565b61109881611f22565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251611e859190612868565b600060405180830381855afa9150503d8060008114611ec0576040519150601f19603f3d011682016040523d82523d6000602084013e611ec5565b606091505b50915091508115611f17576040815110611ef75780806020019051810190611eed9190612884565b9094509250611f17565b6020815110611f175780806020019051810190611f14919061250e565b93505b505094509492505050565b611f2a611ce1565b61109881611d2c565b80356001600160e01b031981168114611f4b57600080fd5b919050565b600060208284031215611f6257600080fd5b611f6b82611f33565b9392505050565b6001600160a01b038116811461109857600080fd5b600060208284031215611f9957600080fd5b8135611f6b81611f72565b60005b83811015611fbf578181015183820152602001611fa7565b50506000910152565b60008151808452611fe0816020860160208601611fa4565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161205d60c08401826001600160a01b03169052565b5060c083015160e080840152612077610100840182611fc8565b949350505050565b6001600160601b038116811461109857600080fd5b60ff8116811461109857600080fd5b801515811461109857600080fd5b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156120e1576120e16120b1565b604051601f8501601f19908116603f01168101908282118183101715612109576121096120b1565b8160405280935085815286868601111561212257600080fd5b858560208301376000602087830101525050509392505050565b60008060008060008060c0878903121561215557600080fd5b863561216081611f72565b955060208701356121708161207f565b9450604087013561218081612094565b93506060870135612190816120a3565b925060808701356121a081611f72565b915060a08701356001600160401b038111156121bb57600080fd5b8701601f810189136121cc57600080fd5b6121db898235602084016120c7565b9150509295509295509295565b600082601f8301126121f957600080fd5b611f6b838335602085016120c7565b6001600160401b038116811461109857600080fd5b8035611f4b81612208565b6000806000806060858703121561223e57600080fd5b84356001600160401b038082111561225557600080fd5b612261888389016121e8565b9550602087013591508082111561227757600080fd5b818701915087601f83011261228b57600080fd5b81358181111561229a57600080fd5b8860208260051b85010111156122af57600080fd5b6020830195508094505050506122c76040860161221d565b905092959194509250565b600080604083850312156122e557600080fd5b82356122f081611f72565b915060208301356001600160401b0381111561230b57600080fd5b612317858286016121e8565b9150509250929050565b6000806040838503121561233457600080fd5b823561233f81611f72565b9150602083013561234f816120a3565b809150509250929050565b6000806040838503121561236d57600080fd5b823561237881612208565b9150602083013561234f81611f72565b6000806040838503121561239b57600080fd5b82356123a681611f72565b946020939093013593505050565b6000806000606084860312156123c957600080fd5b83356123d481611f72565b925060208401356123e481611f72565b915060408401356123f481611f72565b809150509250925092565b6000806040838503121561241257600080fd5b82356001600160401b038082111561242957600080fd5b612435868387016121e8565b9350602085013591508082111561244b57600080fd5b50612317858286016121e8565b60008060006060848603121561246d57600080fd5b833561247881611f72565b9250602084013561248881611f72565b929592945050506040919091013590565b600080604083850312156124ac57600080fd5b823561237881611f72565b6000602082840312156124c957600080fd5b8151611f6b81611f72565b600181811c908216806124e857607f821691505b60208210810361250857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561252057600080fd5b8151611f6b816120a3565b60006020828403121561253d57600080fd5b8151611f6b8161207f565b601f82111561137757600081815260208120601f850160051c8101602086101561256f5750805b601f850160051c820191505b81811015610f855782815560010161257b565b81516001600160401b038111156125a7576125a76120b1565b6125bb816125b584546124d4565b84612548565b602080601f8311600181146125f057600084156125d85750858301515b600019600386901b1c1916600185901b178555610f85565b600085815260208120601f198616915b8281101561261f57888601518255948401946001909101908401612600565b508582101561263d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6060815260006126606060830187611fc8565b8281036020848101919091528582528691810160005b878110156126a3576001600160e01b031961269085611f33565b1682529282019290820190600101612676565b508093505050506001600160401b038316604083015295945050505050565b6001600160a01b038316815260406020820181905260009061207790830184611fc8565b6001600160401b039290921682526001600160a01b0316602082015260400190565b60006020828403121561271a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561274957600080fd5b8151611f6b81612094565b6040815260006127676040830185611fc8565b82810360208401526127798185611fc8565b95945050505050565b6000806040838503121561279557600080fd5b82516127a081612208565b602084015190925061234f81612208565b600080858511156127c157600080fd5b838611156127ce57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156128035780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60006020828403121561285d57600080fd5b8151611f6b81612208565b6000825161287a818460208701611fa4565b9190910192915050565b6000806040838503121561289757600080fd5b82516128a2816120a3565b602084015190925063ffffffff8116811461234f57600080fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220fbce823de3502cdc73924bcbba67c03f492489a47582e7e78d8f1bca68ef653464736f6c63430008140033",
858
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102535760003560e01c80637a9e5e4b11610146578063ca600b1c116100c3578063e5f6cd2711610087578063e5f6cd271461053b578063e7f7fb861461054c578063f21de1e81461039d578063f7bc431c1461055f578063f7c34ee014610572578063fed3d63f1461058557600080fd5b8063ca600b1c146104cd578063cde749f4146104d5578063d2192dbf146104ef578063d4cda0d814610522578063e1033e7d1461053357600080fd5b8063b428b0b01161010a578063b428b0b014610479578063b7d2b1621461048c578063bb1e0e591461049f578063bf7e214f146104b2578063c0c53b8b146104ba57600080fd5b80637a9e5e4b146104155780638689231314610428578063893d20e81461043b5780638fb3603714610443578063ada9652e1461046457600080fd5b806329db8c3d116101d45780635fa8aad4116101985780635fa8aad4146103ae57806361f5f420146103c1578063644c45e0146103d2578063675393bf146103fa5780636b9bf08b1461040d57600080fd5b806329db8c3d1461036757806336fc697e1461037a578063422c9d00146103825780634288121d146103955780635ab1bd531461039d57600080fd5b80631eff4b221161021b5780631eff4b22146102f1578063214cdb80146103265780632449aea8146103395780632781d4431461034c57806327bb7a331461035457600080fd5b806301ffc9a71461025857806302cd30711461029a5780630f749a89146102bf5780630fec111c146102d4578063138461e0146102e9575b600080fd5b610285610266366004611f50565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6003546001600160a01b03165b6040516001600160a01b039091168152602001610291565b6102d26102cd366004611f87565b61058d565b005b6102dc610680565b6040516102919190611ff4565b6102d261082f565b6103187f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610291565b6102d2610334366004611f50565b610a36565b6102d2610347366004611f87565b610a63565b610318600381565b6102d261036236600461213c565b610b52565b6102d2610375366004612228565b610bde565b6102d2610c4b565b6102d2610390366004611f87565b610c91565b6102a7610e89565b6001546001600160a01b03166102a7565b6102d26103bc3660046122d2565b610f1c565b6004546001600160a01b03166102a7565b6000805160206128bd833981519152546040516001600160601b039091168152602001610291565b6102d2610408366004611f87565b610f8d565b6102a761109b565b6102d2610423366004611f87565b6110c4565b6102d2610436366004612321565b611147565b6102a761118a565b61044b6112c1565b6040516001600160e01b03199091168152602001610291565b6103186000805160206128bd83398151915281565b6102d261048736600461235a565b6112f9565b6102d261049a36600461235a565b61137c565b6102d26104ad366004612388565b6113b7565b6102a761155a565b6102d26104c83660046123b4565b611576565b6102a761171b565b6104dd611744565b60405160ff9091168152602001610291565b6105026104fd3660046123ff565b6117bb565b604080516001600160401b03938416815292909116602083015201610291565b6005546001600160a01b03166102a7565b6102a7611846565b6002546001600160a01b03166102a7565b6102d261055a366004612458565b61186f565b6102d261056d366004611f87565b611a0f565b6102d2610580366004612499565b611b43565b6102a7611bba565b61059a335b600036611be3565b6002546001600160a01b0316156105c45760405163b74c801b60e01b815260040160405180910390fd5b6105cc61155a565b6001600160a01b0316816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610613573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063791906124b7565b6001600160a01b03161461065e57604051630c53b33d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b9091041615159181019190915260018201805491929160608401919061072b906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610757906124d4565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b50505050508152505090506040518060e001604052806107c2600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b0316815260200161081361118a565b6001600160a01b03168152602001826060015181525091505090565b60006000805160206128bd83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c2919061250e565b156108f35780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306109066001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa15801561094e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610972919061250e565b61099a5760405163b9304b0d60e01b81526001600160a01b03821660048201526024016108ea565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa1580156109ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a12919061252b565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610a3e611ce1565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610a6c33610592565b6005546001600160a01b031615610a96576040516323d3d15960e21b815260040160405180910390fd5b610a9e61155a565b6001600160a01b0316816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0991906124b7565b6001600160a01b031614610b30576040516317dd589160e01b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b610b5a611ce1565b610b648287611b43565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101610bd4838261258e565b5050505050505050565b610be733610592565b6002546040516329db8c3d60e01b81526001600160a01b03909116906329db8c3d90610c1d90879087908790879060040161264d565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610bd4573d6000803e3d6000fd5b610c53611ce1565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610c9a33610592565b6004546001600160a01b031615610cc4576040516317bba0a360e01b815260040160405180910390fd5b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3091906124b7565b6001600160a01b031614610dcd5730816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da191906124b7565b604051631716ade760e31b81526001600160a01b039283166004820152911660248201526044016108ea565b610dd561155a565b6001600160a01b0316816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4091906124b7565b6001600160a01b031614610e6757604051635a1c6faf60e11b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e9d6001546001600160a01b031690565b6001600160a01b031663d39e6043606e5b6040516001600160e01b031960e084901b16815260ff909116600482015260036024820152604401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906124b7565b905090565b610f2533610592565b6002546040516317ea2ab560e21b81526001600160a01b0390911690635fa8aad490610f5790859085906004016126c2565b600060405180830381600087803b158015610f7157600080fd5b505af1158015610f85573d6000803e3d6000fd5b505050505050565b610f95611ce1565b806001600160a01b03163b600003610fcb5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108ea565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015611045575060408051601f3d908101601f191682019092526110429181019061250e565b60015b61106d5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108ea565b806110965760405163fdeac91f60e01b81526001600160a01b03831660048201526024016108ea565b505b50565b60006110af6001546001600160a01b031690565b6001600160a01b031663d39e6043608c610eae565b336110cd61155a565b6001600160a01b0316816001600160a01b0316146111085760405162d1953b60e31b81526001600160a01b03821660048201526024016108ea565b816001600160a01b03163b60000361113e576040516361798f2f60e11b81526001600160a01b03831660048201526024016108ea565b61109682611d2c565b61115033610592565b6002546040516308b6d1c760e21b81526001600160a01b0384811660048301528315156024830152909116906322db471c90604401610f57565b6000806000805160206128bd83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156111fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121e919061250e565b156112ab576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a591906124b7565b91505090565b54600160601b90046001600160a01b0316919050565b6000805160206128dd833981519152805460009190600160a01b900460ff166112eb5760006112a5565b638fb3603760e01b91505090565b61130233610592565b600254604051630b428b0b60e41b81526001600160a01b039091169063b428b0b09061133490859085906004016126e6565b6020604051808303816000875af1158015611353573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611377919061250e565b505050565b61138533610592565b600254604051635be958b160e11b81526001600160a01b039091169063b7d2b1629061133490859085906004016126e6565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611400573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142491906124b7565b6001600160a01b0316336001600160a01b03161461144157600080fd5b6002546001600160a01b0316630301497461145a611d8d565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190612708565b156114cf576114cf612721565b6002546001600160a01b031663b428b0b06114e8611d8d565b846040518363ffffffff1660e01b81526004016115069291906126e6565b6020604051808303816000875af1158015611525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611549919061250e565b151560011461109657611096612721565b6000805160206128dd833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156115bb5750825b90506000826001600160401b031660011480156115d75750303b155b9050811580156115e5575080155b156116035760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561162d57845460ff60401b1916600160401b1785555b61163688611e05565b60008790506116bb88826001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561167d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a1919061252b565b604660018b60405180602001604052806000815250610b52565b6116cb63425ec80560e01b610a36565b508315610bd457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b600061172f6001546001600160a01b031690565b6001600160a01b031663d39e60436078610eae565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af4158015611797573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190612737565b6000806117c733610592565b60025460405163d2192dbf60e01b81526001600160a01b039091169063d2192dbf906117f99087908790600401612754565b60408051808303816000875af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183b9190612782565b909590945092505050565b600061185a6001546001600160a01b031690565b6001600160a01b031663d39e604360d3610eae565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dc91906124b7565b6001600160a01b0316336001600160a01b0316146118f957600080fd5b6002546001600160a01b031663b7d2b162611912611d8d565b856040518363ffffffff1660e01b81526004016119309291906126e6565b6020604051808303816000875af115801561194f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611973919061250e565b151560011461198457611984612721565b6002546001600160a01b031663b428b0b061199d611d8d565b846040518363ffffffff1660e01b81526004016119bb9291906126e6565b6020604051808303816000875af11580156119da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fe919061250e565b151560011461137757611377612721565b611a1833610592565b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8491906124b7565b6001600160a01b031614611b215730816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af591906124b7565b60405163b6b6307760e01b81526001600160a01b039283166004820152911660248201526044016108ea565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b611b4b611ce1565b611b5481610f8d565b611b5c610c4b565b6001600160a01b038216611b835760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206128bd83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6000611bce6001546001600160a01b031690565b6001600160a01b031663d39e604360dc610eae565b6000805160206128dd833981519152600080611c1e611c0061155a565b8730611c10600460008a8c6127b1565b611c19916127db565b611e16565b9150915081610f855763ffffffff811615611cbe57825460ff60a01b1916600160a01b178355611c4c61155a565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401611c7b9392919061280b565b600060405180830381600087803b158015611c9557600080fd5b505af1158015611ca9573d6000803e3d6000fd5b5050845460ff60a01b1916855550610f859050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016108ea565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16611d2a57604051631afcd79f60e31b815260040160405180910390fd5b565b6000805160206128dd83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6040516368aebf7b60e01b815261076c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015611de1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f17919061284b565b611e0d611ce1565b61109881611f22565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251611e859190612868565b600060405180830381855afa9150503d8060008114611ec0576040519150601f19603f3d011682016040523d82523d6000602084013e611ec5565b606091505b50915091508115611f17576040815110611ef75780806020019051810190611eed9190612884565b9094509250611f17565b6020815110611f175780806020019051810190611f14919061250e565b93505b505094509492505050565b611f2a611ce1565b61109881611d2c565b80356001600160e01b031981168114611f4b57600080fd5b919050565b600060208284031215611f6257600080fd5b611f6b82611f33565b9392505050565b6001600160a01b038116811461109857600080fd5b600060208284031215611f9957600080fd5b8135611f6b81611f72565b60005b83811015611fbf578181015183820152602001611fa7565b50506000910152565b60008151808452611fe0816020860160208601611fa4565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161205d60c08401826001600160a01b03169052565b5060c083015160e080840152612077610100840182611fc8565b949350505050565b6001600160601b038116811461109857600080fd5b60ff8116811461109857600080fd5b801515811461109857600080fd5b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156120e1576120e16120b1565b604051601f8501601f19908116603f01168101908282118183101715612109576121096120b1565b8160405280935085815286868601111561212257600080fd5b858560208301376000602087830101525050509392505050565b60008060008060008060c0878903121561215557600080fd5b863561216081611f72565b955060208701356121708161207f565b9450604087013561218081612094565b93506060870135612190816120a3565b925060808701356121a081611f72565b915060a08701356001600160401b038111156121bb57600080fd5b8701601f810189136121cc57600080fd5b6121db898235602084016120c7565b9150509295509295509295565b600082601f8301126121f957600080fd5b611f6b838335602085016120c7565b6001600160401b038116811461109857600080fd5b8035611f4b81612208565b6000806000806060858703121561223e57600080fd5b84356001600160401b038082111561225557600080fd5b612261888389016121e8565b9550602087013591508082111561227757600080fd5b818701915087601f83011261228b57600080fd5b81358181111561229a57600080fd5b8860208260051b85010111156122af57600080fd5b6020830195508094505050506122c76040860161221d565b905092959194509250565b600080604083850312156122e557600080fd5b82356122f081611f72565b915060208301356001600160401b0381111561230b57600080fd5b612317858286016121e8565b9150509250929050565b6000806040838503121561233457600080fd5b823561233f81611f72565b9150602083013561234f816120a3565b809150509250929050565b6000806040838503121561236d57600080fd5b823561237881612208565b9150602083013561234f81611f72565b6000806040838503121561239b57600080fd5b82356123a681611f72565b946020939093013593505050565b6000806000606084860312156123c957600080fd5b83356123d481611f72565b925060208401356123e481611f72565b915060408401356123f481611f72565b809150509250925092565b6000806040838503121561241257600080fd5b82356001600160401b038082111561242957600080fd5b612435868387016121e8565b9350602085013591508082111561244b57600080fd5b50612317858286016121e8565b60008060006060848603121561246d57600080fd5b833561247881611f72565b9250602084013561248881611f72565b929592945050506040919091013590565b600080604083850312156124ac57600080fd5b823561237881611f72565b6000602082840312156124c957600080fd5b8151611f6b81611f72565b600181811c908216806124e857607f821691505b60208210810361250857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561252057600080fd5b8151611f6b816120a3565b60006020828403121561253d57600080fd5b8151611f6b8161207f565b601f82111561137757600081815260208120601f850160051c8101602086101561256f5750805b601f850160051c820191505b81811015610f855782815560010161257b565b81516001600160401b038111156125a7576125a76120b1565b6125bb816125b584546124d4565b84612548565b602080601f8311600181146125f057600084156125d85750858301515b600019600386901b1c1916600185901b178555610f85565b600085815260208120601f198616915b8281101561261f57888601518255948401946001909101908401612600565b508582101561263d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6060815260006126606060830187611fc8565b8281036020848101919091528582528691810160005b878110156126a3576001600160e01b031961269085611f33565b1682529282019290820190600101612676565b508093505050506001600160401b038316604083015295945050505050565b6001600160a01b038316815260406020820181905260009061207790830184611fc8565b6001600160401b039290921682526001600160a01b0316602082015260400190565b60006020828403121561271a57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561274957600080fd5b8151611f6b81612094565b6040815260006127676040830185611fc8565b82810360208401526127798185611fc8565b95945050505050565b6000806040838503121561279557600080fd5b82516127a081612208565b602084015190925061234f81612208565b600080858511156127c157600080fd5b838611156127ce57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156128035780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60006020828403121561285d57600080fd5b8151611f6b81612208565b6000825161287a818460208701611fa4565b9190910192915050565b6000806040838503121561289757600080fd5b82516128a2816120a3565b602084015190925063ffffffff8116811461234f57600080fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220fbce823de3502cdc73924bcbba67c03f492489a47582e7e78d8f1bca68ef653464736f6c63430008140033",
859
+ "linkReferences": {
860
+ "contracts/types/NftId.sol": {
861
+ "NftIdLib": [
1481
862
  {
1482
- "components": [
1483
- {
1484
- "internalType": "NftId",
1485
- "name": "nftId",
1486
- "type": "uint96"
1487
- },
1488
- {
1489
- "internalType": "NftId",
1490
- "name": "parentNftId",
1491
- "type": "uint96"
1492
- },
1493
- {
1494
- "internalType": "ObjectType",
1495
- "name": "objectType",
1496
- "type": "uint8"
1497
- },
1498
- {
1499
- "internalType": "bool",
1500
- "name": "isInterceptor",
1501
- "type": "bool"
1502
- },
1503
- {
1504
- "internalType": "address",
1505
- "name": "objectAddress",
1506
- "type": "address"
1507
- },
1508
- {
1509
- "internalType": "address",
1510
- "name": "initialOwner",
1511
- "type": "address"
1512
- },
1513
- {
1514
- "internalType": "bytes",
1515
- "name": "data",
1516
- "type": "bytes"
1517
- }
1518
- ],
1519
- "internalType": "struct IRegistry.ObjectInfo",
1520
- "name": "",
1521
- "type": "tuple"
863
+ "length": 20,
864
+ "start": 2180
1522
865
  },
1523
866
  {
1524
- "internalType": "bytes",
1525
- "name": "data",
1526
- "type": "bytes"
867
+ "length": 20,
868
+ "start": 4576
1527
869
  }
1528
- ],
1529
- "stateMutability": "view",
1530
- "type": "function"
870
+ ]
1531
871
  },
1532
- {
1533
- "inputs": [
1534
- {
1535
- "internalType": "ObjectType",
1536
- "name": "objectType",
1537
- "type": "uint8"
1538
- }
1539
- ],
1540
- "name": "getInitialState",
1541
- "outputs": [
872
+ "contracts/types/RoleId.sol": {
873
+ "RoleIdLib": [
1542
874
  {
1543
- "internalType": "StateId",
1544
- "name": "",
1545
- "type": "uint8"
875
+ "length": 20,
876
+ "start": 7623
1546
877
  }
1547
- ],
1548
- "stateMutability": "view",
1549
- "type": "function"
878
+ ]
1550
879
  },
1551
- {
1552
- "inputs": [],
1553
- "name": "getInstanceReader",
1554
- "outputs": [
880
+ "contracts/types/Version.sol": {
881
+ "VersionPartLib": [
1555
882
  {
1556
- "internalType": "contract InstanceReader",
1557
- "name": "",
1558
- "type": "address"
883
+ "length": 20,
884
+ "start": 6013
1559
885
  }
1560
- ],
1561
- "stateMutability": "view",
1562
- "type": "function"
1563
- },
1564
- {
1565
- "inputs": [
886
+ ]
887
+ }
888
+ },
889
+ "deployedLinkReferences": {
890
+ "contracts/types/NftId.sol": {
891
+ "NftIdLib": [
1566
892
  {
1567
- "internalType": "Key32",
1568
- "name": "key32",
1569
- "type": "bytes32"
1570
- }
1571
- ],
1572
- "name": "getMetadata",
1573
- "outputs": [
893
+ "length": 20,
894
+ "start": 2148
895
+ },
1574
896
  {
1575
- "components": [
1576
- {
1577
- "internalType": "ObjectType",
1578
- "name": "objectType",
1579
- "type": "uint8"
1580
- },
1581
- {
1582
- "internalType": "StateId",
1583
- "name": "state",
1584
- "type": "uint8"
1585
- },
1586
- {
1587
- "internalType": "address",
1588
- "name": "updatedBy",
1589
- "type": "address"
1590
- },
1591
- {
1592
- "internalType": "Blocknumber",
1593
- "name": "updatedIn",
1594
- "type": "uint32"
1595
- },
1596
- {
1597
- "internalType": "Blocknumber",
1598
- "name": "createdIn",
1599
- "type": "uint32"
1600
- }
1601
- ],
1602
- "internalType": "struct IKeyValueStore.Metadata",
1603
- "name": "metadata",
1604
- "type": "tuple"
897
+ "length": 20,
898
+ "start": 4544
1605
899
  }
1606
- ],
1607
- "stateMutability": "view",
1608
- "type": "function"
900
+ ]
1609
901
  },
1610
- {
1611
- "inputs": [],
1612
- "name": "getNftId",
1613
- "outputs": [
1614
- {
1615
- "internalType": "NftId",
1616
- "name": "",
1617
- "type": "uint96"
1618
- }
1619
- ],
1620
- "stateMutability": "view",
1621
- "type": "function"
1622
- },
1623
- {
1624
- "inputs": [],
1625
- "name": "getOwner",
1626
- "outputs": [
1627
- {
1628
- "internalType": "address",
1629
- "name": "",
1630
- "type": "address"
1631
- }
1632
- ],
1633
- "stateMutability": "view",
1634
- "type": "function"
1635
- },
1636
- {
1637
- "inputs": [],
1638
- "name": "getRegistry",
1639
- "outputs": [
1640
- {
1641
- "internalType": "contract IRegistry",
1642
- "name": "",
1643
- "type": "address"
1644
- }
1645
- ],
1646
- "stateMutability": "view",
1647
- "type": "function"
1648
- },
1649
- {
1650
- "inputs": [
1651
- {
1652
- "internalType": "RoleId",
1653
- "name": "roleId",
1654
- "type": "uint64"
1655
- }
1656
- ],
1657
- "name": "getRole",
1658
- "outputs": [
1659
- {
1660
- "components": [
1661
- {
1662
- "internalType": "ShortString",
1663
- "name": "name",
1664
- "type": "bytes32"
1665
- },
1666
- {
1667
- "internalType": "bool",
1668
- "name": "isCustom",
1669
- "type": "bool"
1670
- }
1671
- ],
1672
- "internalType": "struct IAccess.RoleInfo",
1673
- "name": "role",
1674
- "type": "tuple"
1675
- }
1676
- ],
1677
- "stateMutability": "view",
1678
- "type": "function"
1679
- },
1680
- {
1681
- "inputs": [
1682
- {
1683
- "internalType": "uint256",
1684
- "name": "idx",
1685
- "type": "uint256"
1686
- }
1687
- ],
1688
- "name": "getRoleId",
1689
- "outputs": [
1690
- {
1691
- "internalType": "RoleId",
1692
- "name": "roleId",
1693
- "type": "uint64"
1694
- }
1695
- ],
1696
- "stateMutability": "view",
1697
- "type": "function"
1698
- },
1699
- {
1700
- "inputs": [
1701
- {
1702
- "internalType": "RoleId",
1703
- "name": "roleId",
1704
- "type": "uint64"
1705
- },
1706
- {
1707
- "internalType": "uint256",
1708
- "name": "idx",
1709
- "type": "uint256"
1710
- }
1711
- ],
1712
- "name": "getRoleMember",
1713
- "outputs": [
1714
- {
1715
- "internalType": "address",
1716
- "name": "roleMember",
1717
- "type": "address"
1718
- }
1719
- ],
1720
- "stateMutability": "view",
1721
- "type": "function"
1722
- },
1723
- {
1724
- "inputs": [
1725
- {
1726
- "internalType": "Key32",
1727
- "name": "key32",
1728
- "type": "bytes32"
1729
- }
1730
- ],
1731
- "name": "getState",
1732
- "outputs": [
1733
- {
1734
- "internalType": "StateId",
1735
- "name": "state",
1736
- "type": "uint8"
1737
- }
1738
- ],
1739
- "stateMutability": "view",
1740
- "type": "function"
1741
- },
1742
- {
1743
- "inputs": [
1744
- {
1745
- "internalType": "RoleId",
1746
- "name": "roleId",
1747
- "type": "uint64"
1748
- },
1749
- {
1750
- "internalType": "address",
1751
- "name": "member",
1752
- "type": "address"
1753
- }
1754
- ],
1755
- "name": "grantRole",
1756
- "outputs": [
1757
- {
1758
- "internalType": "bool",
1759
- "name": "granted",
1760
- "type": "bool"
1761
- }
1762
- ],
1763
- "stateMutability": "nonpayable",
1764
- "type": "function"
1765
- },
1766
- {
1767
- "inputs": [
1768
- {
1769
- "internalType": "ObjectType",
1770
- "name": "objectType",
1771
- "type": "uint8"
1772
- }
1773
- ],
1774
- "name": "hasLifecycle",
1775
- "outputs": [
1776
- {
1777
- "internalType": "bool",
1778
- "name": "",
1779
- "type": "bool"
1780
- }
1781
- ],
1782
- "stateMutability": "view",
1783
- "type": "function"
1784
- },
1785
- {
1786
- "inputs": [],
1787
- "name": "isConsumingScheduledOp",
1788
- "outputs": [
1789
- {
1790
- "internalType": "bytes4",
1791
- "name": "",
1792
- "type": "bytes4"
1793
- }
1794
- ],
1795
- "stateMutability": "view",
1796
- "type": "function"
1797
- },
1798
- {
1799
- "inputs": [
1800
- {
1801
- "internalType": "ObjectType",
1802
- "name": "objectType",
1803
- "type": "uint8"
1804
- },
1805
- {
1806
- "internalType": "StateId",
1807
- "name": "fromId",
1808
- "type": "uint8"
1809
- },
1810
- {
1811
- "internalType": "StateId",
1812
- "name": "toId",
1813
- "type": "uint8"
1814
- }
1815
- ],
1816
- "name": "isValidTransition",
1817
- "outputs": [
1818
- {
1819
- "internalType": "bool",
1820
- "name": "",
1821
- "type": "bool"
1822
- }
1823
- ],
1824
- "stateMutability": "view",
1825
- "type": "function"
1826
- },
1827
- {
1828
- "inputs": [],
1829
- "name": "linkToRegisteredNftId",
1830
- "outputs": [],
1831
- "stateMutability": "nonpayable",
1832
- "type": "function"
1833
- },
1834
- {
1835
- "inputs": [
1836
- {
1837
- "internalType": "RoleId",
1838
- "name": "roleId",
1839
- "type": "uint64"
1840
- }
1841
- ],
1842
- "name": "renounceRole",
1843
- "outputs": [
1844
- {
1845
- "internalType": "bool",
1846
- "name": "revoked",
1847
- "type": "bool"
1848
- }
1849
- ],
1850
- "stateMutability": "nonpayable",
1851
- "type": "function"
1852
- },
1853
- {
1854
- "inputs": [
1855
- {
1856
- "internalType": "RoleId",
1857
- "name": "roleId",
1858
- "type": "uint64"
1859
- },
1860
- {
1861
- "internalType": "address",
1862
- "name": "member",
1863
- "type": "address"
1864
- }
1865
- ],
1866
- "name": "revokeRole",
1867
- "outputs": [
1868
- {
1869
- "internalType": "bool",
1870
- "name": "revoked",
1871
- "type": "bool"
1872
- }
1873
- ],
1874
- "stateMutability": "nonpayable",
1875
- "type": "function"
1876
- },
1877
- {
1878
- "inputs": [
1879
- {
1880
- "internalType": "RoleId",
1881
- "name": "roleId",
1882
- "type": "uint64"
1883
- }
1884
- ],
1885
- "name": "roleMembers",
1886
- "outputs": [
1887
- {
1888
- "internalType": "uint256",
1889
- "name": "numberOfMembers",
1890
- "type": "uint256"
1891
- }
1892
- ],
1893
- "stateMutability": "view",
1894
- "type": "function"
1895
- },
1896
- {
1897
- "inputs": [],
1898
- "name": "roles",
1899
- "outputs": [
1900
- {
1901
- "internalType": "uint256",
1902
- "name": "numberOfRoles",
1903
- "type": "uint256"
1904
- }
1905
- ],
1906
- "stateMutability": "view",
1907
- "type": "function"
1908
- },
1909
- {
1910
- "inputs": [
1911
- {
1912
- "internalType": "address",
1913
- "name": "newAuthority",
1914
- "type": "address"
1915
- }
1916
- ],
1917
- "name": "setAuthority",
1918
- "outputs": [],
1919
- "stateMutability": "nonpayable",
1920
- "type": "function"
1921
- },
1922
- {
1923
- "inputs": [
1924
- {
1925
- "internalType": "contract InstanceReader",
1926
- "name": "instanceReader",
1927
- "type": "address"
1928
- }
1929
- ],
1930
- "name": "setInstanceReader",
1931
- "outputs": [],
1932
- "stateMutability": "nonpayable",
1933
- "type": "function"
1934
- },
1935
- {
1936
- "inputs": [
1937
- {
1938
- "internalType": "address",
1939
- "name": "target",
1940
- "type": "address"
1941
- },
1942
- {
1943
- "internalType": "bool",
1944
- "name": "closed",
1945
- "type": "bool"
1946
- }
1947
- ],
1948
- "name": "setTargetClosed",
1949
- "outputs": [],
1950
- "stateMutability": "nonpayable",
1951
- "type": "function"
1952
- },
1953
- {
1954
- "inputs": [
1955
- {
1956
- "internalType": "bytes4",
1957
- "name": "interfaceId",
1958
- "type": "bytes4"
1959
- }
1960
- ],
1961
- "name": "supportsInterface",
1962
- "outputs": [
1963
- {
1964
- "internalType": "bool",
1965
- "name": "",
1966
- "type": "bool"
1967
- }
1968
- ],
1969
- "stateMutability": "view",
1970
- "type": "function"
1971
- },
1972
- {
1973
- "inputs": [
1974
- {
1975
- "internalType": "NftId",
1976
- "name": "bundleNftId",
1977
- "type": "uint96"
1978
- }
1979
- ],
1980
- "name": "toBundleKey32",
1981
- "outputs": [
1982
- {
1983
- "internalType": "Key32",
1984
- "name": "",
1985
- "type": "bytes32"
1986
- }
1987
- ],
1988
- "stateMutability": "pure",
1989
- "type": "function"
1990
- },
1991
- {
1992
- "inputs": [
1993
- {
1994
- "internalType": "ObjectType",
1995
- "name": "objectType",
1996
- "type": "uint8"
1997
- },
1998
- {
1999
- "internalType": "KeyId",
2000
- "name": "id",
2001
- "type": "bytes31"
2002
- }
2003
- ],
2004
- "name": "toKey32",
2005
- "outputs": [
2006
- {
2007
- "internalType": "Key32",
2008
- "name": "",
2009
- "type": "bytes32"
2010
- }
2011
- ],
2012
- "stateMutability": "pure",
2013
- "type": "function"
2014
- },
2015
- {
2016
- "inputs": [
2017
- {
2018
- "internalType": "NftId",
2019
- "name": "policyNftId",
2020
- "type": "uint96"
2021
- }
2022
- ],
2023
- "name": "toPolicyKey32",
2024
- "outputs": [
2025
- {
2026
- "internalType": "Key32",
2027
- "name": "",
2028
- "type": "bytes32"
2029
- }
2030
- ],
2031
- "stateMutability": "pure",
2032
- "type": "function"
2033
- },
2034
- {
2035
- "inputs": [
2036
- {
2037
- "internalType": "RoleId",
2038
- "name": "roleId",
2039
- "type": "uint64"
2040
- }
2041
- ],
2042
- "name": "toRoleKey32",
2043
- "outputs": [
2044
- {
2045
- "internalType": "Key32",
2046
- "name": "",
2047
- "type": "bytes32"
2048
- }
2049
- ],
2050
- "stateMutability": "pure",
2051
- "type": "function"
2052
- },
2053
- {
2054
- "inputs": [
2055
- {
2056
- "internalType": "address",
2057
- "name": "target",
2058
- "type": "address"
2059
- }
2060
- ],
2061
- "name": "toTargetKey32",
2062
- "outputs": [
2063
- {
2064
- "internalType": "Key32",
2065
- "name": "",
2066
- "type": "bytes32"
2067
- }
2068
- ],
2069
- "stateMutability": "pure",
2070
- "type": "function"
2071
- },
2072
- {
2073
- "inputs": [
2074
- {
2075
- "internalType": "NftId",
2076
- "name": "bundleNftId",
2077
- "type": "uint96"
2078
- },
2079
- {
2080
- "components": [
2081
- {
2082
- "internalType": "NftId",
2083
- "name": "poolNftId",
2084
- "type": "uint96"
2085
- },
2086
- {
2087
- "components": [
2088
- {
2089
- "internalType": "UFixed",
2090
- "name": "fractionalFee",
2091
- "type": "uint256"
2092
- },
2093
- {
2094
- "internalType": "uint256",
2095
- "name": "fixedFee",
2096
- "type": "uint256"
2097
- }
2098
- ],
2099
- "internalType": "struct Fee",
2100
- "name": "fee",
2101
- "type": "tuple"
2102
- },
2103
- {
2104
- "internalType": "bytes",
2105
- "name": "filter",
2106
- "type": "bytes"
2107
- },
2108
- {
2109
- "internalType": "uint256",
2110
- "name": "capitalAmount",
2111
- "type": "uint256"
2112
- },
2113
- {
2114
- "internalType": "uint256",
2115
- "name": "lockedAmount",
2116
- "type": "uint256"
2117
- },
2118
- {
2119
- "internalType": "uint256",
2120
- "name": "balanceAmount",
2121
- "type": "uint256"
2122
- },
2123
- {
2124
- "internalType": "Timestamp",
2125
- "name": "expiredAt",
2126
- "type": "uint40"
2127
- },
2128
- {
2129
- "internalType": "Timestamp",
2130
- "name": "closedAt",
2131
- "type": "uint40"
2132
- }
2133
- ],
2134
- "internalType": "struct IBundle.BundleInfo",
2135
- "name": "bundle",
2136
- "type": "tuple"
2137
- },
2138
- {
2139
- "internalType": "StateId",
2140
- "name": "newState",
2141
- "type": "uint8"
2142
- }
2143
- ],
2144
- "name": "updateBundle",
2145
- "outputs": [],
2146
- "stateMutability": "nonpayable",
2147
- "type": "function"
2148
- },
2149
- {
2150
- "inputs": [
2151
- {
2152
- "internalType": "NftId",
2153
- "name": "bundleNftId",
2154
- "type": "uint96"
2155
- },
2156
- {
2157
- "internalType": "StateId",
2158
- "name": "newState",
2159
- "type": "uint8"
2160
- }
2161
- ],
2162
- "name": "updateBundleState",
2163
- "outputs": [],
2164
- "stateMutability": "nonpayable",
2165
- "type": "function"
2166
- },
2167
- {
2168
- "inputs": [
2169
- {
2170
- "internalType": "NftId",
2171
- "name": "policyNftId",
2172
- "type": "uint96"
2173
- },
2174
- {
2175
- "internalType": "NumberId",
2176
- "name": "claimId",
2177
- "type": "uint32"
2178
- },
2179
- {
2180
- "components": [
2181
- {
2182
- "internalType": "uint256",
2183
- "name": "claimAmount",
2184
- "type": "uint256"
2185
- },
2186
- {
2187
- "internalType": "uint256",
2188
- "name": "paidAmount",
2189
- "type": "uint256"
2190
- },
2191
- {
2192
- "internalType": "bytes",
2193
- "name": "data",
2194
- "type": "bytes"
2195
- },
2196
- {
2197
- "internalType": "Timestamp",
2198
- "name": "closedAt",
2199
- "type": "uint40"
2200
- }
2201
- ],
2202
- "internalType": "struct IPolicy.ClaimInfo",
2203
- "name": "claim",
2204
- "type": "tuple"
2205
- },
2206
- {
2207
- "internalType": "StateId",
2208
- "name": "newState",
2209
- "type": "uint8"
2210
- }
2211
- ],
2212
- "name": "updateClaim",
2213
- "outputs": [],
2214
- "stateMutability": "nonpayable",
2215
- "type": "function"
2216
- },
2217
- {
2218
- "inputs": [
2219
- {
2220
- "internalType": "NftId",
2221
- "name": "policyNftId",
2222
- "type": "uint96"
2223
- },
2224
- {
2225
- "internalType": "NumberId",
2226
- "name": "payoutId",
2227
- "type": "uint32"
2228
- },
2229
- {
2230
- "components": [
2231
- {
2232
- "internalType": "NumberId",
2233
- "name": "claimId",
2234
- "type": "uint32"
2235
- },
2236
- {
2237
- "internalType": "uint256",
2238
- "name": "amount",
2239
- "type": "uint256"
2240
- },
2241
- {
2242
- "internalType": "bytes",
2243
- "name": "data",
2244
- "type": "bytes"
2245
- },
2246
- {
2247
- "internalType": "Timestamp",
2248
- "name": "paidAt",
2249
- "type": "uint40"
2250
- }
2251
- ],
2252
- "internalType": "struct IPolicy.PayoutInfo",
2253
- "name": "payout",
2254
- "type": "tuple"
2255
- },
2256
- {
2257
- "internalType": "StateId",
2258
- "name": "newState",
2259
- "type": "uint8"
2260
- }
2261
- ],
2262
- "name": "updateClaim",
2263
- "outputs": [],
2264
- "stateMutability": "nonpayable",
2265
- "type": "function"
2266
- },
2267
- {
2268
- "inputs": [
2269
- {
2270
- "internalType": "NftId",
2271
- "name": "policyNftId",
2272
- "type": "uint96"
2273
- },
2274
- {
2275
- "internalType": "StateId",
2276
- "name": "newState",
2277
- "type": "uint8"
2278
- }
2279
- ],
2280
- "name": "updateClaimState",
2281
- "outputs": [],
2282
- "stateMutability": "nonpayable",
2283
- "type": "function"
2284
- },
2285
- {
2286
- "inputs": [
2287
- {
2288
- "internalType": "NftId",
2289
- "name": "distributionNftId",
2290
- "type": "uint96"
2291
- },
2292
- {
2293
- "components": [
2294
- {
2295
- "internalType": "NftId",
2296
- "name": "productNftId",
2297
- "type": "uint96"
2298
- },
2299
- {
2300
- "internalType": "contract TokenHandler",
2301
- "name": "tokenHandler",
2302
- "type": "address"
2303
- },
2304
- {
2305
- "components": [
2306
- {
2307
- "internalType": "UFixed",
2308
- "name": "fractionalFee",
2309
- "type": "uint256"
2310
- },
2311
- {
2312
- "internalType": "uint256",
2313
- "name": "fixedFee",
2314
- "type": "uint256"
2315
- }
2316
- ],
2317
- "internalType": "struct Fee",
2318
- "name": "distributionFee",
2319
- "type": "tuple"
2320
- },
2321
- {
2322
- "internalType": "bool",
2323
- "name": "isIntercepting",
2324
- "type": "bool"
2325
- },
2326
- {
2327
- "internalType": "address",
2328
- "name": "wallet",
2329
- "type": "address"
2330
- }
2331
- ],
2332
- "internalType": "struct ISetup.DistributionSetupInfo",
2333
- "name": "setup",
2334
- "type": "tuple"
2335
- },
2336
- {
2337
- "internalType": "StateId",
2338
- "name": "newState",
2339
- "type": "uint8"
2340
- }
2341
- ],
2342
- "name": "updateDistributionSetup",
2343
- "outputs": [],
2344
- "stateMutability": "nonpayable",
2345
- "type": "function"
2346
- },
2347
- {
2348
- "inputs": [
2349
- {
2350
- "internalType": "NftId",
2351
- "name": "distributionNftId",
2352
- "type": "uint96"
2353
- },
2354
- {
2355
- "internalType": "StateId",
2356
- "name": "newState",
2357
- "type": "uint8"
2358
- }
2359
- ],
2360
- "name": "updateDistributionSetupState",
2361
- "outputs": [],
2362
- "stateMutability": "nonpayable",
2363
- "type": "function"
2364
- },
2365
- {
2366
- "inputs": [
2367
- {
2368
- "internalType": "NftId",
2369
- "name": "policyNftId",
2370
- "type": "uint96"
2371
- },
2372
- {
2373
- "internalType": "NumberId",
2374
- "name": "payoutId",
2375
- "type": "uint32"
2376
- },
2377
- {
2378
- "components": [
2379
- {
2380
- "internalType": "NumberId",
2381
- "name": "claimId",
2382
- "type": "uint32"
2383
- },
2384
- {
2385
- "internalType": "uint256",
2386
- "name": "amount",
2387
- "type": "uint256"
2388
- },
2389
- {
2390
- "internalType": "bytes",
2391
- "name": "data",
2392
- "type": "bytes"
2393
- },
2394
- {
2395
- "internalType": "Timestamp",
2396
- "name": "paidAt",
2397
- "type": "uint40"
2398
- }
2399
- ],
2400
- "internalType": "struct IPolicy.PayoutInfo",
2401
- "name": "payout",
2402
- "type": "tuple"
2403
- },
2404
- {
2405
- "internalType": "StateId",
2406
- "name": "newState",
2407
- "type": "uint8"
2408
- }
2409
- ],
2410
- "name": "updateDistributor",
2411
- "outputs": [],
2412
- "stateMutability": "nonpayable",
2413
- "type": "function"
2414
- },
2415
- {
2416
- "inputs": [
2417
- {
2418
- "internalType": "NftId",
2419
- "name": "policyNftId",
2420
- "type": "uint96"
2421
- },
2422
- {
2423
- "internalType": "StateId",
2424
- "name": "newState",
2425
- "type": "uint8"
2426
- }
2427
- ],
2428
- "name": "updateDistributorState",
2429
- "outputs": [],
2430
- "stateMutability": "nonpayable",
2431
- "type": "function"
2432
- },
2433
- {
2434
- "inputs": [
2435
- {
2436
- "internalType": "NftId",
2437
- "name": "policyNftId",
2438
- "type": "uint96"
2439
- },
2440
- {
2441
- "internalType": "NumberId",
2442
- "name": "payoutId",
2443
- "type": "uint32"
2444
- },
2445
- {
2446
- "components": [
2447
- {
2448
- "internalType": "NumberId",
2449
- "name": "claimId",
2450
- "type": "uint32"
2451
- },
2452
- {
2453
- "internalType": "uint256",
2454
- "name": "amount",
2455
- "type": "uint256"
2456
- },
2457
- {
2458
- "internalType": "bytes",
2459
- "name": "data",
2460
- "type": "bytes"
2461
- },
2462
- {
2463
- "internalType": "Timestamp",
2464
- "name": "paidAt",
2465
- "type": "uint40"
2466
- }
2467
- ],
2468
- "internalType": "struct IPolicy.PayoutInfo",
2469
- "name": "payout",
2470
- "type": "tuple"
2471
- },
2472
- {
2473
- "internalType": "StateId",
2474
- "name": "newState",
2475
- "type": "uint8"
2476
- }
2477
- ],
2478
- "name": "updateDistributorType",
2479
- "outputs": [],
2480
- "stateMutability": "nonpayable",
2481
- "type": "function"
2482
- },
2483
- {
2484
- "inputs": [
2485
- {
2486
- "internalType": "NftId",
2487
- "name": "policyNftId",
2488
- "type": "uint96"
2489
- },
2490
- {
2491
- "internalType": "StateId",
2492
- "name": "newState",
2493
- "type": "uint8"
2494
- }
2495
- ],
2496
- "name": "updateDistributorTypeState",
2497
- "outputs": [],
2498
- "stateMutability": "nonpayable",
2499
- "type": "function"
2500
- },
2501
- {
2502
- "inputs": [
2503
- {
2504
- "internalType": "NftId",
2505
- "name": "policyNftId",
2506
- "type": "uint96"
2507
- },
2508
- {
2509
- "internalType": "StateId",
2510
- "name": "newState",
2511
- "type": "uint8"
2512
- }
2513
- ],
2514
- "name": "updatePayoutState",
2515
- "outputs": [],
2516
- "stateMutability": "nonpayable",
2517
- "type": "function"
2518
- },
2519
- {
2520
- "inputs": [
2521
- {
2522
- "internalType": "NftId",
2523
- "name": "policyNftId",
2524
- "type": "uint96"
2525
- },
2526
- {
2527
- "components": [
2528
- {
2529
- "internalType": "NftId",
2530
- "name": "productNftId",
2531
- "type": "uint96"
2532
- },
2533
- {
2534
- "internalType": "NftId",
2535
- "name": "bundleNftId",
2536
- "type": "uint96"
2537
- },
2538
- {
2539
- "internalType": "ReferralId",
2540
- "name": "referralId",
2541
- "type": "bytes8"
2542
- },
2543
- {
2544
- "internalType": "RiskId",
2545
- "name": "riskId",
2546
- "type": "bytes8"
2547
- },
2548
- {
2549
- "internalType": "uint256",
2550
- "name": "sumInsuredAmount",
2551
- "type": "uint256"
2552
- },
2553
- {
2554
- "internalType": "uint256",
2555
- "name": "premiumAmount",
2556
- "type": "uint256"
2557
- },
2558
- {
2559
- "internalType": "uint256",
2560
- "name": "premiumPaidAmount",
2561
- "type": "uint256"
2562
- },
2563
- {
2564
- "internalType": "uint256",
2565
- "name": "lifetime",
2566
- "type": "uint256"
2567
- },
2568
- {
2569
- "internalType": "bytes",
2570
- "name": "applicationData",
2571
- "type": "bytes"
2572
- },
2573
- {
2574
- "internalType": "bytes",
2575
- "name": "policyData",
2576
- "type": "bytes"
2577
- },
2578
- {
2579
- "internalType": "uint16",
2580
- "name": "claimsCount",
2581
- "type": "uint16"
2582
- },
2583
- {
2584
- "internalType": "uint16",
2585
- "name": "openClaimsCount",
2586
- "type": "uint16"
2587
- },
2588
- {
2589
- "internalType": "uint256",
2590
- "name": "payoutAmount",
2591
- "type": "uint256"
2592
- },
2593
- {
2594
- "internalType": "Timestamp",
2595
- "name": "activatedAt",
2596
- "type": "uint40"
2597
- },
2598
- {
2599
- "internalType": "Timestamp",
2600
- "name": "expiredAt",
2601
- "type": "uint40"
2602
- },
2603
- {
2604
- "internalType": "Timestamp",
2605
- "name": "closedAt",
2606
- "type": "uint40"
2607
- }
2608
- ],
2609
- "internalType": "struct IPolicy.PolicyInfo",
2610
- "name": "policy",
2611
- "type": "tuple"
2612
- },
2613
- {
2614
- "internalType": "StateId",
2615
- "name": "newState",
2616
- "type": "uint8"
2617
- }
2618
- ],
2619
- "name": "updatePolicy",
2620
- "outputs": [],
2621
- "stateMutability": "nonpayable",
2622
- "type": "function"
2623
- },
2624
- {
2625
- "inputs": [
2626
- {
2627
- "internalType": "NftId",
2628
- "name": "policyNftId",
2629
- "type": "uint96"
2630
- },
2631
- {
2632
- "internalType": "StateId",
2633
- "name": "newState",
2634
- "type": "uint8"
2635
- }
2636
- ],
2637
- "name": "updatePolicyState",
2638
- "outputs": [],
2639
- "stateMutability": "nonpayable",
2640
- "type": "function"
2641
- },
2642
- {
2643
- "inputs": [
2644
- {
2645
- "internalType": "NftId",
2646
- "name": "distributionNftId",
2647
- "type": "uint96"
2648
- },
2649
- {
2650
- "components": [
2651
- {
2652
- "internalType": "NftId",
2653
- "name": "productNftId",
2654
- "type": "uint96"
2655
- },
2656
- {
2657
- "internalType": "contract TokenHandler",
2658
- "name": "tokenHandler",
2659
- "type": "address"
2660
- },
2661
- {
2662
- "internalType": "UFixed",
2663
- "name": "collateralizationLevel",
2664
- "type": "uint256"
2665
- },
2666
- {
2667
- "components": [
2668
- {
2669
- "internalType": "UFixed",
2670
- "name": "fractionalFee",
2671
- "type": "uint256"
2672
- },
2673
- {
2674
- "internalType": "uint256",
2675
- "name": "fixedFee",
2676
- "type": "uint256"
2677
- }
2678
- ],
2679
- "internalType": "struct Fee",
2680
- "name": "poolFee",
2681
- "type": "tuple"
2682
- },
2683
- {
2684
- "components": [
2685
- {
2686
- "internalType": "UFixed",
2687
- "name": "fractionalFee",
2688
- "type": "uint256"
2689
- },
2690
- {
2691
- "internalType": "uint256",
2692
- "name": "fixedFee",
2693
- "type": "uint256"
2694
- }
2695
- ],
2696
- "internalType": "struct Fee",
2697
- "name": "stakingFee",
2698
- "type": "tuple"
2699
- },
2700
- {
2701
- "components": [
2702
- {
2703
- "internalType": "UFixed",
2704
- "name": "fractionalFee",
2705
- "type": "uint256"
2706
- },
2707
- {
2708
- "internalType": "uint256",
2709
- "name": "fixedFee",
2710
- "type": "uint256"
2711
- }
2712
- ],
2713
- "internalType": "struct Fee",
2714
- "name": "performanceFee",
2715
- "type": "tuple"
2716
- },
2717
- {
2718
- "internalType": "bool",
2719
- "name": "isIntercepting",
2720
- "type": "bool"
2721
- },
2722
- {
2723
- "internalType": "address",
2724
- "name": "wallet",
2725
- "type": "address"
2726
- }
2727
- ],
2728
- "internalType": "struct ISetup.PoolSetupInfo",
2729
- "name": "setup",
2730
- "type": "tuple"
2731
- },
2732
- {
2733
- "internalType": "StateId",
2734
- "name": "newState",
2735
- "type": "uint8"
2736
- }
2737
- ],
2738
- "name": "updatePoolSetup",
2739
- "outputs": [],
2740
- "stateMutability": "nonpayable",
2741
- "type": "function"
2742
- },
2743
- {
2744
- "inputs": [
2745
- {
2746
- "internalType": "NftId",
2747
- "name": "distributionNftId",
2748
- "type": "uint96"
2749
- },
2750
- {
2751
- "internalType": "StateId",
2752
- "name": "newState",
2753
- "type": "uint8"
2754
- }
2755
- ],
2756
- "name": "updatePoolSetupState",
2757
- "outputs": [],
2758
- "stateMutability": "nonpayable",
2759
- "type": "function"
2760
- },
2761
- {
2762
- "inputs": [
2763
- {
2764
- "internalType": "NftId",
2765
- "name": "productNftId",
2766
- "type": "uint96"
2767
- },
2768
- {
2769
- "components": [
2770
- {
2771
- "internalType": "contract IERC20Metadata",
2772
- "name": "token",
2773
- "type": "address"
2774
- },
2775
- {
2776
- "internalType": "contract TokenHandler",
2777
- "name": "tokenHandler",
2778
- "type": "address"
2779
- },
2780
- {
2781
- "internalType": "NftId",
2782
- "name": "distributionNftId",
2783
- "type": "uint96"
2784
- },
2785
- {
2786
- "internalType": "NftId",
2787
- "name": "poolNftId",
2788
- "type": "uint96"
2789
- },
2790
- {
2791
- "components": [
2792
- {
2793
- "internalType": "UFixed",
2794
- "name": "fractionalFee",
2795
- "type": "uint256"
2796
- },
2797
- {
2798
- "internalType": "uint256",
2799
- "name": "fixedFee",
2800
- "type": "uint256"
2801
- }
2802
- ],
2803
- "internalType": "struct Fee",
2804
- "name": "distributionFee",
2805
- "type": "tuple"
2806
- },
2807
- {
2808
- "components": [
2809
- {
2810
- "internalType": "UFixed",
2811
- "name": "fractionalFee",
2812
- "type": "uint256"
2813
- },
2814
- {
2815
- "internalType": "uint256",
2816
- "name": "fixedFee",
2817
- "type": "uint256"
2818
- }
2819
- ],
2820
- "internalType": "struct Fee",
2821
- "name": "productFee",
2822
- "type": "tuple"
2823
- },
2824
- {
2825
- "components": [
2826
- {
2827
- "internalType": "UFixed",
2828
- "name": "fractionalFee",
2829
- "type": "uint256"
2830
- },
2831
- {
2832
- "internalType": "uint256",
2833
- "name": "fixedFee",
2834
- "type": "uint256"
2835
- }
2836
- ],
2837
- "internalType": "struct Fee",
2838
- "name": "processingFee",
2839
- "type": "tuple"
2840
- },
2841
- {
2842
- "components": [
2843
- {
2844
- "internalType": "UFixed",
2845
- "name": "fractionalFee",
2846
- "type": "uint256"
2847
- },
2848
- {
2849
- "internalType": "uint256",
2850
- "name": "fixedFee",
2851
- "type": "uint256"
2852
- }
2853
- ],
2854
- "internalType": "struct Fee",
2855
- "name": "poolFee",
2856
- "type": "tuple"
2857
- },
2858
- {
2859
- "components": [
2860
- {
2861
- "internalType": "UFixed",
2862
- "name": "fractionalFee",
2863
- "type": "uint256"
2864
- },
2865
- {
2866
- "internalType": "uint256",
2867
- "name": "fixedFee",
2868
- "type": "uint256"
2869
- }
2870
- ],
2871
- "internalType": "struct Fee",
2872
- "name": "stakingFee",
2873
- "type": "tuple"
2874
- },
2875
- {
2876
- "components": [
2877
- {
2878
- "internalType": "UFixed",
2879
- "name": "fractionalFee",
2880
- "type": "uint256"
2881
- },
2882
- {
2883
- "internalType": "uint256",
2884
- "name": "fixedFee",
2885
- "type": "uint256"
2886
- }
2887
- ],
2888
- "internalType": "struct Fee",
2889
- "name": "performanceFee",
2890
- "type": "tuple"
2891
- }
2892
- ],
2893
- "internalType": "struct ISetup.ProductSetupInfo",
2894
- "name": "setup",
2895
- "type": "tuple"
2896
- },
2897
- {
2898
- "internalType": "StateId",
2899
- "name": "newState",
2900
- "type": "uint8"
2901
- }
2902
- ],
2903
- "name": "updateProductSetup",
2904
- "outputs": [],
2905
- "stateMutability": "nonpayable",
2906
- "type": "function"
2907
- },
2908
- {
2909
- "inputs": [
2910
- {
2911
- "internalType": "NftId",
2912
- "name": "productNftId",
2913
- "type": "uint96"
2914
- },
2915
- {
2916
- "internalType": "StateId",
2917
- "name": "newState",
2918
- "type": "uint8"
2919
- }
2920
- ],
2921
- "name": "updateProductSetupState",
2922
- "outputs": [],
2923
- "stateMutability": "nonpayable",
2924
- "type": "function"
2925
- },
2926
- {
2927
- "inputs": [
2928
- {
2929
- "internalType": "NftId",
2930
- "name": "policyNftId",
2931
- "type": "uint96"
2932
- },
2933
- {
2934
- "internalType": "NumberId",
2935
- "name": "payoutId",
2936
- "type": "uint32"
2937
- },
2938
- {
2939
- "components": [
2940
- {
2941
- "internalType": "NumberId",
2942
- "name": "claimId",
2943
- "type": "uint32"
2944
- },
2945
- {
2946
- "internalType": "uint256",
2947
- "name": "amount",
2948
- "type": "uint256"
2949
- },
2950
- {
2951
- "internalType": "bytes",
2952
- "name": "data",
2953
- "type": "bytes"
2954
- },
2955
- {
2956
- "internalType": "Timestamp",
2957
- "name": "paidAt",
2958
- "type": "uint40"
2959
- }
2960
- ],
2961
- "internalType": "struct IPolicy.PayoutInfo",
2962
- "name": "payout",
2963
- "type": "tuple"
2964
- },
2965
- {
2966
- "internalType": "StateId",
2967
- "name": "newState",
2968
- "type": "uint8"
2969
- }
2970
- ],
2971
- "name": "updateReferral",
2972
- "outputs": [],
2973
- "stateMutability": "nonpayable",
2974
- "type": "function"
2975
- },
2976
- {
2977
- "inputs": [
2978
- {
2979
- "internalType": "NftId",
2980
- "name": "policyNftId",
2981
- "type": "uint96"
2982
- },
2983
- {
2984
- "internalType": "StateId",
2985
- "name": "newState",
2986
- "type": "uint8"
2987
- }
2988
- ],
2989
- "name": "updateReferralState",
2990
- "outputs": [],
2991
- "stateMutability": "nonpayable",
2992
- "type": "function"
2993
- },
2994
- {
2995
- "inputs": [
2996
- {
2997
- "internalType": "RiskId",
2998
- "name": "riskId",
2999
- "type": "bytes8"
3000
- },
3001
- {
3002
- "components": [
3003
- {
3004
- "internalType": "NftId",
3005
- "name": "productNftId",
3006
- "type": "uint96"
3007
- },
3008
- {
3009
- "internalType": "bytes",
3010
- "name": "data",
3011
- "type": "bytes"
3012
- }
3013
- ],
3014
- "internalType": "struct IRisk.RiskInfo",
3015
- "name": "risk",
3016
- "type": "tuple"
3017
- },
3018
- {
3019
- "internalType": "StateId",
3020
- "name": "newState",
3021
- "type": "uint8"
3022
- }
3023
- ],
3024
- "name": "updateRisk",
3025
- "outputs": [],
3026
- "stateMutability": "nonpayable",
3027
- "type": "function"
3028
- },
3029
- {
3030
- "inputs": [
3031
- {
3032
- "internalType": "RiskId",
3033
- "name": "riskId",
3034
- "type": "bytes8"
3035
- },
3036
- {
3037
- "internalType": "StateId",
3038
- "name": "newState",
3039
- "type": "uint8"
3040
- }
3041
- ],
3042
- "name": "updateRiskState",
3043
- "outputs": [],
3044
- "stateMutability": "nonpayable",
3045
- "type": "function"
3046
- },
3047
- {
3048
- "inputs": [
3049
- {
3050
- "internalType": "RoleId",
3051
- "name": "roleId",
3052
- "type": "uint64"
3053
- },
3054
- {
3055
- "internalType": "string",
3056
- "name": "name",
3057
- "type": "string"
3058
- },
3059
- {
3060
- "internalType": "StateId",
3061
- "name": "newState",
3062
- "type": "uint8"
3063
- }
3064
- ],
3065
- "name": "updateRole",
3066
- "outputs": [],
3067
- "stateMutability": "nonpayable",
3068
- "type": "function"
3069
- },
3070
- {
3071
- "inputs": [
3072
- {
3073
- "internalType": "RoleId",
3074
- "name": "roleId",
3075
- "type": "uint64"
3076
- },
3077
- {
3078
- "internalType": "StateId",
3079
- "name": "newState",
3080
- "type": "uint8"
3081
- }
3082
- ],
3083
- "name": "updateRoleState",
3084
- "outputs": [],
3085
- "stateMutability": "nonpayable",
3086
- "type": "function"
3087
- }
3088
- ],
3089
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162006b0c38038062006b0c8339810160408190526200003491620016a2565b8262000040816200028b565b506200004b620002df565b6200005562000496565b6200005f620005d0565b620000696200083d565b6301ffc9a760e01b60005260046020527f9fe05126d2d9ecf60592e254dead906a4b2e492f36cca727682c38e9008c6ac1805460ff1916600117905560068054336001600160a01b031991821617909155600b80549091166001600160a01b0385161790556040516368aebf7b60e01b815260006004820152620001739073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801562000124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014a9190620016fc565b60408051808201909152600981526841646d696e526f6c6560b81b602082015260008062000984565b6040516368aebf7b60e01b81526001600160401b0360048201526200021f9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015620001cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f59190620016fc565b60408051808201909152600a8152695075626c6963526f6c6560b01b602082015260008062000984565b62000246828260466000336040518060200160405280600081525062000a6a60201b60201c565b6342e19e5f60e01b60005260046020527f643d55d460d5a1aae86a570cc022b7d04a019a39b894c5b0832a60546fd6598d805460ff1916600117905550505062001a01565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60dc6000908152600160208190527f81c2bf9f7c6e8ac9bd8bcd9d323e94b867d2f5054aff8759d884773c680ec1ec805460ff19166064179055906002906200032660dc90565b60ff1660ff16815260200190815260200160002060006200034c62000b3b60201b60201c565b60ff1660ff16815260200190815260200160002060006200037262000b4060201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600290620003a660dc90565b60ff1660ff1681526020019081526020016000206000620003cc62000b4060201b60201c565b60ff1660ff1681526020019081526020016000206000620003f262000b3b60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200042660dc90565b60ff1660ff16815260200190815260200160002060006200044c62000b4060201b60201c565b60ff1660ff16815260200190815260200160002060006200047262000b4560201b60201c565b60ff1681526020810191909152604001600020805460ff1916911515919091179055565b7f1bd07f61ef326b4de236f5b68f225f46ff76ee2c375ae31a06da201c49c70c128054606460ff1991821681179092557f879b65b464eb639409179c76c21acf6fbada740970e2300d47ea857d08cacd3c8054909116600190811790915560009182526002602052907f7673bcbb3401a7cbae68f81d40eea2cf35afdaf7ecd016ebf3f02857fcc1260a906200052a606e90565b60ff1660ff16815260200190815260200160002060006200055062000b3b60201b60201c565b60ff16815260208101919091526040016000908120805460ff19169215159290921790915560019060029062000584606490565b60ff1660ff1681526020019081526020016000206000620005aa62000b4060201b60201c565b60ff1660ff16815260200190815260200160002060006200047262000b4a60201b60201c565b60d26000908152600160208190527fcfa08e49dd9e66a4af3cdf0c2ef56f411154768307cac6dc23ee77c0386825be805460ff1916600a179055906002906200061760d290565b60ff1660ff16815260200190815260200160002060006200063d62000b4f60201b60201c565b60ff1660ff16815260200190815260200160002060006200066362000b5460201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200069760d290565b60ff1660ff1681526020019081526020016000206000620006bd62000b4f60201b60201c565b60ff1660ff1681526020019081526020016000206000620006e362000b5960201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200071760d290565b60ff1660ff16815260200190815260200160002060006200073d62000b4f60201b60201c565b60ff1660ff16815260200190815260200160002060006200076362000b5e60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200079760d290565b60ff1660ff1681526020019081526020016000206000620007bd62000b5e60201b60201c565b60ff1660ff1681526020019081526020016000206000620007e362000b3b60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200081760d290565b60ff1660ff16815260200190815260200160002060006200044c62000b3b60201b60201c565b60c86000908152600160208190527f345f7c6c888721344af4147de0834159e0b302300ba13c4e7b6c0b60d8f2314e805460ff19166064179055906002906200088460c890565b60ff1660ff1681526020019081526020016000206000620008aa62000b3b60201b60201c565b60ff1660ff1681526020019081526020016000206000620008d062000b4060201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200090460c890565b60ff1660ff16815260200190815260200160002060006200092a62000b4060201b60201c565b60ff1660ff16815260200190815260200160002060006200095062000b3b60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200058460c890565b80156200099b576200099884848462000b63565b50505b6000620009aa85858562000df1565b8051600090815260076020526040812080546001600160401b0319166001600160401b038981169182179092556009805460018101825593527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af6004840401805460039094166008026101000a928302199093169102179055905062000a6362000a348662000e2d565b604080518451602080830191909152850151151581830152815180820383018152606090910190915262000eb5565b5050505050565b62000a76828762000ec5565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d01000000000000000000000000008615150217815590506001810162000af58382620017d3565b506303fb044760e21b60005260046020527f91a409085efa2cad9dad64790cb14ef1d9b61e9173e901d74242d27ef0ced4a1805460ff1916600117905550505050505050565b606490565b606e90565b60c890565b60d290565b600a90565b601490565b601e90565b602890565b6000808062000b728662000e2d565b905062000b7f8162000eeb565b9250821562000bb45762000b938162000f79565b80602001905181019062000ba89190620018b0565b60200151915062000bb8565b8391505b856001600160401b038116158062000bd857506001600160401b03818116145b1562000c075760405163981bf42160e01b81526001600160401b03881660048201526024015b60405180910390fd5b82801562000c1f57506127106001600160401b038216105b1562000c4a57604051633119b9df60e21b81526001600160401b038816600482015260240162000bfe565b82801562000c6357506127106001600160401b03821610155b1562000c8e5760405163094fb39160e01b81526001600160401b038816600482015260240162000bfe565b600062000c9b8762001026565b905062000ca88162001069565b60000362000cd5576040516321ab17ab60e01b81526001600160401b038916600482015260240162000bfe565b60008181526007602090815260409182902054825163bc1b392d60e01b8152925162000d7c936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af415801562000d44573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d6a9190620016fc565b6001600160401b039081169116141590565b801562000da357506000818152600760205260409020546001600160401b03898116911614155b1562000de65760008181526007602052604090819020549051631660fb9360e21b81526001600160401b0390911660048201526024810182905260440162000bfe565b505050935093915050565b604080518082018252600080825260208201528151808301909252908062000e198562001026565b815260200183151581525090509392505050565b604051630f37f38f60e41b81526001600160401b038216600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401602060405180830381865af415801562000e89573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000eaf919062001909565b92915050565b62000ec1828262001092565b5050565b600680546001600160a01b0319166001600160a01b03841617905562000ec181620014ca565b60008181526003602052604080822054905163b2466acf60e01b815261010090910460ff16600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af415801562000f53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000eaf919062001923565b600081815260036020526040902060010180546060919062000f9b9062001744565b80601f016020809104026020016040519081016040528092919081815260200182805462000fc99062001744565b80156200101a5780601f1062000fee576101008083540402835291602001916200101a565b820191906000526020600020905b81548152906001019060200180831162000ffc57829003601f168201915b50505050509050919050565b600080829050601f8151111562001054578260405163305a27a960e01b815260040162000bfe919062001941565b8051620010618262001991565b179392505050565b600060ff8216601f81111562000eaf57604051632cd44ac360e21b815260040160405180910390fd5b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015620010e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200110c9190620019b6565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af415801562001162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001188919062001923565b620011d65760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e454400000000604482015260640162000bfe565b600083815260036020526040908190208054915163037c8cb160e51b815261010090920460ff1660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af415801562001240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001266919062001923565b620012b45760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f43524541544544000000604482015260640162000bfe565b33436000620012c38562001637565b620012d0576064620012e6565b60ff808616600090815260016020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b919091021785556000888152600360205260409020909150600101620013728782620017d3565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015620013e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140c9190620019b6565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156200145d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014839190620019db565b6040805160ff938416815260ff19929092166020830152918416818301526001600160a01b038616606082015232608082015290519081900360a00190a150505050505050565b6005546001600160a01b031615620015055760055460405163fcdbf2d960e01b81526001600160a01b03909116600482015260240162000bfe565b6001600160a01b0381166200152d5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620015655760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000bfe565b600580546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263350fb35160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015620015e2575060408051601f3d908101601f19168201909252620015df9181019062001923565b60015b6200160c5760405163fdeac91f60e01b81526001600160a01b038216600482015260240162000bfe565b8062000ec15760405163fdeac91f60e01b81526001600160a01b038316600482015260240162000bfe565b60ff81811660009081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf9060240162000f35565b80516001600160a01b03811681146200169d57600080fd5b919050565b600080600060608486031215620016b857600080fd5b620016c38462001685565b9250620016d36020850162001685565b60408501519092506001600160601b0381168114620016f157600080fd5b809150509250925092565b6000602082840312156200170f57600080fd5b81516001600160401b03811681146200172757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200175957607f821691505b6020821081036200177a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620017ce57600081815260208120601f850160051c81016020861015620017a95750805b601f850160051c820191505b81811015620017ca57828155600101620017b5565b5050505b505050565b81516001600160401b03811115620017ef57620017ef6200172e565b620018078162001800845462001744565b8462001780565b602080601f8311600181146200183f5760008415620018265750858301515b600019600386901b1c1916600185901b178555620017ca565b600085815260208120601f198616915b8281101562001870578886015182559484019460019091019084016200184f565b50858210156200188f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b805180151581146200169d57600080fd5b600060408284031215620018c357600080fd5b604080519081016001600160401b0381118282101715620018e857620018e86200172e565b60405282518152620018fd602084016200189f565b60208201529392505050565b6000602082840312156200191c57600080fd5b5051919050565b6000602082840312156200193657600080fd5b62001727826200189f565b600060208083528351808285015260005b81811015620019705785810183015185820160400152820162001952565b506000604082860101526040601f19601f8301168501019250505092915050565b805160208083015191908110156200177a5760001960209190910360031b1b16919050565b600060208284031215620019c957600080fd5b815160ff811681146200172757600080fd5b600060208284031215620019ee57600080fd5b815160ff19811681146200172757600080fd5b6150fb8062001a116000396000f3fe608060405234801561001057600080fd5b506004361061046a5760003560e01c80637cef48421161024c578063b428b0b011610146578063d2f21a29116100c3578063e9e96c7011610087578063e9e96c7014610a81578063f48016ce14610abf578063f7bc431c14610ad2578063f8b648ac14610649578063fe1f18d614610ae557600080fd5b8063d2f21a2914610a48578063d5b221bd146105c3578063d78a83b114610a5b578063dee3262314610a6e578063e8951ee61461059557600080fd5b8063bd5947e31161010a578063bd5947e3146109fe578063bf1db3f914610a11578063bf7e214f14610a24578063c2f1a2d2146105c3578063cd50b97e14610a3557600080fd5b8063b428b0b0146109b2578063b68ec14614610649578063b7d2b162146109c5578063bc8d4000146109d8578063bd4fe04e146109eb57600080fd5b80638fb36037116101d45780639df0280b116101985780639df0280b14610595578063a13df2ab146108c8578063a5961b4c146108db578063a76ee0181461098c578063a89896751461099f57600080fd5b80638fb360371461085b578063950ad70b1461087c578063954fab2c1461088f5780639a960d52146108a25780639d7421f4146108b557600080fd5b80638793a9ac1161021b5780638793a9ac1461080d578063893d20e8146108205780638d4eae9d146108285780638dc77f42146105955780638eaa6ac01461083b57600080fd5b80637cef4842146107c757806382f65adb14610649578063835933c9146107da57806386f0c47b146107ed57600080fd5b8063384c9a57116103685780635d4345cc116102e557806373539127116102a9578063735391271461078657806375b238fc1461079957806375c82776146107a15780637a415802146105c35780637a9e5e4b146107b457600080fd5b80635d4345cc146105955780635dfa73db14610737578063644c45e01461074057806364c55d9c1461076b5780636fa298531461077e57600080fd5b806340529b0f1161032c57806340529b0f14610595578063468a1867146106e057806354f6127f146106f357806357f96805146107135780635ab1bd531461072657600080fd5b8063384c9a571461067957806338a699a41461068c578063392f5f641461069f5780633ca7c02a146106a75780633fd85561146106cd57600080fd5b8063138461e0116103f657806322f46b84116103ba57806322f46b84146106105780632f61088a1461062357806331d311a71461063657806333bb0a971461064957806337f135d71461065c57600080fd5b8063138461e0146105a8578063167bd395146105b05780631c45fe7a146105c35780631e23a2f5146105d65780631eff4b22146105e957600080fd5b80630b24cf5f1161043d5780630b24cf5f146105315780630d358181146105465780630f526f7d1461056c5780630fec111c1461057f57806310203d2c1461059557600080fd5b806301ffc9a71461046f57806302cd3071146104b157806303014974146104d657806309648a9d146104f7575b600080fd5b61049c61047d366004613754565b6001600160e01b03191660009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b600c546001600160a01b03165b6040516001600160a01b0390911681526020016104a8565b6104e96104e4366004613796565b610af8565b6040519081526020016104a8565b61051f6105053660046137b3565b600090815260036020526040902054610100900460ff1690565b60405160ff90911681526020016104a8565b61054461053f3660046139bd565b610b1f565b005b61051f610554366004613a02565b60ff9081166000908152600160205260409020541690565b61054461057a366004613a1f565b610b63565b610587610b80565b6040516104a8929190613aa8565b6105446105a3366004613a1f565b610d02565b610544610d17565b6105446105be366004613b4f565b610f39565b6105446105d1366004613ca5565b610fe1565b6105446105e4366004613d19565b611022565b6104e97f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61054461061e366004613d7a565b611048565b610544610631366004613e44565b61105e565b6104e9610644366004613e89565b6110f9565b610544610657366004613ea6565b61118a565b610664600081565b60405163ffffffff90911681526020016104a8565b61049c610687366004613796565b6111b5565b61049c61069a3660046137b3565b61134b565b6009546104e9565b6106b56001600160401b0381565b6040516001600160401b0390911681526020016104a8565b6106b56106db3660046137b3565b6113d6565b6104e96106ee366004613f07565b61141b565b6107066107013660046137b3565b611478565b6040516104a89190613f24565b610544610721366004613fda565b61151d565b6005546001600160a01b03166104be565b6106b561271081565b600554600160a01b90046001600160601b03166040516001600160601b0390911681526020016104a8565b6105446107793660046140da565b611545565b6104be61156d565b610544610794366004614126565b61160f565b6106b5600081565b6105446107af366004614197565b611637565b6105446107c2366004613e89565b61165d565b6105446107d53660046141ef565b6116d3565b6104e96107e8366004613796565b61175d565b6108006107fb366004613796565b6117a0565b6040516104a8919061420d565b61054461081b366004614226565b611845565b6104be61185a565b6105446108363660046142e5565b611937565b61084e6108493660046137b3565b61195d565b6040516104a89190614374565b610863611a9e565b6040516001600160e01b031990911681526020016104a8565b61054461088a3660046143a8565b611ac2565b61054461089d366004614400565b611b24565b6105446108b036600461459e565b611b4a565b6105446108c33660046145e5565b611b70565b6104e96108d6366004613f07565b611b96565b61097f6108e93660046137b3565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260036020908152604091829020825160a081018452905460ff8082168352610100820416928201929092526001600160a01b03620100008304169281019290925263ffffffff600160b01b820481166060840152600160d01b90910416608082015290565b6040516104a8919061463c565b61054461099a36600461464a565b611bc3565b6105446109ad366004614691565b611c5e565b61049c6109c03660046146d1565b611d4f565b61049c6109d33660046146d1565b611f43565b6105446109e63660046146ff565b6120ce565b6105446109f9366004614744565b6120f4565b610544610a0c366004614785565b61211c565b61049c610a1f366004613a02565b612144565b6000546001600160a01b03166104be565b610544610a43366004613d7a565b612191565b610544610a56366004613a1f565b6121a8565b6104be610a693660046147c5565b6121bf565b610544610a7c366004613a1f565b6121e8565b61049c610a8f366004614691565b60ff9283166000908152600260209081526040808320948616835293815283822092851682529190915220541690565b6104e9610acd366004614801565b6121ff565b610544610ae0366004613e89565b612283565b610544610af3366004613a1f565b6122ff565b6001600160401b0381166000908152600860205260408120610b1990612314565b92915050565b610b2c335b60003661231e565b610b5f610b3a836078612417565b82604051602001610b4b919061482f565b604051602081830303815290604052612463565b5050565b610b6c33610b24565b610b5f610b7a83608c612417565b8261246d565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610c036005546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610c4b61185a565b6001600160a01b03168152602001826001018054610c689061488f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c949061488f565b8015610ce15780601f10610cb657610100808354040283529160200191610ce1565b820191906000526020600020905b815481529060010190602001808311610cc457829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b610d0b33610b24565b610b5f610b7a8361141b565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d91906148c9565b15610de4576005546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6005546001600160a01b0316610e0d5760405163cf29926160e01b815260040160405180910390fd5b60055460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a91906148c9565b610ea2576040516372657a5160e01b81526001600160a01b0382166004820152602401610ddb565b600554604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1091906148e6565b600560146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b610f4233610b24565b610f4e61069a836110f9565b610f76576040516325b6f39560e21b81526001600160a01b0383166004820152602401610ddb565b600b5460405163167bd39560e01b81526001600160a01b03848116600483015283151560248301529091169063167bd39590604401600060405180830381600087803b158015610fc557600080fd5b505af1158015610fd9573d6000803e3d6000fd5b505050505050565b610fea33610b24565b61101c610ff68561141b565b836040516020016110079190614903565b60405160208183030381529060405283612477565b50505050565b61102b33610b24565b610b5f611037836110f9565b82604051602001610b4b919061420d565b61105133610b24565b610b5f8282600180612482565b61106733610b24565b6040516355ee627560e01b81526001600160c01b031983166004820152610b5f9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af41580156110c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e89190614956565b82604051602001610b4b919061496f565b604051637a400b6760e11b8152601e6004820152606082901b6bffffffffffffffffffffffff1916602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af4158015611166573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190614956565b61119333610b24565b6111b061119f8461141b565b82604051602001610b4b9190614903565b505050565b600033816111c28461175d565b90506111cd8161134b565b6111f457604051627a416f60e01b81526001600160401b0385166004820152602401610ddb565b6001600160401b0384166000908152600860205260409020611216908361252b565b1561134157600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063fe0776f59073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac919061499d565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0385166024820152604401600060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b5050506001600160401b038516600090815260086020526040902061133691508361254d565b506001949350505050565b5060009392505050565b60008181526003602052604080822054905163b2466acf60e01b815261010090910460ff16600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af41580156113b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1991906148c9565b6000600982815481106113eb576113eb6149ba565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d25b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401611149565b60008181526003602052604090206001018054606091906114989061488f565b80601f01602080910402602001604051908101604052809291908181526020018280546114c49061488f565b80156115115780601f106114e657610100808354040283529160200191611511565b820191906000526020600020905b8154815290600101906020018083116114f457829003601f168201915b50505050509050919050565b61152633610b24565b610b5f61153483608c612417565b82604051602001610b4b91906149d0565b61154e33610b24565b6111b061155c84606e612417565b836040516020016110079190614a73565b6005546040805163a3bcd81d60e01b815260048101919091526015604482015274436f6d706f6e656e744f776e65725365727669636560581b6064820152600360248201526000916001600160a01b03169063a3bcd81d906084015b602060405180830381865afa1580156115e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160a9190614b75565b905090565b61161833610b24565b610b5f61162683606e612417565b82604051602001610b4b9190614a73565b61164033610b24565b61101c61164c8561141b565b836040516020016110079190614b92565b60005433906001600160a01b031681146116945760405162d1953b60e31b81526001600160a01b0382166004820152602401610ddb565b816001600160a01b03163b6000036116ca576040516361798f2f60e11b81526001600160a01b0383166004820152602401610ddb565b610b5f82612562565b6116dc33610b24565b6040516355ee627560e01b81526001600160c01b031983166004820152610b5f9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611739573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190614956565b604051630f37f38f60e41b81526001600160401b038216600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401611149565b604080518082018252600080825260208201529051630f37f38f60e41b81526001600160401b03831660048201526118329073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401602060405180830381865af415801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107019190614956565b806020019051810190610b199190614bc2565b61184e33610b24565b610b5f610b7a8361175d565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e391906148c9565b1561192757600554604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a906024016115c9565b506006546001600160a01b031690565b61194033610b24565b610b5f61194c83611b96565b82604051602001610b4b9190614bfa565b6040805160e081018252600091810182815260608083018490526080830184905260a0830184905260c083019390935281526020810191909152600082815260036020908152604091829020825160e081018452815460ff80821695830195865261010082041660608301526001600160a01b0362010000820416608083015263ffffffff600160b01b8204811660a0840152600160d01b9091041660c08201529283526001810180549192840191611a159061488f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a419061488f565b8015611a8e5780601f10611a6357610100808354040283529160200191611a8e565b820191906000526020600020905b815481529060010190602001808311611a7157829003601f168201915b5050505050815250509050919050565b60008054600160a01b900460ff16611ab65750600090565b50638fb3603760e01b90565b611acb33610b24565b6000611ad9848460006125b6565b5090506000611ae9858584612821565b9050611b1d611af78661175d565b82604051602001611b08919061420d565b60405160208183030381529060405285612477565b5050505050565b611b2d33610b24565b6111b0611b3984611b96565b836040516020016110079190614bfa565b611b5333610b24565b6111b0611b5f8461141b565b836040516020016110079190614c9f565b611b7933610b24565b6111b0611b858461141b565b82604051602001610b4b9190614b92565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660dc611444565b611bcc33610b24565b6040516355ee627560e01b81526001600160c01b0319841660048201526111b09073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4d9190614956565b83604051602001611007919061496f565b60ff8381166000908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015611cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce791906148c9565b15611cf157505050565b60ff8084166000908152600260209081526040808320868516845282528083208585168452909152902054166111b057604051636bb20ea760e01b815260ff8085166004830152808416602483015282166044820152606401610ddb565b6000611d5a33610b24565b6000611d658461175d565b9050611d708161134b565b611d9857604051636777365b60e01b81526001600160401b0385166004820152602401610ddb565b600081815260036020526040902054611dc790610100900460ff16611dbb606490565b60ff9081169116141590565b15611df05760405163fe229d5d60e01b81526001600160401b0385166004820152602401610ddb565b6001600160401b0384166000908152600860205260409020611e12908461252b565b61134157600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea7919061499d565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038616602482015260006044820152606401600060405180830381600087803b158015611efe57600080fd5b505af1158015611f12573d6000803e3d6000fd5b5050506001600160401b0385166000908152600860205260409020611f3891508461285d565b506001915050610b19565b6000611f4e33610b24565b6000611f598461175d565b9050611f648161134b565b611f8c57604051634cee277360e11b81526001600160401b0385166004820152602401610ddb565b6001600160401b0384166000908152600860205260409020611fae908461252b565b1561134157600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612044919061499d565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0386166024820152604401600060405180830381600087803b15801561209457600080fd5b505af11580156120a8573d6000803e3d6000fd5b5050506001600160401b0385166000908152600860205260409020611f3891508461254d565b6120d733610b24565b610b5f6120e38361141b565b82604051602001610b4b9190614c9f565b6120fd33610b24565b6111b061210b84608c612417565b8360405160200161100791906149d0565b61212533610b24565b6111b0612133846078612417565b83604051602001611007919061482f565b60ff81811660009081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401611395565b61219a33610b24565b610b5f828260006001612482565b6121b133610b24565b610b5f610b7a836078612417565b6001600160401b03821660009081526008602052604081206121e19083612872565b9392505050565b6121f133610b24565b610b5f610b7a83606e612417565b604051637a400b6760e11b815260ff8316600482015260ff198216602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af415801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e19190614956565b61228c33610b24565b600c546001600160a01b0316156122dd5760405162461bcd60e51b8152602060048201526015602482015274125b9cdd185b98d954995859195c881a5cc81cd95d605a1b6044820152606401610ddb565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b61230833610b24565b610b5f610b7a83611b96565b6000610b19825490565b6000806123546123366000546001600160a01b031690565b863061234660046000898b614df6565b61234f91614e20565b61287e565b9150915081611b1d5763ffffffff8116156123f4576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906123af90889088908890600401614e50565b600060405180830381600087803b1580156123c957600080fd5b505af11580156123dd573d6000803e3d6000fd5b50506000805460ff60a01b1916905550611b1d9050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610ddb565b604051630711349960e31b81526001600160601b038316600482015260ff8216602482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__90633889a4c890604401612242565b610b5f828261298a565b610b5f8282612dac565b6111b08383836130e0565b8015612496576124938484846125b6565b50505b60006124a3858585612821565b80516000908152600760205260408120805467ffffffffffffffff19166001600160401b038981169182179092556009805460018101825593527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af6004840401805460039094166008026101000a9283021990931691021790559050611b1d6110378661175d565b6001600160a01b038116600090815260018301602052604081205415156121e1565b60006121e1836001600160a01b03841661357b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60008060006125c48661175d565b90506125cf8161134b565b925082156125fe576125e081611478565b8060200190518101906125f39190614bc2565b602001519150612602565b8391505b856001600160401b038116158061262157506001600160401b03818116145b1561264a5760405163981bf42160e01b81526001600160401b0388166004820152602401610ddb565b82801561266157506127106001600160401b038216105b1561268a57604051633119b9df60e21b81526001600160401b0388166004820152602401610ddb565b8280156126a257506127106001600160401b03821610155b156126cb5760405163094fb39160e01b81526001600160401b0388166004820152602401610ddb565b60006126d687613675565b90506126e1816136b3565b60000361270c576040516321ab17ab60e01b81526001600160401b0389166004820152602401610ddb565b60008181526007602090815260409182902054825163bc1b392d60e01b815292516127af936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af4158015612779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279d919061499d565b6001600160401b039081169116141590565b80156127d557506000818152600760205260409020546001600160401b03898116911614155b156128165760008181526007602052604090819020549051631660fb9360e21b81526001600160401b03909116600482015260248101829052604401610ddb565b505050935093915050565b6040805180820190915260008082526020820152604051806040016040528061284985613675565b815260200183151581525090509392505050565b60006121e1836001600160a01b0384166136db565b60006121e1838361372a565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516128ed9190614e90565b600060405180830381855afa9150503d8060008114612928576040519150601f19603f3d011682016040523d82523d6000602084013e61292d565b606091505b5091509150811561297f57604081511061295f57808060200190518101906129559190614eac565b909450925061297f565b602081511061297f578080602001905181019061297c91906148c9565b93505b505094509492505050565b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156129dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a019190614edb565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af4158015612a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7a91906148c9565b612ac65760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e4544000000006044820152606401610ddb565b600083815260036020526040908190208054915163037c8cb160e51b815261010090920460ff1660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015612b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5391906148c9565b612b9f5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f435245415445440000006044820152606401610ddb565b33436000612bac85612144565b612bb7576064612bcd565b60ff808616600090815260016020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b919091021785556000888152600360205260409020909150600101612c578782614f3e565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cee9190614edb565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612d3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d629190614ffd565b6040805160ff938416815260ff199092166020830152918416918101919091526001600160a01b038516606082015232608082015260a0015b60405180910390a150505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015612dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e2291906148c9565b612e6e5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3034303a53544154455f554e444546494e45440000006044820152606401610ddb565b600082815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015612eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612efe91906148c9565b612f4a5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3034313a4e4f545f4558495354494e470000000000006044820152606401610ddb565b8154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b90910416612f8e4390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018790527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130449190614edb565b604051630713cfad60e31b81526004810189905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015613094573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b89190614ffd565b87868632876040516130d0979695949392919061501a565b60405180910390a1505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015613132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315691906148c9565b6131a25760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3032303a53544154455f554e444546494e45440000006044820152606401610ddb565b600083815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af415801561320e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061323291906148c9565b61327e5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3032313a4e4f545f4558495354494e470000000000006044820152606401610ddb565b60008581526003602052604090206001016132998582614f3e565b508154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166132de4390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018890527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133949190614edb565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156133e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134089190614ffd565b8786863287604051613420979695949392919061501a565b60405180910390a1604051634b00e98f60e11b8152600481018890527f7bd0ab7f1746bd20a814d6705a46876c84f1aa2d35c80d8c173e268bd6d4b26c9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af415801561349a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134be9190614edb565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801561350e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135329190614ffd565b6040805160ff938416815260ff199092166020830152918816918101919091526001600160a01b038416606082015232608082015263ffffffff831660a082015260c001612d9b565b6000818152600183016020526040812054801561366457600061359f60018361506a565b85549091506000906135b39060019061506a565b90508082146136185760008660000182815481106135d3576135d36149ba565b90600052602060002001549050808760000184815481106135f6576135f66149ba565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806136295761362961508b565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b19565b6000915050610b19565b5092915050565b600080829050601f815111156136a0578260405163305a27a960e01b8152600401610ddb9190613f24565b80516136ab826150a1565b179392505050565b600060ff8216601f811115610b1957604051632cd44ac360e21b815260040160405180910390fd5b600081815260018301602052604081205461372257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b19565b506000610b19565b6000826000018281548110613741576137416149ba565b9060005260206000200154905092915050565b60006020828403121561376657600080fd5b81356001600160e01b0319811681146121e157600080fd5b6001600160401b038116811461379357600080fd5b50565b6000602082840312156137a857600080fd5b81356121e18161377e565b6000602082840312156137c557600080fd5b5035919050565b6001600160601b038116811461379357600080fd5b80356137ec816137cc565b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613829576138296137f1565b60405290565b604051608081016001600160401b0381118282101715613829576138296137f1565b60405161010081016001600160401b0381118282101715613829576138296137f1565b60405161014081016001600160401b0381118282101715613829576138296137f1565b60405161020081016001600160401b0381118282101715613829576138296137f1565b6001600160a01b038116811461379357600080fd5b80356137ec816138ba565b6000604082840312156138ec57600080fd5b6138f4613807565b9050813581526020820135602082015292915050565b801515811461379357600080fd5b80356137ec8161390a565b600060c0828403121561393557600080fd5b60405160a081018181106001600160401b0382111715613957576139576137f1565b6040529050808235613968816137cc565b81526020830135613978816138ba565b602082015261398a84604085016138da565b6040820152608083013561399d8161390a565b606082015260a08301356139b0816138ba565b6080919091015292915050565b60008060e083850312156139d057600080fd5b82356139db816137cc565b91506139ea8460208501613923565b90509250929050565b60ff8116811461379357600080fd5b600060208284031215613a1457600080fd5b81356121e1816139f3565b60008060408385031215613a3257600080fd5b8235613a3d816137cc565b91506020830135613a4d816139f3565b809150509250929050565b60005b83811015613a73578181015183820152602001613a5b565b50506000910152565b60008151808452613a94816020860160208601613a58565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151613aec60a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152613b32610120840182613a7c565b90508281036020840152613b468185613a7c565b95945050505050565b60008060408385031215613b6257600080fd5b8235613b6d816138ba565b91506020830135613a4d8161390a565b63ffffffff8116811461379357600080fd5b600082601f830112613ba057600080fd5b81356001600160401b0380821115613bba57613bba6137f1565b604051601f8301601f19908116603f01168101908282118183101715613be257613be26137f1565b81604052838152866020858801011115613bfb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803564ffffffffff811681146137ec57600080fd5b600060808284031215613c4257600080fd5b613c4a61382f565b90508135613c5781613b7d565b81526020828101359082015260408201356001600160401b03811115613c7c57600080fd5b613c8884828501613b8f565b604083015250613c9a60608301613c1b565b606082015292915050565b60008060008060808587031215613cbb57600080fd5b8435613cc6816137cc565b93506020850135613cd681613b7d565b925060408501356001600160401b03811115613cf157600080fd5b613cfd87828801613c30565b9250506060850135613d0e816139f3565b939692955090935050565b6000808284036060811215613d2d57600080fd5b8335613d38816138ba565b92506040601f1982011215613d4c57600080fd5b50613d55613807565b602084013581526040840135613d6a8161390a565b6020820152919491935090915050565b60008060408385031215613d8d57600080fd5b8235613d988161377e565b915060208301356001600160401b03811115613db357600080fd5b613dbf85828601613b8f565b9150509250929050565b6001600160c01b03198116811461379357600080fd5b80356137ec81613dc9565b600060408284031215613dfc57600080fd5b613e04613807565b90508135613e11816137cc565b815260208201356001600160401b03811115613e2c57600080fd5b613e3884828501613b8f565b60208301525092915050565b60008060408385031215613e5757600080fd5b8235613e6281613dc9565b915060208301356001600160401b03811115613e7d57600080fd5b613dbf85828601613dea565b600060208284031215613e9b57600080fd5b81356121e1816138ba565b600080600060608486031215613ebb57600080fd5b8335613ec6816137cc565b92506020840135613ed681613b7d565b915060408401356001600160401b03811115613ef157600080fd5b613efd86828701613c30565b9150509250925092565b600060208284031215613f1957600080fd5b81356121e1816137cc565b6020815260006121e16020830184613a7c565b60006101608284031215613f4a57600080fd5b613f52613851565b9050613f5d826137e1565b8152613f6b602083016138cf565b602082015260408201356040820152613f8783606084016138da565b6060820152613f998360a084016138da565b6080820152613fab8360e084016138da565b60a0820152613fbd6101208301613918565b60c0820152613fcf61014083016138cf565b60e082015292915050565b6000806101808385031215613fee57600080fd5b8235613ff9816137cc565b91506139ea8460208501613f37565b6000610200828403121561401b57600080fd5b614023613874565b905061402e826138cf565b815261403c602083016138cf565b602082015261404d604083016137e1565b604082015261405e606083016137e1565b606082015261407083608084016138da565b60808201526140828360c084016138da565b60a0820152610100614096848285016138da565b60c08301526140a98461014085016138da565b60e08301526140bc8461018085016138da565b908201526140ce836101c084016138da565b61012082015292915050565b600080600061024084860312156140f057600080fd5b83356140fb816137cc565b925061410a8560208601614008565b915061022084013561411b816139f3565b809150509250925092565b600080610220838503121561413a57600080fd5b8235614145816137cc565b91506139ea8460208501614008565b60006080828403121561416657600080fd5b61416e61382f565b9050813581526020820135602082015260408201356001600160401b03811115613c7c57600080fd5b600080600080608085870312156141ad57600080fd5b84356141b8816137cc565b935060208501356141c881613b7d565b925060408501356001600160401b038111156141e357600080fd5b613cfd87828801614154565b6000806040838503121561420257600080fd5b8235613a3d81613dc9565b8151815260208083015115159082015260408101610b19565b6000806040838503121561423957600080fd5b8235613a3d8161377e565b6000610120828403121561425757600080fd5b61425f613851565b905061426a826137e1565b815261427983602084016138da565b602082015260608201356001600160401b0381111561429757600080fd5b6142a384828501613b8f565b6040830152506080820135606082015260a0820135608082015260c082013560a08201526142d360e08301613c1b565b60c0820152613fcf6101008301613c1b565b600080604083850312156142f857600080fd5b8235614303816137cc565b915060208301356001600160401b0381111561431e57600080fd5b613dbf85828601614244565b60ff815116825260ff602082015116602083015260018060a01b036040820151166040830152606081015163ffffffff808216606085015280608084015116608085015250505050565b6020815261438660208201835161432a565b6000602083015160c0808401526143a060e0840182613a7c565b949350505050565b6000806000606084860312156143bd57600080fd5b83356143c88161377e565b925060208401356001600160401b038111156143e357600080fd5b6143ef86828701613b8f565b925050604084013561411b816139f3565b60008060006060848603121561441557600080fd5b8335614420816137cc565b925060208401356001600160401b0381111561443b57600080fd5b6143ef86828701614244565b803561ffff811681146137ec57600080fd5b6000610200828403121561446c57600080fd5b614474613897565b905061447f826137e1565b815261448d602083016137e1565b602082015261449e60408301613ddf565b60408201526144af60608301613ddf565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b03808211156144f857600080fd5b61450486838701613b8f565b8385015261012092508285013591508082111561452057600080fd5b5061452d85828601613b8f565b828401525050610140614541818401614447565b90820152610160614553838201614447565b9082015261018082810135908201526101a0614570818401613c1b565b908201526101c0614582838201613c1b565b908201526101e0614594838201613c1b565b9082015292915050565b6000806000606084860312156145b357600080fd5b83356145be816137cc565b925060208401356001600160401b038111156145d957600080fd5b6143ef86828701614459565b6000806000606084860312156145fa57600080fd5b8335614605816137cc565b9250602084013561461581613b7d565b915060408401356001600160401b0381111561463057600080fd5b613efd86828701614154565b60a08101610b19828461432a565b60008060006060848603121561465f57600080fd5b833561466a81613dc9565b925060208401356001600160401b0381111561468557600080fd5b6143ef86828701613dea565b6000806000606084860312156146a657600080fd5b83356146b1816139f3565b925060208401356146c1816139f3565b9150604084013561411b816139f3565b600080604083850312156146e457600080fd5b82356146ef8161377e565b91506020830135613a4d816138ba565b6000806040838503121561471257600080fd5b823561471d816137cc565b915060208301356001600160401b0381111561473857600080fd5b613dbf85828601614459565b60008060006101a0848603121561475a57600080fd5b8335614765816137cc565b92506147748560208601613f37565b915061018084013561411b816139f3565b6000806000610100848603121561479b57600080fd5b83356147a6816137cc565b92506147b58560208601613923565b915060e084013561411b816139f3565b600080604083850312156147d857600080fd5b82356147e38161377e565b946020939093013593505050565b60ff198116811461379357600080fd5b6000806040838503121561481457600080fd5b823561481f816139f3565b91506020830135613a4d816147f1565b81516001600160601b031681526020808301516001600160a01b039081168284015260408085015180519185019190915291820151606084015260c0830191906060850151151560808501528060808601511660a0850152505092915050565b600181811c908216806148a357607f821691505b6020821081036148c357634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156148db57600080fd5b81516121e18161390a565b6000602082840312156148f857600080fd5b81516121e1816137cc565b6020815263ffffffff825116602082015260208201516040820152600060408301516080606084015261493960a0840182613a7c565b905064ffffffffff60608501511660808401528091505092915050565b60006020828403121561496857600080fd5b5051919050565b602081526001600160601b038251166020820152600060208301516040808401526143a06060840182613a7c565b6000602082840312156149af57600080fd5b81516121e18161377e565b634e487b7160e01b600052603260045260246000fd5b81516001600160601b031681526020808301516001600160a01b03169082015260408083015190820152606080830151610160830191614a1c9084018280518252602090810151910152565b506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c0830151151561012083015260e08301516001600160a01b03811661014084015261366e565b81516001600160a01b0316815261020081016020830151614a9f60208401826001600160a01b03169052565b506040830151614aba60408401826001600160601b03169052565b506060830151614ad560608401826001600160601b03169052565b506080830151614af2608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c0830151610100614b288185018380518252602090810151910152565b60e085015180516101408601526020908101516101608601529085015180516101808601528101516101a085015261012085015180516101c0860152908101516101e0850152905061366e565b600060208284031215614b8757600080fd5b81516121e1816138ba565b602081528151602082015260208201516040820152600060408301516080606084015261493960a0840182613a7c565b600060408284031215614bd457600080fd5b614bdc613807565b825181526020830151614bee8161390a565b60208201529392505050565b602081526001600160601b03825116602082015260006020830151614c2c604084018280518252602090810151910152565b506040830151610120806080850152614c49610140850183613a7c565b9150606085015160a0850152608085015160c085015260a085015160e085015260c0850151614c8261010086018264ffffffffff169052565b5060e085015164ffffffffff8116858301525b5090949350505050565b60208152614cb96020820183516001600160601b03169052565b60006020830151614cd560408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e08301516101008181850152808501519150506102006101208181860152614d4d610220860184613a7c565b9250808601519050610140601f198685030181870152614d6d8483613a7c565b935080870151915050610160614d888187018361ffff169052565b8601519050610180614d9f8682018361ffff169052565b8601516101a08681019190915286015190506101c0614dc68187018364ffffffffff169052565b86015190506101e0614de08682018364ffffffffff169052565b86015164ffffffffff8116838701529050614c95565b60008085851115614e0657600080fd5b83861115614e1357600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015614e485780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251614ea2818460208701613a58565b9190910192915050565b60008060408385031215614ebf57600080fd5b8251614eca8161390a565b6020840151909250613a4d81613b7d565b600060208284031215614eed57600080fd5b81516121e1816139f3565b601f8211156111b057600081815260208120601f850160051c81016020861015614f1f5750805b601f850160051c820191505b81811015610fd957828155600101614f2b565b81516001600160401b03811115614f5757614f576137f1565b614f6b81614f65845461488f565b84614ef8565b602080601f831160018114614fa05760008415614f885750858301515b600019600386901b1c1916600185901b178555610fd9565b600085815260208120601f198616915b82811015614fcf57888601518255948401946001909101908401614fb0565b5085821015614fed5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561500f57600080fd5b81516121e1816147f1565b60ff978816815260ff1996909616602087015293861660408601529190941660608401526001600160a01b03938416608084015290921660a082015263ffffffff9190911660c082015260e00190565b81810381811115610b1957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b805160208083015191908110156148c35760001960209190910360031b1b1691905056fea26469706673582212209ba41bfa289c5b04a620358cf09da995949cb91983da35cd051118bc8a627dc164736f6c63430008140033",
3090
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061046a5760003560e01c80637cef48421161024c578063b428b0b011610146578063d2f21a29116100c3578063e9e96c7011610087578063e9e96c7014610a81578063f48016ce14610abf578063f7bc431c14610ad2578063f8b648ac14610649578063fe1f18d614610ae557600080fd5b8063d2f21a2914610a48578063d5b221bd146105c3578063d78a83b114610a5b578063dee3262314610a6e578063e8951ee61461059557600080fd5b8063bd5947e31161010a578063bd5947e3146109fe578063bf1db3f914610a11578063bf7e214f14610a24578063c2f1a2d2146105c3578063cd50b97e14610a3557600080fd5b8063b428b0b0146109b2578063b68ec14614610649578063b7d2b162146109c5578063bc8d4000146109d8578063bd4fe04e146109eb57600080fd5b80638fb36037116101d45780639df0280b116101985780639df0280b14610595578063a13df2ab146108c8578063a5961b4c146108db578063a76ee0181461098c578063a89896751461099f57600080fd5b80638fb360371461085b578063950ad70b1461087c578063954fab2c1461088f5780639a960d52146108a25780639d7421f4146108b557600080fd5b80638793a9ac1161021b5780638793a9ac1461080d578063893d20e8146108205780638d4eae9d146108285780638dc77f42146105955780638eaa6ac01461083b57600080fd5b80637cef4842146107c757806382f65adb14610649578063835933c9146107da57806386f0c47b146107ed57600080fd5b8063384c9a57116103685780635d4345cc116102e557806373539127116102a9578063735391271461078657806375b238fc1461079957806375c82776146107a15780637a415802146105c35780637a9e5e4b146107b457600080fd5b80635d4345cc146105955780635dfa73db14610737578063644c45e01461074057806364c55d9c1461076b5780636fa298531461077e57600080fd5b806340529b0f1161032c57806340529b0f14610595578063468a1867146106e057806354f6127f146106f357806357f96805146107135780635ab1bd531461072657600080fd5b8063384c9a571461067957806338a699a41461068c578063392f5f641461069f5780633ca7c02a146106a75780633fd85561146106cd57600080fd5b8063138461e0116103f657806322f46b84116103ba57806322f46b84146106105780632f61088a1461062357806331d311a71461063657806333bb0a971461064957806337f135d71461065c57600080fd5b8063138461e0146105a8578063167bd395146105b05780631c45fe7a146105c35780631e23a2f5146105d65780631eff4b22146105e957600080fd5b80630b24cf5f1161043d5780630b24cf5f146105315780630d358181146105465780630f526f7d1461056c5780630fec111c1461057f57806310203d2c1461059557600080fd5b806301ffc9a71461046f57806302cd3071146104b157806303014974146104d657806309648a9d146104f7575b600080fd5b61049c61047d366004613754565b6001600160e01b03191660009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b600c546001600160a01b03165b6040516001600160a01b0390911681526020016104a8565b6104e96104e4366004613796565b610af8565b6040519081526020016104a8565b61051f6105053660046137b3565b600090815260036020526040902054610100900460ff1690565b60405160ff90911681526020016104a8565b61054461053f3660046139bd565b610b1f565b005b61051f610554366004613a02565b60ff9081166000908152600160205260409020541690565b61054461057a366004613a1f565b610b63565b610587610b80565b6040516104a8929190613aa8565b6105446105a3366004613a1f565b610d02565b610544610d17565b6105446105be366004613b4f565b610f39565b6105446105d1366004613ca5565b610fe1565b6105446105e4366004613d19565b611022565b6104e97f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61054461061e366004613d7a565b611048565b610544610631366004613e44565b61105e565b6104e9610644366004613e89565b6110f9565b610544610657366004613ea6565b61118a565b610664600081565b60405163ffffffff90911681526020016104a8565b61049c610687366004613796565b6111b5565b61049c61069a3660046137b3565b61134b565b6009546104e9565b6106b56001600160401b0381565b6040516001600160401b0390911681526020016104a8565b6106b56106db3660046137b3565b6113d6565b6104e96106ee366004613f07565b61141b565b6107066107013660046137b3565b611478565b6040516104a89190613f24565b610544610721366004613fda565b61151d565b6005546001600160a01b03166104be565b6106b561271081565b600554600160a01b90046001600160601b03166040516001600160601b0390911681526020016104a8565b6105446107793660046140da565b611545565b6104be61156d565b610544610794366004614126565b61160f565b6106b5600081565b6105446107af366004614197565b611637565b6105446107c2366004613e89565b61165d565b6105446107d53660046141ef565b6116d3565b6104e96107e8366004613796565b61175d565b6108006107fb366004613796565b6117a0565b6040516104a8919061420d565b61054461081b366004614226565b611845565b6104be61185a565b6105446108363660046142e5565b611937565b61084e6108493660046137b3565b61195d565b6040516104a89190614374565b610863611a9e565b6040516001600160e01b031990911681526020016104a8565b61054461088a3660046143a8565b611ac2565b61054461089d366004614400565b611b24565b6105446108b036600461459e565b611b4a565b6105446108c33660046145e5565b611b70565b6104e96108d6366004613f07565b611b96565b61097f6108e93660046137b3565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260036020908152604091829020825160a081018452905460ff8082168352610100820416928201929092526001600160a01b03620100008304169281019290925263ffffffff600160b01b820481166060840152600160d01b90910416608082015290565b6040516104a8919061463c565b61054461099a36600461464a565b611bc3565b6105446109ad366004614691565b611c5e565b61049c6109c03660046146d1565b611d4f565b61049c6109d33660046146d1565b611f43565b6105446109e63660046146ff565b6120ce565b6105446109f9366004614744565b6120f4565b610544610a0c366004614785565b61211c565b61049c610a1f366004613a02565b612144565b6000546001600160a01b03166104be565b610544610a43366004613d7a565b612191565b610544610a56366004613a1f565b6121a8565b6104be610a693660046147c5565b6121bf565b610544610a7c366004613a1f565b6121e8565b61049c610a8f366004614691565b60ff9283166000908152600260209081526040808320948616835293815283822092851682529190915220541690565b6104e9610acd366004614801565b6121ff565b610544610ae0366004613e89565b612283565b610544610af3366004613a1f565b6122ff565b6001600160401b0381166000908152600860205260408120610b1990612314565b92915050565b610b2c335b60003661231e565b610b5f610b3a836078612417565b82604051602001610b4b919061482f565b604051602081830303815290604052612463565b5050565b610b6c33610b24565b610b5f610b7a83608c612417565b8261246d565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610c036005546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610c4b61185a565b6001600160a01b03168152602001826001018054610c689061488f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c949061488f565b8015610ce15780601f10610cb657610100808354040283529160200191610ce1565b820191906000526020600020905b815481529060010190602001808311610cc457829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b610d0b33610b24565b610b5f610b7a8361141b565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d91906148c9565b15610de4576005546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6005546001600160a01b0316610e0d5760405163cf29926160e01b815260040160405180910390fd5b60055460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a91906148c9565b610ea2576040516372657a5160e01b81526001600160a01b0382166004820152602401610ddb565b600554604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1091906148e6565b600560146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b610f4233610b24565b610f4e61069a836110f9565b610f76576040516325b6f39560e21b81526001600160a01b0383166004820152602401610ddb565b600b5460405163167bd39560e01b81526001600160a01b03848116600483015283151560248301529091169063167bd39590604401600060405180830381600087803b158015610fc557600080fd5b505af1158015610fd9573d6000803e3d6000fd5b505050505050565b610fea33610b24565b61101c610ff68561141b565b836040516020016110079190614903565b60405160208183030381529060405283612477565b50505050565b61102b33610b24565b610b5f611037836110f9565b82604051602001610b4b919061420d565b61105133610b24565b610b5f8282600180612482565b61106733610b24565b6040516355ee627560e01b81526001600160c01b031983166004820152610b5f9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af41580156110c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e89190614956565b82604051602001610b4b919061496f565b604051637a400b6760e11b8152601e6004820152606082901b6bffffffffffffffffffffffff1916602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af4158015611166573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190614956565b61119333610b24565b6111b061119f8461141b565b82604051602001610b4b9190614903565b505050565b600033816111c28461175d565b90506111cd8161134b565b6111f457604051627a416f60e01b81526001600160401b0385166004820152602401610ddb565b6001600160401b0384166000908152600860205260409020611216908361252b565b1561134157600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063fe0776f59073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac919061499d565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0385166024820152604401600060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b5050506001600160401b038516600090815260086020526040902061133691508361254d565b506001949350505050565b5060009392505050565b60008181526003602052604080822054905163b2466acf60e01b815261010090910460ff16600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af41580156113b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1991906148c9565b6000600982815481106113eb576113eb6149ba565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d25b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401611149565b60008181526003602052604090206001018054606091906114989061488f565b80601f01602080910402602001604051908101604052809291908181526020018280546114c49061488f565b80156115115780601f106114e657610100808354040283529160200191611511565b820191906000526020600020905b8154815290600101906020018083116114f457829003601f168201915b50505050509050919050565b61152633610b24565b610b5f61153483608c612417565b82604051602001610b4b91906149d0565b61154e33610b24565b6111b061155c84606e612417565b836040516020016110079190614a73565b6005546040805163a3bcd81d60e01b815260048101919091526015604482015274436f6d706f6e656e744f776e65725365727669636560581b6064820152600360248201526000916001600160a01b03169063a3bcd81d906084015b602060405180830381865afa1580156115e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160a9190614b75565b905090565b61161833610b24565b610b5f61162683606e612417565b82604051602001610b4b9190614a73565b61164033610b24565b61101c61164c8561141b565b836040516020016110079190614b92565b60005433906001600160a01b031681146116945760405162d1953b60e31b81526001600160a01b0382166004820152602401610ddb565b816001600160a01b03163b6000036116ca576040516361798f2f60e11b81526001600160a01b0383166004820152602401610ddb565b610b5f82612562565b6116dc33610b24565b6040516355ee627560e01b81526001600160c01b031983166004820152610b5f9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611739573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190614956565b604051630f37f38f60e41b81526001600160401b038216600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401611149565b604080518082018252600080825260208201529051630f37f38f60e41b81526001600160401b03831660048201526118329073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401602060405180830381865af415801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107019190614956565b806020019051810190610b199190614bc2565b61184e33610b24565b610b5f610b7a8361175d565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e391906148c9565b1561192757600554604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a906024016115c9565b506006546001600160a01b031690565b61194033610b24565b610b5f61194c83611b96565b82604051602001610b4b9190614bfa565b6040805160e081018252600091810182815260608083018490526080830184905260a0830184905260c083019390935281526020810191909152600082815260036020908152604091829020825160e081018452815460ff80821695830195865261010082041660608301526001600160a01b0362010000820416608083015263ffffffff600160b01b8204811660a0840152600160d01b9091041660c08201529283526001810180549192840191611a159061488f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a419061488f565b8015611a8e5780601f10611a6357610100808354040283529160200191611a8e565b820191906000526020600020905b815481529060010190602001808311611a7157829003601f168201915b5050505050815250509050919050565b60008054600160a01b900460ff16611ab65750600090565b50638fb3603760e01b90565b611acb33610b24565b6000611ad9848460006125b6565b5090506000611ae9858584612821565b9050611b1d611af78661175d565b82604051602001611b08919061420d565b60405160208183030381529060405285612477565b5050505050565b611b2d33610b24565b6111b0611b3984611b96565b836040516020016110079190614bfa565b611b5333610b24565b6111b0611b5f8461141b565b836040516020016110079190614c9f565b611b7933610b24565b6111b0611b858461141b565b82604051602001610b4b9190614b92565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660dc611444565b611bcc33610b24565b6040516355ee627560e01b81526001600160c01b0319841660048201526111b09073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4d9190614956565b83604051602001611007919061496f565b60ff8381166000908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015611cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce791906148c9565b15611cf157505050565b60ff8084166000908152600260209081526040808320868516845282528083208585168452909152902054166111b057604051636bb20ea760e01b815260ff8085166004830152808416602483015282166044820152606401610ddb565b6000611d5a33610b24565b6000611d658461175d565b9050611d708161134b565b611d9857604051636777365b60e01b81526001600160401b0385166004820152602401610ddb565b600081815260036020526040902054611dc790610100900460ff16611dbb606490565b60ff9081169116141590565b15611df05760405163fe229d5d60e01b81526001600160401b0385166004820152602401610ddb565b6001600160401b0384166000908152600860205260409020611e12908461252b565b61134157600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea7919061499d565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038616602482015260006044820152606401600060405180830381600087803b158015611efe57600080fd5b505af1158015611f12573d6000803e3d6000fd5b5050506001600160401b0385166000908152600860205260409020611f3891508461285d565b506001915050610b19565b6000611f4e33610b24565b6000611f598461175d565b9050611f648161134b565b611f8c57604051634cee277360e11b81526001600160401b0385166004820152602401610ddb565b6001600160401b0384166000908152600860205260409020611fae908461252b565b1561134157600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612044919061499d565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0386166024820152604401600060405180830381600087803b15801561209457600080fd5b505af11580156120a8573d6000803e3d6000fd5b5050506001600160401b0385166000908152600860205260409020611f3891508461254d565b6120d733610b24565b610b5f6120e38361141b565b82604051602001610b4b9190614c9f565b6120fd33610b24565b6111b061210b84608c612417565b8360405160200161100791906149d0565b61212533610b24565b6111b0612133846078612417565b83604051602001611007919061482f565b60ff81811660009081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401611395565b61219a33610b24565b610b5f828260006001612482565b6121b133610b24565b610b5f610b7a836078612417565b6001600160401b03821660009081526008602052604081206121e19083612872565b9392505050565b6121f133610b24565b610b5f610b7a83606e612417565b604051637a400b6760e11b815260ff8316600482015260ff198216602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af415801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e19190614956565b61228c33610b24565b600c546001600160a01b0316156122dd5760405162461bcd60e51b8152602060048201526015602482015274125b9cdd185b98d954995859195c881a5cc81cd95d605a1b6044820152606401610ddb565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b61230833610b24565b610b5f610b7a83611b96565b6000610b19825490565b6000806123546123366000546001600160a01b031690565b863061234660046000898b614df6565b61234f91614e20565b61287e565b9150915081611b1d5763ffffffff8116156123f4576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906123af90889088908890600401614e50565b600060405180830381600087803b1580156123c957600080fd5b505af11580156123dd573d6000803e3d6000fd5b50506000805460ff60a01b1916905550611b1d9050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610ddb565b604051630711349960e31b81526001600160601b038316600482015260ff8216602482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__90633889a4c890604401612242565b610b5f828261298a565b610b5f8282612dac565b6111b08383836130e0565b8015612496576124938484846125b6565b50505b60006124a3858585612821565b80516000908152600760205260408120805467ffffffffffffffff19166001600160401b038981169182179092556009805460018101825593527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af6004840401805460039094166008026101000a9283021990931691021790559050611b1d6110378661175d565b6001600160a01b038116600090815260018301602052604081205415156121e1565b60006121e1836001600160a01b03841661357b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60008060006125c48661175d565b90506125cf8161134b565b925082156125fe576125e081611478565b8060200190518101906125f39190614bc2565b602001519150612602565b8391505b856001600160401b038116158061262157506001600160401b03818116145b1561264a5760405163981bf42160e01b81526001600160401b0388166004820152602401610ddb565b82801561266157506127106001600160401b038216105b1561268a57604051633119b9df60e21b81526001600160401b0388166004820152602401610ddb565b8280156126a257506127106001600160401b03821610155b156126cb5760405163094fb39160e01b81526001600160401b0388166004820152602401610ddb565b60006126d687613675565b90506126e1816136b3565b60000361270c576040516321ab17ab60e01b81526001600160401b0389166004820152602401610ddb565b60008181526007602090815260409182902054825163bc1b392d60e01b815292516127af936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af4158015612779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279d919061499d565b6001600160401b039081169116141590565b80156127d557506000818152600760205260409020546001600160401b03898116911614155b156128165760008181526007602052604090819020549051631660fb9360e21b81526001600160401b03909116600482015260248101829052604401610ddb565b505050935093915050565b6040805180820190915260008082526020820152604051806040016040528061284985613675565b815260200183151581525090509392505050565b60006121e1836001600160a01b0384166136db565b60006121e1838361372a565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516128ed9190614e90565b600060405180830381855afa9150503d8060008114612928576040519150601f19603f3d011682016040523d82523d6000602084013e61292d565b606091505b5091509150811561297f57604081511061295f57808060200190518101906129559190614eac565b909450925061297f565b602081511061297f578080602001905181019061297c91906148c9565b93505b505094509492505050565b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156129dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a019190614edb565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af4158015612a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7a91906148c9565b612ac65760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e4544000000006044820152606401610ddb565b600083815260036020526040908190208054915163037c8cb160e51b815261010090920460ff1660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015612b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5391906148c9565b612b9f5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f435245415445440000006044820152606401610ddb565b33436000612bac85612144565b612bb7576064612bcd565b60ff808616600090815260016020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b919091021785556000888152600360205260409020909150600101612c578782614f3e565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cee9190614edb565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612d3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d629190614ffd565b6040805160ff938416815260ff199092166020830152918416918101919091526001600160a01b038516606082015232608082015260a0015b60405180910390a150505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015612dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e2291906148c9565b612e6e5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3034303a53544154455f554e444546494e45440000006044820152606401610ddb565b600082815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015612eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612efe91906148c9565b612f4a5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3034313a4e4f545f4558495354494e470000000000006044820152606401610ddb565b8154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b90910416612f8e4390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018790527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130449190614edb565b604051630713cfad60e31b81526004810189905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015613094573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b89190614ffd565b87868632876040516130d0979695949392919061501a565b60405180910390a1505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015613132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315691906148c9565b6131a25760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3032303a53544154455f554e444546494e45440000006044820152606401610ddb565b600083815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af415801561320e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061323291906148c9565b61327e5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3032313a4e4f545f4558495354494e470000000000006044820152606401610ddb565b60008581526003602052604090206001016132998582614f3e565b508154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166132de4390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018890527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133949190614edb565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156133e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134089190614ffd565b8786863287604051613420979695949392919061501a565b60405180910390a1604051634b00e98f60e11b8152600481018890527f7bd0ab7f1746bd20a814d6705a46876c84f1aa2d35c80d8c173e268bd6d4b26c9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af415801561349a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134be9190614edb565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801561350e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135329190614ffd565b6040805160ff938416815260ff199092166020830152918816918101919091526001600160a01b038416606082015232608082015263ffffffff831660a082015260c001612d9b565b6000818152600183016020526040812054801561366457600061359f60018361506a565b85549091506000906135b39060019061506a565b90508082146136185760008660000182815481106135d3576135d36149ba565b90600052602060002001549050808760000184815481106135f6576135f66149ba565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806136295761362961508b565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b19565b6000915050610b19565b5092915050565b600080829050601f815111156136a0578260405163305a27a960e01b8152600401610ddb9190613f24565b80516136ab826150a1565b179392505050565b600060ff8216601f811115610b1957604051632cd44ac360e21b815260040160405180910390fd5b600081815260018301602052604081205461372257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b19565b506000610b19565b6000826000018281548110613741576137416149ba565b9060005260206000200154905092915050565b60006020828403121561376657600080fd5b81356001600160e01b0319811681146121e157600080fd5b6001600160401b038116811461379357600080fd5b50565b6000602082840312156137a857600080fd5b81356121e18161377e565b6000602082840312156137c557600080fd5b5035919050565b6001600160601b038116811461379357600080fd5b80356137ec816137cc565b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613829576138296137f1565b60405290565b604051608081016001600160401b0381118282101715613829576138296137f1565b60405161010081016001600160401b0381118282101715613829576138296137f1565b60405161014081016001600160401b0381118282101715613829576138296137f1565b60405161020081016001600160401b0381118282101715613829576138296137f1565b6001600160a01b038116811461379357600080fd5b80356137ec816138ba565b6000604082840312156138ec57600080fd5b6138f4613807565b9050813581526020820135602082015292915050565b801515811461379357600080fd5b80356137ec8161390a565b600060c0828403121561393557600080fd5b60405160a081018181106001600160401b0382111715613957576139576137f1565b6040529050808235613968816137cc565b81526020830135613978816138ba565b602082015261398a84604085016138da565b6040820152608083013561399d8161390a565b606082015260a08301356139b0816138ba565b6080919091015292915050565b60008060e083850312156139d057600080fd5b82356139db816137cc565b91506139ea8460208501613923565b90509250929050565b60ff8116811461379357600080fd5b600060208284031215613a1457600080fd5b81356121e1816139f3565b60008060408385031215613a3257600080fd5b8235613a3d816137cc565b91506020830135613a4d816139f3565b809150509250929050565b60005b83811015613a73578181015183820152602001613a5b565b50506000910152565b60008151808452613a94816020860160208601613a58565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151613aec60a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152613b32610120840182613a7c565b90508281036020840152613b468185613a7c565b95945050505050565b60008060408385031215613b6257600080fd5b8235613b6d816138ba565b91506020830135613a4d8161390a565b63ffffffff8116811461379357600080fd5b600082601f830112613ba057600080fd5b81356001600160401b0380821115613bba57613bba6137f1565b604051601f8301601f19908116603f01168101908282118183101715613be257613be26137f1565b81604052838152866020858801011115613bfb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803564ffffffffff811681146137ec57600080fd5b600060808284031215613c4257600080fd5b613c4a61382f565b90508135613c5781613b7d565b81526020828101359082015260408201356001600160401b03811115613c7c57600080fd5b613c8884828501613b8f565b604083015250613c9a60608301613c1b565b606082015292915050565b60008060008060808587031215613cbb57600080fd5b8435613cc6816137cc565b93506020850135613cd681613b7d565b925060408501356001600160401b03811115613cf157600080fd5b613cfd87828801613c30565b9250506060850135613d0e816139f3565b939692955090935050565b6000808284036060811215613d2d57600080fd5b8335613d38816138ba565b92506040601f1982011215613d4c57600080fd5b50613d55613807565b602084013581526040840135613d6a8161390a565b6020820152919491935090915050565b60008060408385031215613d8d57600080fd5b8235613d988161377e565b915060208301356001600160401b03811115613db357600080fd5b613dbf85828601613b8f565b9150509250929050565b6001600160c01b03198116811461379357600080fd5b80356137ec81613dc9565b600060408284031215613dfc57600080fd5b613e04613807565b90508135613e11816137cc565b815260208201356001600160401b03811115613e2c57600080fd5b613e3884828501613b8f565b60208301525092915050565b60008060408385031215613e5757600080fd5b8235613e6281613dc9565b915060208301356001600160401b03811115613e7d57600080fd5b613dbf85828601613dea565b600060208284031215613e9b57600080fd5b81356121e1816138ba565b600080600060608486031215613ebb57600080fd5b8335613ec6816137cc565b92506020840135613ed681613b7d565b915060408401356001600160401b03811115613ef157600080fd5b613efd86828701613c30565b9150509250925092565b600060208284031215613f1957600080fd5b81356121e1816137cc565b6020815260006121e16020830184613a7c565b60006101608284031215613f4a57600080fd5b613f52613851565b9050613f5d826137e1565b8152613f6b602083016138cf565b602082015260408201356040820152613f8783606084016138da565b6060820152613f998360a084016138da565b6080820152613fab8360e084016138da565b60a0820152613fbd6101208301613918565b60c0820152613fcf61014083016138cf565b60e082015292915050565b6000806101808385031215613fee57600080fd5b8235613ff9816137cc565b91506139ea8460208501613f37565b6000610200828403121561401b57600080fd5b614023613874565b905061402e826138cf565b815261403c602083016138cf565b602082015261404d604083016137e1565b604082015261405e606083016137e1565b606082015261407083608084016138da565b60808201526140828360c084016138da565b60a0820152610100614096848285016138da565b60c08301526140a98461014085016138da565b60e08301526140bc8461018085016138da565b908201526140ce836101c084016138da565b61012082015292915050565b600080600061024084860312156140f057600080fd5b83356140fb816137cc565b925061410a8560208601614008565b915061022084013561411b816139f3565b809150509250925092565b600080610220838503121561413a57600080fd5b8235614145816137cc565b91506139ea8460208501614008565b60006080828403121561416657600080fd5b61416e61382f565b9050813581526020820135602082015260408201356001600160401b03811115613c7c57600080fd5b600080600080608085870312156141ad57600080fd5b84356141b8816137cc565b935060208501356141c881613b7d565b925060408501356001600160401b038111156141e357600080fd5b613cfd87828801614154565b6000806040838503121561420257600080fd5b8235613a3d81613dc9565b8151815260208083015115159082015260408101610b19565b6000806040838503121561423957600080fd5b8235613a3d8161377e565b6000610120828403121561425757600080fd5b61425f613851565b905061426a826137e1565b815261427983602084016138da565b602082015260608201356001600160401b0381111561429757600080fd5b6142a384828501613b8f565b6040830152506080820135606082015260a0820135608082015260c082013560a08201526142d360e08301613c1b565b60c0820152613fcf6101008301613c1b565b600080604083850312156142f857600080fd5b8235614303816137cc565b915060208301356001600160401b0381111561431e57600080fd5b613dbf85828601614244565b60ff815116825260ff602082015116602083015260018060a01b036040820151166040830152606081015163ffffffff808216606085015280608084015116608085015250505050565b6020815261438660208201835161432a565b6000602083015160c0808401526143a060e0840182613a7c565b949350505050565b6000806000606084860312156143bd57600080fd5b83356143c88161377e565b925060208401356001600160401b038111156143e357600080fd5b6143ef86828701613b8f565b925050604084013561411b816139f3565b60008060006060848603121561441557600080fd5b8335614420816137cc565b925060208401356001600160401b0381111561443b57600080fd5b6143ef86828701614244565b803561ffff811681146137ec57600080fd5b6000610200828403121561446c57600080fd5b614474613897565b905061447f826137e1565b815261448d602083016137e1565b602082015261449e60408301613ddf565b60408201526144af60608301613ddf565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b03808211156144f857600080fd5b61450486838701613b8f565b8385015261012092508285013591508082111561452057600080fd5b5061452d85828601613b8f565b828401525050610140614541818401614447565b90820152610160614553838201614447565b9082015261018082810135908201526101a0614570818401613c1b565b908201526101c0614582838201613c1b565b908201526101e0614594838201613c1b565b9082015292915050565b6000806000606084860312156145b357600080fd5b83356145be816137cc565b925060208401356001600160401b038111156145d957600080fd5b6143ef86828701614459565b6000806000606084860312156145fa57600080fd5b8335614605816137cc565b9250602084013561461581613b7d565b915060408401356001600160401b0381111561463057600080fd5b613efd86828701614154565b60a08101610b19828461432a565b60008060006060848603121561465f57600080fd5b833561466a81613dc9565b925060208401356001600160401b0381111561468557600080fd5b6143ef86828701613dea565b6000806000606084860312156146a657600080fd5b83356146b1816139f3565b925060208401356146c1816139f3565b9150604084013561411b816139f3565b600080604083850312156146e457600080fd5b82356146ef8161377e565b91506020830135613a4d816138ba565b6000806040838503121561471257600080fd5b823561471d816137cc565b915060208301356001600160401b0381111561473857600080fd5b613dbf85828601614459565b60008060006101a0848603121561475a57600080fd5b8335614765816137cc565b92506147748560208601613f37565b915061018084013561411b816139f3565b6000806000610100848603121561479b57600080fd5b83356147a6816137cc565b92506147b58560208601613923565b915060e084013561411b816139f3565b600080604083850312156147d857600080fd5b82356147e38161377e565b946020939093013593505050565b60ff198116811461379357600080fd5b6000806040838503121561481457600080fd5b823561481f816139f3565b91506020830135613a4d816147f1565b81516001600160601b031681526020808301516001600160a01b039081168284015260408085015180519185019190915291820151606084015260c0830191906060850151151560808501528060808601511660a0850152505092915050565b600181811c908216806148a357607f821691505b6020821081036148c357634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156148db57600080fd5b81516121e18161390a565b6000602082840312156148f857600080fd5b81516121e1816137cc565b6020815263ffffffff825116602082015260208201516040820152600060408301516080606084015261493960a0840182613a7c565b905064ffffffffff60608501511660808401528091505092915050565b60006020828403121561496857600080fd5b5051919050565b602081526001600160601b038251166020820152600060208301516040808401526143a06060840182613a7c565b6000602082840312156149af57600080fd5b81516121e18161377e565b634e487b7160e01b600052603260045260246000fd5b81516001600160601b031681526020808301516001600160a01b03169082015260408083015190820152606080830151610160830191614a1c9084018280518252602090810151910152565b506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c0830151151561012083015260e08301516001600160a01b03811661014084015261366e565b81516001600160a01b0316815261020081016020830151614a9f60208401826001600160a01b03169052565b506040830151614aba60408401826001600160601b03169052565b506060830151614ad560608401826001600160601b03169052565b506080830151614af2608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c0830151610100614b288185018380518252602090810151910152565b60e085015180516101408601526020908101516101608601529085015180516101808601528101516101a085015261012085015180516101c0860152908101516101e0850152905061366e565b600060208284031215614b8757600080fd5b81516121e1816138ba565b602081528151602082015260208201516040820152600060408301516080606084015261493960a0840182613a7c565b600060408284031215614bd457600080fd5b614bdc613807565b825181526020830151614bee8161390a565b60208201529392505050565b602081526001600160601b03825116602082015260006020830151614c2c604084018280518252602090810151910152565b506040830151610120806080850152614c49610140850183613a7c565b9150606085015160a0850152608085015160c085015260a085015160e085015260c0850151614c8261010086018264ffffffffff169052565b5060e085015164ffffffffff8116858301525b5090949350505050565b60208152614cb96020820183516001600160601b03169052565b60006020830151614cd560408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e08301516101008181850152808501519150506102006101208181860152614d4d610220860184613a7c565b9250808601519050610140601f198685030181870152614d6d8483613a7c565b935080870151915050610160614d888187018361ffff169052565b8601519050610180614d9f8682018361ffff169052565b8601516101a08681019190915286015190506101c0614dc68187018364ffffffffff169052565b86015190506101e0614de08682018364ffffffffff169052565b86015164ffffffffff8116838701529050614c95565b60008085851115614e0657600080fd5b83861115614e1357600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015614e485780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251614ea2818460208701613a58565b9190910192915050565b60008060408385031215614ebf57600080fd5b8251614eca8161390a565b6020840151909250613a4d81613b7d565b600060208284031215614eed57600080fd5b81516121e1816139f3565b601f8211156111b057600081815260208120601f850160051c81016020861015614f1f5750805b601f850160051c820191505b81811015610fd957828155600101614f2b565b81516001600160401b03811115614f5757614f576137f1565b614f6b81614f65845461488f565b84614ef8565b602080601f831160018114614fa05760008415614f885750858301515b600019600386901b1c1916600185901b178555610fd9565b600085815260208120601f198616915b82811015614fcf57888601518255948401946001909101908401614fb0565b5085821015614fed5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561500f57600080fd5b81516121e1816147f1565b60ff978816815260ff1996909616602087015293861660408601529190941660608401526001600160a01b03938416608084015290921660a082015263ffffffff9190911660c082015260e00190565b81810381811115610b1957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b805160208083015191908110156148c35760001960209190910360031b1b1691905056fea26469706673582212209ba41bfa289c5b04a620358cf09da995949cb91983da35cd051118bc8a627dc164736f6c63430008140033",
3091
- "linkReferences": {
3092
- "contracts/types/Key32.sol": {
3093
- "Key32Lib": [
3094
- {
3095
- "length": 20,
3096
- "start": 4267
3097
- },
3098
- {
3099
- "length": 20,
3100
- "start": 5035
3101
- },
3102
- {
3103
- "length": 20,
3104
- "start": 5154
3105
- },
3106
- {
3107
- "length": 20,
3108
- "start": 11068
3109
- },
3110
- {
3111
- "length": 20,
3112
- "start": 15413
3113
- },
3114
- {
3115
- "length": 20,
3116
- "start": 17332
3117
- },
3118
- {
3119
- "length": 20,
3120
- "start": 18081
3121
- },
3122
- {
3123
- "length": 20,
3124
- "start": 18197
3125
- },
3126
- {
3127
- "length": 20,
3128
- "start": 18935
3129
- },
3130
- {
3131
- "length": 20,
3132
- "start": 19051
3133
- },
3134
- {
3135
- "length": 20,
3136
- "start": 19783
3137
- },
3138
- {
3139
- "length": 20,
3140
- "start": 19899
3141
- },
3142
- {
3143
- "length": 20,
3144
- "start": 20081
3145
- },
3146
- {
3147
- "length": 20,
3148
- "start": 20197
3149
- }
3150
- ]
3151
- },
3152
- "contracts/types/NftId.sol": {
3153
- "NftIdLib": [
3154
- {
3155
- "length": 20,
3156
- "start": 10064
3157
- },
3158
- {
3159
- "length": 20,
3160
- "start": 11824
3161
- },
3162
- {
3163
- "length": 20,
3164
- "start": 12950
3165
- },
3166
- {
3167
- "length": 20,
3168
- "start": 13739
3169
- },
3170
- {
3171
- "length": 20,
3172
- "start": 15954
3173
- }
3174
- ]
3175
- },
3176
- "contracts/types/ObjectType.sol": {
3177
- "ObjectTypeLib": [
3178
- {
3179
- "length": 20,
3180
- "start": 4391
3181
- },
3182
- {
3183
- "length": 20,
3184
- "start": 17453
3185
- }
3186
- ]
3187
- },
3188
- "contracts/types/RiskId.sol": {
3189
- "RiskIdLib": [
3190
- {
3191
- "length": 20,
3192
- "start": 10907
3193
- },
3194
- {
3195
- "length": 20,
3196
- "start": 12560
3197
- },
3198
- {
3199
- "length": 20,
3200
- "start": 13824
3201
- }
3202
- ]
3203
- },
3204
- "contracts/types/RoleId.sol": {
3205
- "RoleIdLib": [
3206
- {
3207
- "length": 20,
3208
- "start": 233
3209
- },
3210
- {
3211
- "length": 20,
3212
- "start": 404
3213
- },
3214
- {
3215
- "length": 20,
3216
- "start": 3337
3217
- },
3218
- {
3219
- "length": 20,
3220
- "start": 3662
3221
- },
3222
- {
3223
- "length": 20,
3224
- "start": 11359
3225
- },
3226
- {
3227
- "length": 20,
3228
- "start": 12687
3229
- },
3230
- {
3231
- "length": 20,
3232
- "start": 12773
3233
- },
3234
- {
3235
- "length": 20,
3236
- "start": 14426
3237
- },
3238
- {
3239
- "length": 20,
3240
- "start": 14839
3241
- },
3242
- {
3243
- "length": 20,
3244
- "start": 16720
3245
- }
3246
- ]
3247
- },
3248
- "contracts/types/StateId.sol": {
3249
- "StateIdLib": [
3250
- {
3251
- "length": 20,
3252
- "start": 3863
3253
- },
3254
- {
3255
- "length": 20,
3256
- "start": 4613
3257
- },
3258
- {
3259
- "length": 20,
3260
- "start": 5730
3261
- },
3262
- {
3263
- "length": 20,
3264
- "start": 11656
3265
- },
3266
- {
3267
- "length": 20,
3268
- "start": 13978
3269
- },
3270
- {
3271
- "length": 20,
3272
- "start": 15232
3273
- },
3274
- {
3275
- "length": 20,
3276
- "start": 17670
3277
- },
3278
- {
3279
- "length": 20,
3280
- "start": 18389
3281
- },
3282
- {
3283
- "length": 20,
3284
- "start": 18609
3285
- },
3286
- {
3287
- "length": 20,
3288
- "start": 19209
3289
- },
3290
- {
3291
- "length": 20,
3292
- "start": 19429
3293
- }
3294
- ]
3295
- }
3296
- },
3297
- "deployedLinkReferences": {
3298
- "contracts/types/Key32.sol": {
3299
- "Key32Lib": [
3300
- {
3301
- "length": 20,
3302
- "start": 4395
3303
- },
3304
- {
3305
- "length": 20,
3306
- "start": 8740
3307
- },
3308
- {
3309
- "length": 20,
3310
- "start": 10659
3311
- },
3312
- {
3313
- "length": 20,
3314
- "start": 11408
3315
- },
3316
- {
3317
- "length": 20,
3318
- "start": 11524
3319
- },
3320
- {
3321
- "length": 20,
3322
- "start": 12262
3323
- },
3324
- {
3325
- "length": 20,
3326
- "start": 12378
3327
- },
3328
- {
3329
- "length": 20,
3330
- "start": 13110
3331
- },
3332
- {
3333
- "length": 20,
3334
- "start": 13226
3335
- },
3336
- {
3337
- "length": 20,
3338
- "start": 13408
3339
- },
3340
- {
3341
- "length": 20,
3342
- "start": 13524
3343
- }
3344
- ]
3345
- },
3346
- "contracts/types/NftId.sol": {
3347
- "NftIdLib": [
3348
- {
3349
- "length": 20,
3350
- "start": 3391
3351
- },
3352
- {
3353
- "length": 20,
3354
- "start": 5151
3355
- },
3356
- {
3357
- "length": 20,
3358
- "start": 6277
3359
- },
3360
- {
3361
- "length": 20,
3362
- "start": 7066
3363
- },
3364
- {
3365
- "length": 20,
3366
- "start": 9281
3367
- }
3368
- ]
3369
- },
3370
- "contracts/types/ObjectType.sol": {
3371
- "ObjectTypeLib": [
3372
- {
3373
- "length": 20,
3374
- "start": 10780
3375
- }
3376
- ]
3377
- },
3378
- "contracts/types/RiskId.sol": {
3379
- "RiskIdLib": [
3380
- {
3381
- "length": 20,
3382
- "start": 4234
3383
- },
3384
- {
3385
- "length": 20,
3386
- "start": 5887
3387
- },
3388
- {
3389
- "length": 20,
3390
- "start": 7151
3391
- }
3392
- ]
3393
- },
3394
- "contracts/types/RoleId.sol": {
3395
- "RoleIdLib": [
3396
- {
3397
- "length": 20,
3398
- "start": 4686
3399
- },
3400
- {
3401
- "length": 20,
3402
- "start": 6014
3403
- },
3404
- {
3405
- "length": 20,
3406
- "start": 6100
3407
- },
3408
- {
3409
- "length": 20,
3410
- "start": 7753
3411
- },
902
+ "contracts/types/RoleId.sol": {
903
+ "RoleIdLib": [
3412
904
  {
3413
905
  "length": 20,
3414
- "start": 8166
3415
- },
3416
- {
3417
- "length": 20,
3418
- "start": 10047
906
+ "start": 7591
3419
907
  }
3420
908
  ]
3421
909
  },
3422
- "contracts/types/StateId.sol": {
3423
- "StateIdLib": [
3424
- {
3425
- "length": 20,
3426
- "start": 4983
3427
- },
3428
- {
3429
- "length": 20,
3430
- "start": 7305
3431
- },
3432
- {
3433
- "length": 20,
3434
- "start": 8559
3435
- },
3436
- {
3437
- "length": 20,
3438
- "start": 10997
3439
- },
3440
- {
3441
- "length": 20,
3442
- "start": 11716
3443
- },
3444
- {
3445
- "length": 20,
3446
- "start": 11936
3447
- },
3448
- {
3449
- "length": 20,
3450
- "start": 12536
3451
- },
910
+ "contracts/types/Version.sol": {
911
+ "VersionPartLib": [
3452
912
  {
3453
913
  "length": 20,
3454
- "start": 12756
914
+ "start": 5981
3455
915
  }
3456
916
  ]
3457
917
  }