@etherisc/gif-next 0.0.2-de220d6-949 → 0.0.2-e37834a-021

Sign up to get free protection for your applications and to get access to all the features.
Files changed (286) hide show
  1. package/README.md +71 -0
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +80 -41
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +445 -0
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +43 -40
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +177 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +108 -156
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +67 -139
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +299 -84
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +250 -53
  18. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -34
  21. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  31. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  37. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +882 -586
  39. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +1 -1
  40. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  41. package/artifacts/contracts/instance/Instance.sol/Instance.json +1011 -638
  42. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
  43. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +139 -46
  44. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +51 -1
  46. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
  48. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/IService.sol/IService.json +99 -55
  51. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +1 -1
  52. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +178 -48
  53. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  54. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +41 -23
  55. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  56. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +4 -4
  57. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +1 -1
  58. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +1 -1
  59. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +135 -55
  60. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +55 -54
  65. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +56 -55
  68. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +22 -93
  70. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +22 -93
  73. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +4 -0
  74. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +10 -0
  75. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +4 -0
  76. package/artifacts/contracts/instance/module/{compensation/ICompensation.sol/ICompensation.json → distribution/IDistribution.sol/IDistribution.json} +2 -2
  77. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +4 -0
  78. package/artifacts/contracts/instance/module/{compensation/ICompensation.sol/ICompensationModule.json → distribution/IDistribution.sol/IDistributionModule.json} +2 -2
  79. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  81. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +53 -40
  82. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  83. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +53 -40
  84. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +29 -14
  87. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +28 -13
  89. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +1 -1
  90. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +104 -1
  92. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +126 -5
  94. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +326 -221
  97. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  99. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +326 -221
  101. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  102. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +251 -84
  103. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  104. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +526 -0
  105. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  106. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +99 -74
  107. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  108. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +369 -0
  109. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  110. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +158 -50
  111. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  112. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +246 -49
  113. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  114. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +230 -52
  115. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  116. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +361 -70
  117. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  118. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +141 -12
  119. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  120. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  121. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  122. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +293 -40
  123. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  124. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +668 -0
  125. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  126. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  127. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  128. package/artifacts/contracts/registry/Registry.sol/Registry.json +483 -120
  129. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  130. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +885 -0
  131. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  132. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +460 -0
  133. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  134. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  135. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  136. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  137. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +1 -1
  138. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  139. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +43 -40
  140. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  141. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -14
  142. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +132 -0
  144. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  145. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +344 -0
  146. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  147. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -37
  148. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  149. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  150. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  151. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -14
  152. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +4 -0
  153. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +445 -0
  154. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  155. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  156. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +1 -1
  157. package/artifacts/contracts/test/TestPool.sol/TestPool.json +299 -84
  158. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +1 -1
  159. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +297 -58
  160. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  161. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +93 -39
  162. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  163. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  164. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestService.sol/TestService.json +161 -68
  166. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  167. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  168. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  169. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  170. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +89 -25
  171. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  172. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  173. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  175. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  176. package/artifacts/contracts/types/Fee.sol/FeeLib.json +50 -11
  177. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  178. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  179. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  181. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  182. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  183. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  184. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  185. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +4 -0
  186. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +99 -0
  187. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  188. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  189. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  190. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  191. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  193. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  194. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/Version.sol/VersionLib.json +40 -2
  196. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  198. package/contracts/components/BaseComponent.sol +12 -21
  199. package/contracts/components/Distribution.sol +155 -0
  200. package/contracts/components/IBaseComponent.sol +2 -2
  201. package/contracts/components/IDistributionComponent.sol +46 -0
  202. package/contracts/components/IPoolComponent.sol +15 -8
  203. package/contracts/components/IProductComponent.sol +26 -8
  204. package/contracts/components/Pool.sol +99 -27
  205. package/contracts/components/Product.sol +204 -22
  206. package/contracts/experiment/errors/Revert.sol +4 -13
  207. package/contracts/instance/IInstance.sol +10 -8
  208. package/contracts/instance/Instance.sol +25 -8
  209. package/contracts/instance/base/ComponentServiceBase.sol +13 -6
  210. package/contracts/instance/base/IInstanceBase.sol +11 -2
  211. package/contracts/instance/base/IKeyValueStore.sol +4 -3
  212. package/contracts/instance/base/InstanceBase.sol +19 -10
  213. package/contracts/instance/base/KeyValueStore.sol +12 -7
  214. package/contracts/instance/base/Lifecycle.sol +15 -10
  215. package/contracts/instance/base/ModuleBase.sol +22 -17
  216. package/contracts/instance/base/ServiceBase.sol +19 -13
  217. package/contracts/instance/module/access/Access.sol +3 -3
  218. package/contracts/instance/module/bundle/BundleModule.sol +10 -12
  219. package/contracts/instance/module/bundle/IBundle.sol +6 -11
  220. package/contracts/instance/module/component/ComponentModule.sol +34 -58
  221. package/contracts/instance/module/component/IComponent.sol +7 -32
  222. package/contracts/instance/module/distribution/DistributionModule.sol +17 -0
  223. package/contracts/instance/module/distribution/IDistribution.sol +10 -0
  224. package/contracts/instance/module/policy/IPolicy.sol +10 -8
  225. package/contracts/instance/module/policy/PolicyModule.sol +33 -19
  226. package/contracts/instance/module/pool/IPoolModule.sol +4 -4
  227. package/contracts/instance/module/pool/PoolModule.sol +23 -15
  228. package/contracts/instance/module/risk/IRisk.sol +18 -2
  229. package/contracts/instance/module/risk/RiskModule.sol +56 -2
  230. package/contracts/instance/module/treasury/ITreasury.sol +32 -51
  231. package/contracts/instance/module/treasury/TokenHandler.sol +2 -2
  232. package/contracts/instance/module/treasury/TreasuryModule.sol +68 -89
  233. package/contracts/instance/service/ComponentOwnerService.sol +197 -95
  234. package/contracts/instance/service/DistributionService.sol +54 -0
  235. package/contracts/instance/service/IComponentOwnerService.sol +0 -2
  236. package/contracts/instance/service/IDistributionService.sol +12 -0
  237. package/contracts/instance/service/IPoolService.sol +7 -0
  238. package/contracts/instance/service/IProductService.sol +56 -7
  239. package/contracts/instance/service/PoolService.sol +49 -23
  240. package/contracts/instance/service/ProductService.sol +247 -91
  241. package/contracts/registry/ChainNft.sol +43 -15
  242. package/contracts/registry/IChainNft.sol +3 -2
  243. package/contracts/registry/IRegistry.sol +44 -28
  244. package/contracts/registry/IRegistryService.sol +29 -0
  245. package/contracts/registry/ITransferInterceptor.sol +6 -0
  246. package/contracts/registry/Registry.sol +383 -274
  247. package/contracts/registry/RegistryService.sol +375 -0
  248. package/contracts/registry/RegistryServiceManager.sol +52 -0
  249. package/contracts/shared/ContractDeployerLib.sol +72 -0
  250. package/contracts/shared/ERC165.sol +1 -1
  251. package/contracts/shared/IRegisterable.sol +7 -9
  252. package/contracts/shared/IVersionable.sol +55 -11
  253. package/contracts/shared/NftOwnable.sol +87 -0
  254. package/contracts/shared/ProxyManager.sol +103 -0
  255. package/contracts/shared/Registerable.sol +74 -43
  256. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  257. package/contracts/shared/Versionable.sol +112 -54
  258. package/contracts/test/TestDistribution.sol +22 -0
  259. package/contracts/test/TestPool.sol +7 -2
  260. package/contracts/test/TestProduct.sol +37 -7
  261. package/contracts/test/TestRegisterable.sol +5 -6
  262. package/contracts/test/TestService.sol +5 -11
  263. package/contracts/types/Fee.sol +8 -3
  264. package/contracts/types/ObjectType.sol +24 -8
  265. package/contracts/types/ReferralId.sol +48 -0
  266. package/contracts/types/RiskId.sol +43 -0
  267. package/contracts/types/RoleId.sol +2 -2
  268. package/contracts/types/Version.sol +9 -0
  269. package/package.json +1 -1
  270. package/artifacts/contracts/experiment/errors/IncrementRevert.sol/IIncrementRevert.dbg.json +0 -4
  271. package/artifacts/contracts/experiment/errors/IncrementRevert.sol/IIncrementRevert.json +0 -27
  272. package/artifacts/contracts/experiment/errors/IncrementRevert.sol/IncrementRevert.dbg.json +0 -4
  273. package/artifacts/contracts/experiment/errors/IncrementRevert.sol/IncrementRevert.json +0 -83
  274. package/artifacts/contracts/experiment/errors/Revert.sol/IRevert.dbg.json +0 -4
  275. package/artifacts/contracts/experiment/errors/Revert.sol/IRevert.json +0 -75
  276. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  277. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  278. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  279. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  280. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  281. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  282. package/contracts/experiment/errors/IncrementRevert.sol +0 -43
  283. package/contracts/experiment/statemachine/README.md +0 -112
  284. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  285. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  286. package/contracts/registry/IRegistryLinked.sol +0 -8
@@ -20,10 +20,59 @@
20
20
  "name": "token",
21
21
  "type": "address"
22
22
  },
23
+ {
24
+ "internalType": "bool",
25
+ "name": "isInterceptor",
26
+ "type": "bool"
27
+ },
23
28
  {
24
29
  "internalType": "address",
25
30
  "name": "pool",
26
31
  "type": "address"
32
+ },
33
+ {
34
+ "internalType": "address",
35
+ "name": "distribution",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "components": [
40
+ {
41
+ "internalType": "UFixed",
42
+ "name": "fractionalFee",
43
+ "type": "uint256"
44
+ },
45
+ {
46
+ "internalType": "uint256",
47
+ "name": "fixedFee",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "internalType": "struct Fee",
52
+ "name": "productFee",
53
+ "type": "tuple"
54
+ },
55
+ {
56
+ "components": [
57
+ {
58
+ "internalType": "UFixed",
59
+ "name": "fractionalFee",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "internalType": "uint256",
64
+ "name": "fixedFee",
65
+ "type": "uint256"
66
+ }
67
+ ],
68
+ "internalType": "struct Fee",
69
+ "name": "processingFee",
70
+ "type": "tuple"
71
+ },
72
+ {
73
+ "internalType": "address",
74
+ "name": "initialOwner",
75
+ "type": "address"
27
76
  }
28
77
  ],
29
78
  "stateMutability": "nonpayable",
@@ -31,11 +80,180 @@
31
80
  },
32
81
  {
33
82
  "inputs": [],
34
- "name": "getData",
83
+ "name": "InvalidInitialization",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "NotInitializing",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "anonymous": false,
93
+ "inputs": [
94
+ {
95
+ "indexed": false,
96
+ "internalType": "uint64",
97
+ "name": "version",
98
+ "type": "uint64"
99
+ }
100
+ ],
101
+ "name": "Initialized",
102
+ "type": "event"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "REGISTERABLE_LOCATION_V1",
107
+ "outputs": [
108
+ {
109
+ "internalType": "bytes32",
110
+ "name": "",
111
+ "type": "bytes32"
112
+ }
113
+ ],
114
+ "stateMutability": "view",
115
+ "type": "function"
116
+ },
117
+ {
118
+ "inputs": [
119
+ {
120
+ "internalType": "uint256",
121
+ "name": "sumInsuredAmount",
122
+ "type": "uint256"
123
+ },
124
+ {
125
+ "internalType": "RiskId",
126
+ "name": "riskId",
127
+ "type": "bytes8"
128
+ },
129
+ {
130
+ "internalType": "uint256",
131
+ "name": "lifetime",
132
+ "type": "uint256"
133
+ },
134
+ {
135
+ "internalType": "bytes",
136
+ "name": "applicationData",
137
+ "type": "bytes"
138
+ }
139
+ ],
140
+ "name": "calculateNetPremium",
141
+ "outputs": [
142
+ {
143
+ "internalType": "uint256",
144
+ "name": "netPremiumAmount",
145
+ "type": "uint256"
146
+ }
147
+ ],
148
+ "stateMutability": "view",
149
+ "type": "function"
150
+ },
151
+ {
152
+ "inputs": [
153
+ {
154
+ "internalType": "uint256",
155
+ "name": "sumInsuredAmount",
156
+ "type": "uint256"
157
+ },
158
+ {
159
+ "internalType": "RiskId",
160
+ "name": "riskId",
161
+ "type": "bytes8"
162
+ },
163
+ {
164
+ "internalType": "uint256",
165
+ "name": "lifetime",
166
+ "type": "uint256"
167
+ },
168
+ {
169
+ "internalType": "bytes",
170
+ "name": "applicationData",
171
+ "type": "bytes"
172
+ },
173
+ {
174
+ "internalType": "ReferralId",
175
+ "name": "referralId",
176
+ "type": "bytes8"
177
+ },
178
+ {
179
+ "internalType": "NftId",
180
+ "name": "bundleNftId",
181
+ "type": "uint96"
182
+ }
183
+ ],
184
+ "name": "calculatePremium",
185
+ "outputs": [
186
+ {
187
+ "internalType": "uint256",
188
+ "name": "premiumAmount",
189
+ "type": "uint256"
190
+ }
191
+ ],
192
+ "stateMutability": "view",
193
+ "type": "function"
194
+ },
195
+ {
196
+ "inputs": [],
197
+ "name": "getDistributionNftId",
198
+ "outputs": [
199
+ {
200
+ "internalType": "NftId",
201
+ "name": "distributionNftId",
202
+ "type": "uint96"
203
+ }
204
+ ],
205
+ "stateMutability": "view",
206
+ "type": "function"
207
+ },
208
+ {
209
+ "inputs": [],
210
+ "name": "getInitialInfo",
35
211
  "outputs": [
212
+ {
213
+ "components": [
214
+ {
215
+ "internalType": "NftId",
216
+ "name": "nftId",
217
+ "type": "uint96"
218
+ },
219
+ {
220
+ "internalType": "NftId",
221
+ "name": "parentNftId",
222
+ "type": "uint96"
223
+ },
224
+ {
225
+ "internalType": "ObjectType",
226
+ "name": "objectType",
227
+ "type": "uint8"
228
+ },
229
+ {
230
+ "internalType": "bool",
231
+ "name": "isInterceptor",
232
+ "type": "bool"
233
+ },
234
+ {
235
+ "internalType": "address",
236
+ "name": "objectAddress",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "internalType": "address",
241
+ "name": "initialOwner",
242
+ "type": "address"
243
+ },
244
+ {
245
+ "internalType": "bytes",
246
+ "name": "data",
247
+ "type": "bytes"
248
+ }
249
+ ],
250
+ "internalType": "struct IRegistry.ObjectInfo",
251
+ "name": "",
252
+ "type": "tuple"
253
+ },
36
254
  {
37
255
  "internalType": "bytes",
38
- "name": "data",
256
+ "name": "",
39
257
  "type": "bytes"
40
258
  }
41
259
  ],
@@ -74,7 +292,7 @@
74
292
  "outputs": [
75
293
  {
76
294
  "internalType": "address",
77
- "name": "owner",
295
+ "name": "",
78
296
  "type": "address"
79
297
  }
80
298
  ],
@@ -83,11 +301,11 @@
83
301
  },
84
302
  {
85
303
  "inputs": [],
86
- "name": "getParentNftId",
304
+ "name": "getPoolNftId",
87
305
  "outputs": [
88
306
  {
89
307
  "internalType": "NftId",
90
- "name": "nftId",
308
+ "name": "poolNftId",
91
309
  "type": "uint96"
92
310
  }
93
311
  ],
@@ -96,7 +314,7 @@
96
314
  },
97
315
  {
98
316
  "inputs": [],
99
- "name": "getPolicyFee",
317
+ "name": "getProcessingFee",
100
318
  "outputs": [
101
319
  {
102
320
  "components": [
@@ -112,7 +330,7 @@
112
330
  }
113
331
  ],
114
332
  "internalType": "struct Fee",
115
- "name": "policyFee",
333
+ "name": "processingFee",
116
334
  "type": "tuple"
117
335
  }
118
336
  ],
@@ -121,20 +339,7 @@
121
339
  },
122
340
  {
123
341
  "inputs": [],
124
- "name": "getPoolNftId",
125
- "outputs": [
126
- {
127
- "internalType": "NftId",
128
- "name": "poolNftId",
129
- "type": "uint96"
130
- }
131
- ],
132
- "stateMutability": "view",
133
- "type": "function"
134
- },
135
- {
136
- "inputs": [],
137
- "name": "getProcessingFee",
342
+ "name": "getProductFee",
138
343
  "outputs": [
139
344
  {
140
345
  "components": [
@@ -150,7 +355,7 @@
150
355
  }
151
356
  ],
152
357
  "internalType": "struct Fee",
153
- "name": "processingFee",
358
+ "name": "productFee",
154
359
  "type": "tuple"
155
360
  }
156
361
  ],
@@ -183,19 +388,6 @@
183
388
  "stateMutability": "view",
184
389
  "type": "function"
185
390
  },
186
- {
187
- "inputs": [],
188
- "name": "getType",
189
- "outputs": [
190
- {
191
- "internalType": "ObjectType",
192
- "name": "",
193
- "type": "uint8"
194
- }
195
- ],
196
- "stateMutability": "pure",
197
- "type": "function"
198
- },
199
391
  {
200
392
  "inputs": [],
201
393
  "name": "getWallet",
@@ -216,19 +408,6 @@
216
408
  "stateMutability": "nonpayable",
217
409
  "type": "function"
218
410
  },
219
- {
220
- "inputs": [],
221
- "name": "register",
222
- "outputs": [
223
- {
224
- "internalType": "NftId",
225
- "name": "componentId",
226
- "type": "uint96"
227
- }
228
- ],
229
- "stateMutability": "nonpayable",
230
- "type": "function"
231
- },
232
411
  {
233
412
  "inputs": [
234
413
  {
@@ -245,7 +424,7 @@
245
424
  }
246
425
  ],
247
426
  "internalType": "struct Fee",
248
- "name": "policyFee",
427
+ "name": "productFee",
249
428
  "type": "tuple"
250
429
  },
251
430
  {
@@ -298,8 +477,26 @@
298
477
  "type": "function"
299
478
  }
300
479
  ],
301
- "bytecode": "0x60e06040523480156200001157600080fd5b50604051620015543803806200155483398101604081905262000034916200057c565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff1916600117905583838382826001600160a01b038216620000d15760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040516301ffc9a760e01b81526306ecd8ef60e01b60048201526301ffc9a790602401602060405180830381865afa15801562000121573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001479190620005e0565b620001955760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620000c8565b6001600160601b03811660a081905260805160405163e74d052f60e01b815260048101929092526001600160a01b03169063e74d052f90602401602060405180830381865afa158015620001ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002139190620005e0565b6200026d5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401620000c8565b3360c052631dfba64760e11b60009081526020527f95e5a2564f7af40498dc043c6da135e06324c5edb1f60c2bf4dcdf2da207fa45805460ff1916600117905550506080516040516305247a1760e51b81526001600160601b03841660048201526000916001600160a01b03169063a48f42e090602401600060405180830381865afa15801562000302573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200032c91908101906200070c565b6060810151600580546001600160a01b0319166001600160a01b0390921691821790556040516301ffc9a760e01b8152638de54b9b60e01b6004820152919250906301ffc9a790602401602060405180830381865afa15801562000394573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ba9190620005e0565b620003e25760405162461bcd60e51b81526020600482015260006024820152604401620000c8565b600560009054906101000a90046001600160a01b03166001600160a01b0316636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000436573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045c9190620007e6565b600180546001600160a01b039283166001600160a01b03199182161790915560038054821630179055600480549483169490911693909317835560055460408051634288121d60e01b81529051919092169550634288121d9450818401936020935090918290030181865afa158015620004da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005009190620007e6565b600680546001600160a01b039283166001600160a01b031991821617909155600780549390921692169190911790555062000806915050565b6001600160a01b03811681146200054f57600080fd5b50565b80516200055f8162000539565b919050565b80516001600160601b03811681146200055f57600080fd5b600080600080608085870312156200059357600080fd5b8451620005a08162000539565b9350620005b06020860162000564565b92506040850151620005c28162000539565b6060860151909250620005d58162000539565b939692955090935050565b600060208284031215620005f357600080fd5b815180151581146200060457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156200064657620006466200060b565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200067757620006776200060b565b604052919050565b600082601f8301126200069157600080fd5b81516001600160401b03811115620006ad57620006ad6200060b565b6020620006c3601f8301601f191682016200064c565b8281528582848701011115620006d857600080fd5b60005b83811015620006f8578581018301518282018401528201620006db565b506000928101909101919091529392505050565b6000602082840312156200071f57600080fd5b81516001600160401b03808211156200073757600080fd5b9083019060c082860312156200074c57600080fd5b6200075662000621565b620007618362000564565b8152620007716020840162000564565b6020820152604083015160ff811681146200078b57600080fd5b60408201526200079e6060840162000552565b6060820152620007b16080840162000552565b608082015260a083015182811115620007c957600080fd5b620007d7878286016200067f565b60a08301525095945050505050565b600060208284031215620007f957600080fd5b8151620006048162000539565b60805160a05160c051610cf46200086060003960006105fc015260006101c1015260008181610201015281816102d80152818161036e015281816104c4015281816105240152818161057d015261063f0152610cf46000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80635ab1bd53116100a2578063b6b412ba11610071578063b6b412ba1461023f578063bc74aab014610252578063daafed4014610267578063de7b5d141461026f578063f83d08ba1461028057600080fd5b80635ab1bd53146101ff578063644c45e014610225578063893d20e81461022d578063a69df4b51461023557600080fd5b80631bdd6b76116100de5780631bdd6b76146101a657806321df0da7146101ae57806331b62a3b146101bf5780633bc5de30146101e557600080fd5b806301ffc9a714610110578063132996041461015257806315dae03e146101775780631aa3a00814610186575b600080fd5b61013d61011e3660046109ac565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6003546001600160a01b03165b6040516001600160a01b039091168152602001610149565b60405160648152602001610149565b61018e61028d565b6040516001600160601b039091168152602001610149565b61018e61049f565b6004546001600160a01b031661015f565b7f000000000000000000000000000000000000000000000000000000000000000061018e565b6040805160208101825260008152905161014991906109dd565b7f000000000000000000000000000000000000000000000000000000000000000061015f565b61018e61050c565b61015f61055b565b61023d6106b8565b005b61023d61024d366004610a92565b610750565b61025a6107f0565b6040516101499190610ac7565b61025a61088f565b6005546001600160a01b031661015f565b61023d61092e565b905090565b600061029761055b565b6001600160a01b0316336001600160a01b0316146102d65760405162461bcd60e51b815260206004820152600060248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661034c5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a434f422d3030313a52454749535452595f5a45524f000000000060448201526064016102cd565b60055460405163c3c5a54760e01b81526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063c3c5a54790602401602060405180830381865afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db9190610ade565b6104315760405162461bcd60e51b815260206004820152602160248201527f4552524f523a434f423a494e5354414e43455f4e4f545f5245474953544552456044820152601160fa1b60648201526084016102cd565b600154604051632210724360e11b81523060048201526001600160a01b0390911690634420e486906024016020604051808303816000875af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102889190610b1c565b600754604051636939560f60e11b81526001600160a01b0391821660048201526000917f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e906024015b602060405180830381865afa15801561047b573d6000803e3d6000fd5b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e906024016104ef565b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e89190610b1c565b90506105f5816000610996565b15610621577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b29190610b4f565b91505090565b6106c061055b565b6001600160a01b0316336001600160a01b0316146106f05760405162461bcd60e51b81526004016102cd90610b6c565b600154604051630bdb124f60e21b81523060048201526001600160a01b0390911690632f6c493c906024015b600060405180830381600087803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b50505050565b61075861055b565b6001600160a01b0316336001600160a01b0316146107885760405162461bcd60e51b81526004016102cd90610b6c565b600654604051635b5a095d60e11b81526001600160a01b039091169063b6b412ba906107ba9085908590600401610ba3565b600060405180830381600087803b1580156107d457600080fd5b505af11580156107e8573d6000803e3d6000fd5b505050505050565b60408051808201909152600080825260208201526005546001600160a01b0316634fd077f561081d61050c565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161012060405180830381865afa158015610862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108869190610bf9565b60a00151905090565b60408051808201909152600080825260208201526005546001600160a01b0316634fd077f56108bc61050c565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161012060405180830381865afa158015610901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109259190610bf9565b60c00151905090565b61093661055b565b6001600160a01b0316336001600160a01b0316146109665760405162461bcd60e51b81526004016102cd90610b6c565b60015460405163f435f5a760e01b81523060048201526001600160a01b039091169063f435f5a79060240161071c565b6001600160601b03828116908216145b92915050565b6000602082840312156109be57600080fd5b81356001600160e01b0319811681146109d657600080fd5b9392505050565b600060208083528351808285015260005b81811015610a0a578581018301518582016040015282016109ee565b506000604082860101526040601f19601f8301168501019250505092915050565b6040805190810167ffffffffffffffff81118282101715610a5c57634e487b7160e01b600052604160045260246000fd5b60405290565b600060408284031215610a7457600080fd5b610a7c610a2b565b9050813581526020820135602082015292915050565b60008060808385031215610aa557600080fd5b610aaf8484610a62565b9150610abe8460408501610a62565b90509250929050565b8151815260208083015190820152604081016109a6565b600060208284031215610af057600080fd5b815180151581146109d657600080fd5b80516001600160601b0381168114610b1757600080fd5b919050565b600060208284031215610b2e57600080fd5b6109d682610b00565b6001600160a01b0381168114610b4c57600080fd5b50565b600060208284031215610b6157600080fd5b81516109d681610b37565b60208082526017908201527f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000604082015260600190565b8251815260208084015181830152825160408301528201516060820152608081016109d6565b600060408284031215610bdb57600080fd5b610be3610a2b565b9050815181526020820151602082015292915050565b60006101208284031215610c0c57600080fd5b60405160e0810181811067ffffffffffffffff82111715610c3d57634e487b7160e01b600052604160045260246000fd5b604052610c4983610b00565b8152610c5760208401610b00565b6020820152610c6860408401610b00565b60408201526060830151610c7b81610b37565b60608201526080830151610c8e81610b37565b6080820152610ca08460a08501610bc9565b60a0820152610cb28460e08501610bc9565b60c0820152939250505056fea26469706673582212200e5563bf46e322c1d5f530386e15cdd1b519ec3b61aee5b1d86d6d1caa7492d564736f6c63430008140033",
302
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80635ab1bd53116100a2578063b6b412ba11610071578063b6b412ba1461023f578063bc74aab014610252578063daafed4014610267578063de7b5d141461026f578063f83d08ba1461028057600080fd5b80635ab1bd53146101ff578063644c45e014610225578063893d20e81461022d578063a69df4b51461023557600080fd5b80631bdd6b76116100de5780631bdd6b76146101a657806321df0da7146101ae57806331b62a3b146101bf5780633bc5de30146101e557600080fd5b806301ffc9a714610110578063132996041461015257806315dae03e146101775780631aa3a00814610186575b600080fd5b61013d61011e3660046109ac565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6003546001600160a01b03165b6040516001600160a01b039091168152602001610149565b60405160648152602001610149565b61018e61028d565b6040516001600160601b039091168152602001610149565b61018e61049f565b6004546001600160a01b031661015f565b7f000000000000000000000000000000000000000000000000000000000000000061018e565b6040805160208101825260008152905161014991906109dd565b7f000000000000000000000000000000000000000000000000000000000000000061015f565b61018e61050c565b61015f61055b565b61023d6106b8565b005b61023d61024d366004610a92565b610750565b61025a6107f0565b6040516101499190610ac7565b61025a61088f565b6005546001600160a01b031661015f565b61023d61092e565b905090565b600061029761055b565b6001600160a01b0316336001600160a01b0316146102d65760405162461bcd60e51b815260206004820152600060248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661034c5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a434f422d3030313a52454749535452595f5a45524f000000000060448201526064016102cd565b60055460405163c3c5a54760e01b81526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063c3c5a54790602401602060405180830381865afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db9190610ade565b6104315760405162461bcd60e51b815260206004820152602160248201527f4552524f523a434f423a494e5354414e43455f4e4f545f5245474953544552456044820152601160fa1b60648201526084016102cd565b600154604051632210724360e11b81523060048201526001600160a01b0390911690634420e486906024016020604051808303816000875af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102889190610b1c565b600754604051636939560f60e11b81526001600160a01b0391821660048201526000917f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e906024015b602060405180830381865afa15801561047b573d6000803e3d6000fd5b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e906024016104ef565b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e89190610b1c565b90506105f5816000610996565b15610621577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b29190610b4f565b91505090565b6106c061055b565b6001600160a01b0316336001600160a01b0316146106f05760405162461bcd60e51b81526004016102cd90610b6c565b600154604051630bdb124f60e21b81523060048201526001600160a01b0390911690632f6c493c906024015b600060405180830381600087803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b50505050565b61075861055b565b6001600160a01b0316336001600160a01b0316146107885760405162461bcd60e51b81526004016102cd90610b6c565b600654604051635b5a095d60e11b81526001600160a01b039091169063b6b412ba906107ba9085908590600401610ba3565b600060405180830381600087803b1580156107d457600080fd5b505af11580156107e8573d6000803e3d6000fd5b505050505050565b60408051808201909152600080825260208201526005546001600160a01b0316634fd077f561081d61050c565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161012060405180830381865afa158015610862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108869190610bf9565b60a00151905090565b60408051808201909152600080825260208201526005546001600160a01b0316634fd077f56108bc61050c565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161012060405180830381865afa158015610901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109259190610bf9565b60c00151905090565b61093661055b565b6001600160a01b0316336001600160a01b0316146109665760405162461bcd60e51b81526004016102cd90610b6c565b60015460405163f435f5a760e01b81523060048201526001600160a01b039091169063f435f5a79060240161071c565b6001600160601b03828116908216145b92915050565b6000602082840312156109be57600080fd5b81356001600160e01b0319811681146109d657600080fd5b9392505050565b600060208083528351808285015260005b81811015610a0a578581018301518582016040015282016109ee565b506000604082860101526040601f19601f8301168501019250505092915050565b6040805190810167ffffffffffffffff81118282101715610a5c57634e487b7160e01b600052604160045260246000fd5b60405290565b600060408284031215610a7457600080fd5b610a7c610a2b565b9050813581526020820135602082015292915050565b60008060808385031215610aa557600080fd5b610aaf8484610a62565b9150610abe8460408501610a62565b90509250929050565b8151815260208083015190820152604081016109a6565b600060208284031215610af057600080fd5b815180151581146109d657600080fd5b80516001600160601b0381168114610b1757600080fd5b919050565b600060208284031215610b2e57600080fd5b6109d682610b00565b6001600160a01b0381168114610b4c57600080fd5b50565b600060208284031215610b6157600080fd5b81516109d681610b37565b60208082526017908201527f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000604082015260600190565b8251815260208084015181830152825160408301528201516060820152608081016109d6565b600060408284031215610bdb57600080fd5b610be3610a2b565b9050815181526020820151602082015292915050565b60006101208284031215610c0c57600080fd5b60405160e0810181811067ffffffffffffffff82111715610c3d57634e487b7160e01b600052604160045260246000fd5b604052610c4983610b00565b8152610c5760208401610b00565b6020820152610c6860408401610b00565b60408201526060830151610c7b81610b37565b60608201526080830151610c8e81610b37565b6080820152610ca08460a08501610bc9565b60a0820152610cb28460e08501610bc9565b60c0820152939250505056fea26469706673582212200e5563bf46e322c1d5f530386e15cdd1b519ec3b61aee5b1d86d6d1caa7492d564736f6c63430008140033",
303
- "linkReferences": {},
304
- "deployedLinkReferences": {}
480
+ "bytecode": "0x60806040523480156200001157600080fd5b506040516200234a3803806200234a83398101604081905262000034916200089c565b888888606e6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff1916600117905589856040805160208101909152600081526200009687878686868662000562565b6000620000b96000805160206200232a833981519152546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03891660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa15801562000109573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000133919081019062000a06565b6080810151600580546001600160a01b0319166001600160a01b0390921691821790556040516301ffc9a760e01b8152630de7806f60e41b6004820152919250906301ffc9a790602401602060405180830381865afa1580156200019b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c1919062000aec565b620001ed5760405162461bcd60e51b815260206004820152600060248201526044015b60405180910390fd5b600560009054906101000a90046001600160a01b03166001600160a01b0316636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000241573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000267919062000b11565b600180546001600160a01b03199081166001600160a01b0393841617825560038054309083161790556004805490911692891692909217909155631b1599eb60e21b60009081526020527f82dc1aafdf8e16d475718790c9464a2912866acb395e292abd1ea37be80f5b28805460ff191690911790555050505050505050600560009054906101000a90046001600160a01b03166001600160a01b0316634288121d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000339573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035f919062000b11565b600680546001600160a01b03199081166001600160a01b0393841617909155600780548216888416179055600880549091168683161790558351600955602080850151600a558351600b55830151600c556000805160206200232a8339815191525416600754604051636939560f60e11b81526001600160a01b03918216600482015291169063d272ac1e90602401602060405180830381865afa1580156200040c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000432919062000b31565b600d80546001600160601b0319166001600160601b0392909216919091179055620004736000805160206200232a833981519152546001600160a01b031690565b600854604051636939560f60e11b81526001600160a01b03918216600482015291169063d272ac1e90602401602060405180830381865afa158015620004bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e3919062000b31565b600d80546001600160601b03929092166c0100000000000000000000000002600160601b600160c01b03199092169190911790556379fc0e7160e11b60009081526020527fae37458bb8945ae7571d1722238fea83f3c5619cf829a972c67f136a0bac29d2805460ff1916600117905550505050505050505062000caa565b6001600160a01b038616620005ba5760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f00000000006044820152606401620001e4565b6040516301ffc9a760e01b8152636882e63f60e11b600482015286906001600160a01b038216906301ffc9a790602401602060405180830381865afa15801562000608573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200062e919062000aec565b6200067c5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620001e4565b6001600160a01b03818116600160a01b6001600160601b0389168102919091176000805160206200232a8339815191529081557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30180546001600160a01b031961ffff60a01b1990911660ff8b1690940260ff60a81b191693909317600160a81b8915150217929092169286169290921790557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3026200073b848262000bde565b5063a6d3826560e01b60009081526020527f164a5a3a3a16df858f794c5fc01b962add2c2151ae53ddb31581eabdf1156730805460ff191660011790555050505050505050565b6001600160a01b03811681146200079857600080fd5b50565b8051620007a88162000782565b919050565b80516001600160601b0381168114620007a857600080fd5b80518015158114620007a857600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715620008115762000811620007d6565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620008425762000842620007d6565b604052919050565b6000604082840312156200085d57600080fd5b604080519081016001600160401b0381118282101715620008825762000882620007d6565b604052825181526020928301519281019290925250919050565b60008060008060008060008060006101608a8c031215620008bc57600080fd5b8951620008c98162000782565b9850620008d960208b01620007ad565b975060408a0151620008eb8162000782565b9650620008fb60608b01620007c5565b955060808a01516200090d8162000782565b60a08b0151909550620009208162000782565b9350620009318b60c08c016200084a565b9250620009438b6101008c016200084a565b91506101408a0151620009568162000782565b809150509295985092959850929598565b805160ff81168114620007a857600080fd5b600082601f8301126200098b57600080fd5b81516001600160401b03811115620009a757620009a7620007d6565b6020620009bd601f8301601f1916820162000817565b8281528582848701011115620009d257600080fd5b60005b83811015620009f2578581018301518282018401528201620009d5565b506000928101909101919091529392505050565b60006020828403121562000a1957600080fd5b81516001600160401b038082111562000a3157600080fd5b9083019060e0828603121562000a4657600080fd5b62000a50620007ec565b62000a5b83620007ad565b815262000a6b60208401620007ad565b602082015262000a7e6040840162000967565b604082015262000a9160608401620007c5565b606082015262000aa4608084016200079b565b608082015262000ab760a084016200079b565b60a082015260c08301518281111562000acf57600080fd5b62000add8782860162000979565b60c08301525095945050505050565b60006020828403121562000aff57600080fd5b62000b0a82620007c5565b9392505050565b60006020828403121562000b2457600080fd5b815162000b0a8162000782565b60006020828403121562000b4457600080fd5b62000b0a82620007ad565b600181811c9082168062000b6457607f821691505b60208210810362000b8557634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000bd957600081815260208120601f850160051c8101602086101562000bb45750805b601f850160051c820191505b8181101562000bd55782815560010162000bc0565b5050505b505050565b81516001600160401b0381111562000bfa5762000bfa620007d6565b62000c128162000c0b845462000b4f565b8462000b8b565b602080601f83116001811462000c4a576000841562000c315750858301515b600019600386901b1c1916600185901b17855562000bd5565b600085815260208120601f198616915b8281101562000c7b5788860151825594840194600190910190840162000c5a565b508582101562000c9a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6116708062000cba6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80635e78426b116100a2578063b6b412ba11610071578063b6b412ba14610257578063daafed401461026a578063db6dcc9514610272578063de7b5d141461027a578063f83d08ba1461028b57600080fd5b80635e78426b1461022a578063644c45e01461023d578063893d20e814610245578063a69df4b51461024d57600080fd5b80631380bf23116100e95780631380bf23146101b95780631bdd6b76146101dc5780631eff4b22146101fc57806321df0da7146102115780635ab1bd531461022257600080fd5b806301ffc9a71461011b5780630fec111c1461015d57806312abb9b3146101735780631329960414610194575b600080fd5b610148610129366004610c66565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610293565b604051610154929190610ce7565b610186610181366004610ee8565b6104bd565b604051908152602001610154565b6003546001600160a01b03165b6040516001600160a01b039091168152602001610154565b6101c1610549565b60408051825181526020928301519281019290925201610154565b6101e461067e565b6040516001600160601b039091168152602001610154565b61018660008051602061161b83398151915281565b6004546001600160a01b03166101a1565b6101a16106fb565b610186610238366004610f71565b610717565b6101e461072d565b6101a161076b565b6102556107e6565b005b610255610265366004611004565b610887565b6101c1610927565b6101e4610a5c565b6005546001600160a01b03166101a1565b610255610a97565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082018190529091806102d7610aff565b91509150600080600760009054906101000a90046001600160a01b03166001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610331573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261035991908101906110d7565b915091506000806000838060200190518101906103769190611200565b6040805161012081018252600d546001600160601b038082168352600160601b90910416602080830191909152600480546001600160a01b031683850152835180850185526009548152600a5481840152606084015283518085018552600b548152600c5492810192909252608083019190915260a0820186905260c0820185905260e082018490528251632bd182d360e01b81528351969c50949a509298508e975095506101008601945073__$a23651848365a6a5ca15f07b4331037f48$__93632bd182d39380840193908290030181865af415801561045c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048091906112a4565b905260035460405161049f92916001600160a01b0316906020016112c0565b60405160208183030381529060405298509850505050505050509091565b600654604051639cdaa7f960e01b81526000916001600160a01b031690639cdaa7f9906104f89089908b908a908a9089908b906004016113b6565b60a060405180830381865afa158015610515573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610539919061140d565b50929a9950505050505050505050565b6040805180820190915260008082526020820152600061056761072d565b60055460405163278b381b60e01b81526001600160601b03831660048201529192506001600160a01b03169063278b381b90602401602060405180830381865afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dd919061144d565b156106625760055460405163f2b246c360e01b81526001600160601b03831660048201526001600160a01b039091169063f2b246c3906024016101e060405180830381865afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106589190611468565b6060015191505090565b5050604080518082019091526009548152600a54602082015290565b60006106886106fb565b600754604051636939560f60e11b81526001600160a01b03918216600482015291169063d272ac1e906024015b602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611527565b905090565b60008051602061161b833981519152546001600160a01b031690565b6000610724600a86611544565b95945050505050565b60008051602061161b83398151915254604051636939560f60e11b81523060048201526000916001600160a01b03169063d272ac1e906024016106b5565b600060008051602061161b83398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa1580156107c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611566565b6107ee61076b565b6001600160a01b0316336001600160a01b0316146108275760405162461bcd60e51b815260040161081e90611583565b60405180910390fd5b600154604051630bdb124f60e21b81523060048201526001600160a01b0390911690632f6c493c906024015b600060405180830381600087803b15801561086d57600080fd5b505af1158015610881573d6000803e3d6000fd5b50505050565b61088f61076b565b6001600160a01b0316336001600160a01b0316146108bf5760405162461bcd60e51b815260040161081e90611583565b600654604051635b5a095d60e11b81526001600160a01b039091169063b6b412ba906108f190859085906004016115ba565b600060405180830381600087803b15801561090b57600080fd5b505af115801561091f573d6000803e3d6000fd5b505050505050565b6040805180820190915260008082526020820152600061094561072d565b60055460405163278b381b60e01b81526001600160601b03831660048201529192506001600160a01b03169063278b381b90602401602060405180830381865afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb919061144d565b15610a405760055460405163f2b246c360e01b81526001600160601b03831660048201526001600160a01b039091169063f2b246c3906024016101e060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190611468565b6080015191505090565b505060408051808201909152600b548152600c54602082015290565b6000610a666106fb565b600854604051636939560f60e11b81526001600160a01b03918216600482015291169063d272ac1e906024016106b5565b610a9f61076b565b6001600160a01b0316336001600160a01b031614610acf5760405162461bcd60e51b815260040161081e90611583565b60015460405163f435f5a760e01b81523060048201526001600160a01b039091169063f435f5a790602401610853565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091526060600060008051602061161b83398151915290506040518060e00160405280610b62600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c090920191610bcc906115e0565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf8906115e0565b8015610c455780601f10610c1a57610100808354040283529160200191610c45565b820191906000526020600020905b815481529060010190602001808311610c2857829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b600060208284031215610c7857600080fd5b81356001600160e01b031981168114610c9057600080fd5b9392505050565b60005b83811015610cb2578181015183820152602001610c9a565b50506000910152565b60008151808452610cd3816020860160208601610c97565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151610d2b60a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610d71610120840182610cbb565b905082810360208401526107248185610cbb565b6001600160c01b031981168114610d9b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610dd757610dd7610d9e565b60405290565b60405160e0810167ffffffffffffffff81118282101715610dd757610dd7610d9e565b604051610120810167ffffffffffffffff81118282101715610dd757610dd7610d9e565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e4d57610e4d610d9e565b604052919050565b600067ffffffffffffffff821115610e6f57610e6f610d9e565b50601f01601f191660200190565b600082601f830112610e8e57600080fd5b8135610ea1610e9c82610e55565b610e24565b818152846020838601011115610eb657600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160601b0381168114610d9b57600080fd5b60008060008060008060c08789031215610f0157600080fd5b863595506020870135610f1381610d85565b945060408701359350606087013567ffffffffffffffff811115610f3657600080fd5b610f4289828a01610e7d565b9350506080870135610f5381610d85565b915060a0870135610f6381610ed3565b809150509295509295509295565b60008060008060808587031215610f8757600080fd5b843593506020850135610f9981610d85565b925060408501359150606085013567ffffffffffffffff811115610fbc57600080fd5b610fc887828801610e7d565b91505092959194509250565b600060408284031215610fe657600080fd5b610fee610db4565b9050813581526020820135602082015292915050565b6000806080838503121561101757600080fd5b6110218484610fd4565b91506110308460408501610fd4565b90509250929050565b805161104481610ed3565b919050565b805160ff8116811461104457600080fd5b8051801515811461104457600080fd5b6001600160a01b0381168114610d9b57600080fd5b80516110448161106a565b600082601f83011261109b57600080fd5b81516110a9610e9c82610e55565b8181528460208386010111156110be57600080fd5b6110cf826020830160208701610c97565b949350505050565b600080604083850312156110ea57600080fd5b825167ffffffffffffffff8082111561110257600080fd5b9084019060e0828703121561111657600080fd5b61111e610ddd565b61112783611039565b815261113560208401611039565b602082015261114660408401611049565b60408201526111576060840161105a565b60608201526111686080840161107f565b608082015261117960a0840161107f565b60a082015260c08301518281111561119057600080fd5b61119c8882860161108a565b60c08301525060208601519094509150808211156111b957600080fd5b506111c68582860161108a565b9150509250929050565b6000604082840312156111e257600080fd5b6111ea610db4565b9050815181526020820151602082015292915050565b60008060008060008086880361014081121561121b57600080fd5b604081121561122957600080fd5b50611232610db4565b61123b8861105a565b8152602088015160208201528096505060408701516112598161106a565b606088015190955061126a8161106a565b935061127988608089016111d0565b92506112888860c089016111d0565b91506112988861010089016111d0565b90509295509295509295565b6000604082840312156112b657600080fd5b610c9083836111d0565b82516001600160601b031681526020808401516102008301916112ed908401826001600160601b03169052565b50604084015161130860408401826001600160a01b03169052565b506060840151611325606084018280518252602090810151910152565b506080840151805160a0840152602081015160c08401525060a0840151805160e084015260208101516101008401525060c0840151805161012084015260208101516101408401525060e0840151805161016084015260208101516101808401525061010084015180516101a084015260208101516101c0840152506001600160a01b0383166101e0830152610c90565b600067ffffffffffffffff60c01b808916835287602084015286604084015260c060608401526113e960c0840187610cbb565b6001600160601b039590951660808401529290921660a09091015250949350505050565b600080600080600060a0868803121561142557600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b60006020828403121561145f57600080fd5b610c908261105a565b60006101e0828403121561147b57600080fd5b611483610e00565b61148c83611039565b815261149a60208401611039565b60208201526114ab6040840161107f565b60408201526114bd84606085016111d0565b60608201526114cf8460a085016111d0565b60808201526114e18460e085016111d0565b60a08201526114f48461012085016111d0565b60c08201526115078461016085016111d0565b60e082015261151a846101a085016111d0565b6101008201529392505050565b60006020828403121561153957600080fd5b8151610c9081610ed3565b60008261156157634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561157857600080fd5b8151610c908161106a565b60208082526017908201527f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000604082015260600190565b825181526020808401518183015282516040830152820151606082015260808101610c90565b600181811c908216806115f457607f821691505b60208210810361161457634e487b7160e01b600052602260045260246000fd5b5091905056fe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300a26469706673582212200bafc3f19e8affaafaa68e8c4c3f0988df2343a452799b0a487593d50e0e2e1e64736f6c634300081400336548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300",
481
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80635e78426b116100a2578063b6b412ba11610071578063b6b412ba14610257578063daafed401461026a578063db6dcc9514610272578063de7b5d141461027a578063f83d08ba1461028b57600080fd5b80635e78426b1461022a578063644c45e01461023d578063893d20e814610245578063a69df4b51461024d57600080fd5b80631380bf23116100e95780631380bf23146101b95780631bdd6b76146101dc5780631eff4b22146101fc57806321df0da7146102115780635ab1bd531461022257600080fd5b806301ffc9a71461011b5780630fec111c1461015d57806312abb9b3146101735780631329960414610194575b600080fd5b610148610129366004610c66565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610293565b604051610154929190610ce7565b610186610181366004610ee8565b6104bd565b604051908152602001610154565b6003546001600160a01b03165b6040516001600160a01b039091168152602001610154565b6101c1610549565b60408051825181526020928301519281019290925201610154565b6101e461067e565b6040516001600160601b039091168152602001610154565b61018660008051602061161b83398151915281565b6004546001600160a01b03166101a1565b6101a16106fb565b610186610238366004610f71565b610717565b6101e461072d565b6101a161076b565b6102556107e6565b005b610255610265366004611004565b610887565b6101c1610927565b6101e4610a5c565b6005546001600160a01b03166101a1565b610255610a97565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082018190529091806102d7610aff565b91509150600080600760009054906101000a90046001600160a01b03166001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610331573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261035991908101906110d7565b915091506000806000838060200190518101906103769190611200565b6040805161012081018252600d546001600160601b038082168352600160601b90910416602080830191909152600480546001600160a01b031683850152835180850185526009548152600a5481840152606084015283518085018552600b548152600c5492810192909252608083019190915260a0820186905260c0820185905260e082018490528251632bd182d360e01b81528351969c50949a509298508e975095506101008601945073__$a23651848365a6a5ca15f07b4331037f48$__93632bd182d39380840193908290030181865af415801561045c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048091906112a4565b905260035460405161049f92916001600160a01b0316906020016112c0565b60405160208183030381529060405298509850505050505050509091565b600654604051639cdaa7f960e01b81526000916001600160a01b031690639cdaa7f9906104f89089908b908a908a9089908b906004016113b6565b60a060405180830381865afa158015610515573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610539919061140d565b50929a9950505050505050505050565b6040805180820190915260008082526020820152600061056761072d565b60055460405163278b381b60e01b81526001600160601b03831660048201529192506001600160a01b03169063278b381b90602401602060405180830381865afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dd919061144d565b156106625760055460405163f2b246c360e01b81526001600160601b03831660048201526001600160a01b039091169063f2b246c3906024016101e060405180830381865afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106589190611468565b6060015191505090565b5050604080518082019091526009548152600a54602082015290565b60006106886106fb565b600754604051636939560f60e11b81526001600160a01b03918216600482015291169063d272ac1e906024015b602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611527565b905090565b60008051602061161b833981519152546001600160a01b031690565b6000610724600a86611544565b95945050505050565b60008051602061161b83398151915254604051636939560f60e11b81523060048201526000916001600160a01b03169063d272ac1e906024016106b5565b600060008051602061161b83398151915254604051630a57ebcf60e11b81523060048201526001600160a01b03909116906314afd79e90602401602060405180830381865afa1580156107c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f69190611566565b6107ee61076b565b6001600160a01b0316336001600160a01b0316146108275760405162461bcd60e51b815260040161081e90611583565b60405180910390fd5b600154604051630bdb124f60e21b81523060048201526001600160a01b0390911690632f6c493c906024015b600060405180830381600087803b15801561086d57600080fd5b505af1158015610881573d6000803e3d6000fd5b50505050565b61088f61076b565b6001600160a01b0316336001600160a01b0316146108bf5760405162461bcd60e51b815260040161081e90611583565b600654604051635b5a095d60e11b81526001600160a01b039091169063b6b412ba906108f190859085906004016115ba565b600060405180830381600087803b15801561090b57600080fd5b505af115801561091f573d6000803e3d6000fd5b505050505050565b6040805180820190915260008082526020820152600061094561072d565b60055460405163278b381b60e01b81526001600160601b03831660048201529192506001600160a01b03169063278b381b90602401602060405180830381865afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb919061144d565b15610a405760055460405163f2b246c360e01b81526001600160601b03831660048201526001600160a01b039091169063f2b246c3906024016101e060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190611468565b6080015191505090565b505060408051808201909152600b548152600c54602082015290565b6000610a666106fb565b600854604051636939560f60e11b81526001600160a01b03918216600482015291169063d272ac1e906024016106b5565b610a9f61076b565b6001600160a01b0316336001600160a01b031614610acf5760405162461bcd60e51b815260040161081e90611583565b60015460405163f435f5a760e01b81523060048201526001600160a01b039091169063f435f5a790602401610853565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091526060600060008051602061161b83398151915290506040518060e00160405280610b62600090565b6001600160601b0390811682528354600160a01b908190049091166020830152600184015490810460ff9081166040840152600160a81b820416151560608301523060808301526001600160a01b031660a082015260028301805460c090920191610bcc906115e0565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf8906115e0565b8015610c455780601f10610c1a57610100808354040283529160200191610c45565b820191906000526020600020905b815481529060010190602001808311610c2857829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b600060208284031215610c7857600080fd5b81356001600160e01b031981168114610c9057600080fd5b9392505050565b60005b83811015610cb2578181015183820152602001610c9a565b50506000910152565b60008151808452610cd3816020860160208601610c97565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff60408501511660808301526060840151610d2b60a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e0610100840152610d71610120840182610cbb565b905082810360208401526107248185610cbb565b6001600160c01b031981168114610d9b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610dd757610dd7610d9e565b60405290565b60405160e0810167ffffffffffffffff81118282101715610dd757610dd7610d9e565b604051610120810167ffffffffffffffff81118282101715610dd757610dd7610d9e565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e4d57610e4d610d9e565b604052919050565b600067ffffffffffffffff821115610e6f57610e6f610d9e565b50601f01601f191660200190565b600082601f830112610e8e57600080fd5b8135610ea1610e9c82610e55565b610e24565b818152846020838601011115610eb657600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160601b0381168114610d9b57600080fd5b60008060008060008060c08789031215610f0157600080fd5b863595506020870135610f1381610d85565b945060408701359350606087013567ffffffffffffffff811115610f3657600080fd5b610f4289828a01610e7d565b9350506080870135610f5381610d85565b915060a0870135610f6381610ed3565b809150509295509295509295565b60008060008060808587031215610f8757600080fd5b843593506020850135610f9981610d85565b925060408501359150606085013567ffffffffffffffff811115610fbc57600080fd5b610fc887828801610e7d565b91505092959194509250565b600060408284031215610fe657600080fd5b610fee610db4565b9050813581526020820135602082015292915050565b6000806080838503121561101757600080fd5b6110218484610fd4565b91506110308460408501610fd4565b90509250929050565b805161104481610ed3565b919050565b805160ff8116811461104457600080fd5b8051801515811461104457600080fd5b6001600160a01b0381168114610d9b57600080fd5b80516110448161106a565b600082601f83011261109b57600080fd5b81516110a9610e9c82610e55565b8181528460208386010111156110be57600080fd5b6110cf826020830160208701610c97565b949350505050565b600080604083850312156110ea57600080fd5b825167ffffffffffffffff8082111561110257600080fd5b9084019060e0828703121561111657600080fd5b61111e610ddd565b61112783611039565b815261113560208401611039565b602082015261114660408401611049565b60408201526111576060840161105a565b60608201526111686080840161107f565b608082015261117960a0840161107f565b60a082015260c08301518281111561119057600080fd5b61119c8882860161108a565b60c08301525060208601519094509150808211156111b957600080fd5b506111c68582860161108a565b9150509250929050565b6000604082840312156111e257600080fd5b6111ea610db4565b9050815181526020820151602082015292915050565b60008060008060008086880361014081121561121b57600080fd5b604081121561122957600080fd5b50611232610db4565b61123b8861105a565b8152602088015160208201528096505060408701516112598161106a565b606088015190955061126a8161106a565b935061127988608089016111d0565b92506112888860c089016111d0565b91506112988861010089016111d0565b90509295509295509295565b6000604082840312156112b657600080fd5b610c9083836111d0565b82516001600160601b031681526020808401516102008301916112ed908401826001600160601b03169052565b50604084015161130860408401826001600160a01b03169052565b506060840151611325606084018280518252602090810151910152565b506080840151805160a0840152602081015160c08401525060a0840151805160e084015260208101516101008401525060c0840151805161012084015260208101516101408401525060e0840151805161016084015260208101516101808401525061010084015180516101a084015260208101516101c0840152506001600160a01b0383166101e0830152610c90565b600067ffffffffffffffff60c01b808916835287602084015286604084015260c060608401526113e960c0840187610cbb565b6001600160601b039590951660808401529290921660a09091015250949350505050565b600080600080600060a0868803121561142557600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b60006020828403121561145f57600080fd5b610c908261105a565b60006101e0828403121561147b57600080fd5b611483610e00565b61148c83611039565b815261149a60208401611039565b60208201526114ab6040840161107f565b60408201526114bd84606085016111d0565b60608201526114cf8460a085016111d0565b60808201526114e18460e085016111d0565b60a08201526114f48461012085016111d0565b60c08201526115078461016085016111d0565b60e082015261151a846101a085016111d0565b6101008201529392505050565b60006020828403121561153957600080fd5b8151610c9081610ed3565b60008261156157634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561157857600080fd5b8151610c908161106a565b60208082526017908201527f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000604082015260600190565b825181526020808401518183015282516040830152820151606082015260808101610c90565b600181811c908216806115f457607f821691505b60208210810361161457634e487b7160e01b600052602260045260246000fd5b5091905056fe6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300a26469706673582212200bafc3f19e8affaafaa68e8c4c3f0988df2343a452799b0a487593d50e0e2e1e64736f6c63430008140033",
482
+ "linkReferences": {
483
+ "contracts/types/Fee.sol": {
484
+ "FeeLib": [
485
+ {
486
+ "length": 20,
487
+ "start": 4318
488
+ }
489
+ ]
490
+ }
491
+ },
492
+ "deployedLinkReferences": {
493
+ "contracts/types/Fee.sol": {
494
+ "FeeLib": [
495
+ {
496
+ "length": 20,
497
+ "start": 1060
498
+ }
499
+ ]
500
+ }
501
+ }
305
502
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -40,38 +40,6 @@
40
40
  "name": "AsmallerThanB_S",
41
41
  "type": "error"
42
42
  },
43
- {
44
- "inputs": [],
45
- "name": "Error001AsmallerThanB_S",
46
- "type": "error"
47
- },
48
- {
49
- "inputs": [
50
- {
51
- "internalType": "uint256",
52
- "name": "a",
53
- "type": "uint256"
54
- }
55
- ],
56
- "name": "Error002AsmallerThanB_M",
57
- "type": "error"
58
- },
59
- {
60
- "inputs": [
61
- {
62
- "internalType": "uint256",
63
- "name": "a",
64
- "type": "uint256"
65
- },
66
- {
67
- "internalType": "uint256",
68
- "name": "b",
69
- "type": "uint256"
70
- }
71
- ],
72
- "name": "Error003AsmallerThanB_L",
73
- "type": "error"
74
- },
75
43
  {
76
44
  "inputs": [
77
45
  {
@@ -130,8 +98,8 @@
130
98
  "type": "function"
131
99
  }
132
100
  ],
133
- "bytecode": "0x608060405234801561001057600080fd5b50602a600055610192806100256000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806312eee592146100465780638997f3ee1461006d578063d0e7624f14610080575b600080fd5b610059610054366004610143565b610093565b604051901515815260200160405180910390f35b61005961007b366004610143565b6100d5565b61005961008e366004610143565b610120565b6000805482116100cd57600054604051635c47d33160e11b81526100c4918491600401918252602082015260400190565b60405180910390fd5b506001919050565b6000816000036100fb57604051635da5406b60e01b8152600060048201526024016100c4565b60005482116100cd57604051635da5406b60e01b8152600481018390526024016100c4565b6000805482116100cd57604051632e0cc91b60e01b815260040160405180910390fd5b60006020828403121561015557600080fd5b503591905056fea26469706673582212200b119271ad02026a6b9a97efdc52984d4cb3fc7ffa9d5dfbec9ddc89f0274d3864736f6c63430008140033",
134
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806312eee592146100465780638997f3ee1461006d578063d0e7624f14610080575b600080fd5b610059610054366004610143565b610093565b604051901515815260200160405180910390f35b61005961007b366004610143565b6100d5565b61005961008e366004610143565b610120565b6000805482116100cd57600054604051635c47d33160e11b81526100c4918491600401918252602082015260400190565b60405180910390fd5b506001919050565b6000816000036100fb57604051635da5406b60e01b8152600060048201526024016100c4565b60005482116100cd57604051635da5406b60e01b8152600481018390526024016100c4565b6000805482116100cd57604051632e0cc91b60e01b815260040160405180910390fd5b60006020828403121561015557600080fd5b503591905056fea26469706673582212200b119271ad02026a6b9a97efdc52984d4cb3fc7ffa9d5dfbec9ddc89f0274d3864736f6c63430008140033",
101
+ "bytecode": "0x608060405234801561001057600080fd5b50602a60005561016d806100256000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806312eee592146100465780638997f3ee1461006d578063d0e7624f14610080575b600080fd5b61005961005436600461011e565b610093565b604051901515815260200160405180910390f35b61005961007b36600461011e565b6100d5565b61005961008e36600461011e565b6100fb565b6000805482116100cd5760005460405163b0d3ec1d60e01b81526100c4918491600401918252602082015260400190565b60405180910390fd5b506001919050565b6000805482116100cd576040516309f81e2f60e21b8152600481018390526024016100c4565b6000805482116100cd576040516306b3487560e31b815260040160405180910390fd5b60006020828403121561013057600080fd5b503591905056fea2646970667358221220971ee831490ff41fe8f688c6304beb1d7f3abc7460ef1bce5fe4620a30a6068364736f6c63430008140033",
102
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806312eee592146100465780638997f3ee1461006d578063d0e7624f14610080575b600080fd5b61005961005436600461011e565b610093565b604051901515815260200160405180910390f35b61005961007b36600461011e565b6100d5565b61005961008e36600461011e565b6100fb565b6000805482116100cd5760005460405163b0d3ec1d60e01b81526100c4918491600401918252602082015260400190565b60405180910390fd5b506001919050565b6000805482116100cd576040516309f81e2f60e21b8152600481018390526024016100c4565b6000805482116100cd576040516306b3487560e31b815260040160405180910390fd5b60006020828403121561013057600080fd5b503591905056fea2646970667358221220971ee831490ff41fe8f688c6304beb1d7f3abc7460ef1bce5fe4620a30a6068364736f6c63430008140033",
135
103
  "linkReferences": {},
136
104
  "deployedLinkReferences": {}
137
105
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -52,8 +52,8 @@
52
52
  "type": "function"
53
53
  }
54
54
  ],
55
- "bytecode": "0x608060405234801561001057600080fd5b5061017d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea2646970667358221220f10722069972680c778c3f39116da5ebb6dcc0a7c7f7b9fe7c2b69280eae1c3464736f6c63430008140033",
56
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea2646970667358221220f10722069972680c778c3f39116da5ebb6dcc0a7c7f7b9fe7c2b69280eae1c3464736f6c63430008140033",
55
+ "bytecode": "0x608060405234801561001057600080fd5b5061017d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea26469706673582212209a1b889124f5175c6f3f72ce85be5e0038b6dd6da1781f970c78692bf7b69d0a64736f6c63430008140033",
56
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630d3581811461003b578063e9e96c7014610078575b600080fd5b6100616100493660046100d8565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b6100b66100863660046100fc565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161006f565b60ff811681146100d557600080fd5b50565b6000602082840312156100ea57600080fd5b81356100f5816100c6565b9392505050565b60008060006060848603121561011157600080fd5b833561011c816100c6565b9250602084013561012c816100c6565b9150604084013561013c816100c6565b80915050925092509256fea26469706673582212209a1b889124f5175c6f3f72ce85be5e0038b6dd6da1781f970c78692bf7b69d0a64736f6c63430008140033",
57
57
  "linkReferences": {},
58
58
  "deployedLinkReferences": {}
59
59
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/13c4329f81ddc934c5d7a5db64b32ef7.json"
3
+ "buildInfo": "../../../../build-info/23d9cb949ebaded2db536c461b622e36.json"
4
4
  }