@pendle/core-v2 6.6.0 → 6.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.dbg.json +4 -0
  2. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.json +766 -0
  3. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.dbg.json +4 -0
  4. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.json +99 -0
  5. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.dbg.json +4 -0
  6. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.json +210 -0
  7. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.dbg.json +4 -0
  8. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.json +1294 -0
  9. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.dbg.json +4 -0
  10. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.json +1602 -0
  11. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  12. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  14. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  16. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  18. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  19. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  20. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  21. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  22. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +0 -88
  23. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  24. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  25. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  26. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  27. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  29. package/build/artifacts/contracts/interfaces/IPBridgeFunder.sol/IPBridgeFunder.dbg.json +4 -0
  30. package/build/artifacts/contracts/interfaces/IPBridgeFunder.sol/IPBridgeFunder.json +85 -0
  31. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMSwapCallback.dbg.json +4 -0
  32. package/build/artifacts/contracts/interfaces/{IPFixedPricePTAMM.sol → IPFixedPricePTAMMV2.sol}/IPFixedPricePTAMMSwapCallback.json +1 -1
  33. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMV2.dbg.json +4 -0
  34. package/build/artifacts/contracts/interfaces/{IPFixedPricePTAMM.sol/IPFixedPricePTAMM.json → IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMV2.json} +285 -93
  35. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  36. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  37. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +156 -0
  38. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  39. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  40. package/build/artifacts/contracts/interfaces/IPSwapHelper.sol/IPSwapHelper.dbg.json +4 -0
  41. package/build/artifacts/contracts/interfaces/{IPActionCrossChain.sol/IPActionCrossChain.json → IPSwapHelper.sol/IPSwapHelper.json} +2 -2
  42. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  43. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  44. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  45. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.json +258 -1
  46. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  47. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +265 -3
  48. package/build/artifacts/contracts/limit/helpers/MintSyHelper.sol/MintSyHelper.dbg.json +4 -0
  49. package/build/artifacts/contracts/limit/helpers/MintSyHelper.sol/MintSyHelper.json +156 -0
  50. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  51. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  52. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  53. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  54. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  55. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  56. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  57. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +33 -2
  58. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.dbg.json +4 -0
  59. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.json +171 -0
  60. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  61. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  62. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  63. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  64. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  66. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  67. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  68. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  69. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  70. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  71. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  72. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  73. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  74. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  75. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  76. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  77. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  78. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  79. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  80. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  81. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  82. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  83. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  84. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  85. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  86. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  87. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  88. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  89. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  90. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  91. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  92. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  93. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  94. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  95. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  96. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  97. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  98. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  99. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  100. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  101. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  102. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  103. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  104. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  105. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  106. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  107. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  108. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  109. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  110. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  111. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  112. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  113. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  114. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  115. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  116. package/contracts/cross-chain/FixedPricePTAMMV2.sol +162 -0
  117. package/contracts/{router/ActionCrossChain.sol → cross-chain/PendleSwapHelper.sol} +11 -7
  118. package/contracts/cross-chain/funder/BridgeFunder.sol +61 -0
  119. package/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol +55 -0
  120. package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol +64 -0
  121. package/contracts/interfaces/IPAllActionTypeV3.sol +1 -0
  122. package/contracts/interfaces/IPAllActionV3.sol +1 -3
  123. package/contracts/interfaces/IPBridgeFunder.sol +17 -0
  124. package/contracts/interfaces/IPFixedPricePTAMMV2.sol +58 -0
  125. package/contracts/interfaces/IPLimitRouter.sol +22 -0
  126. package/contracts/interfaces/{IPActionCrossChain.sol → IPSwapHelper.sol} +1 -1
  127. package/contracts/limit/LimitRouterBase.sol +101 -47
  128. package/contracts/limit/PendleLimitRouter.sol +1 -1
  129. package/contracts/limit/helpers/MintSyHelper.sol +114 -0
  130. package/contracts/offchain-helpers/PendleFeeSetter.sol +19 -1
  131. package/contracts/offchain-helpers/PendleProxyAdmin.sol +11 -0
  132. package/contracts/router/base/ActionBase.sol +16 -2
  133. package/deployments/1-core.json +1 -0
  134. package/deployments/1-offchain-helper.json +1 -1
  135. package/deployments/10-core.json +1 -0
  136. package/deployments/10-offchain-helper.json +1 -1
  137. package/deployments/130-core.json +1 -0
  138. package/deployments/143-core.json +1 -0
  139. package/deployments/146-core.json +1 -0
  140. package/deployments/146-offchain-helper.json +1 -1
  141. package/deployments/42161-core.json +1 -0
  142. package/deployments/42161-offchain-helper.json +1 -1
  143. package/deployments/4217-core.json +14 -0
  144. package/deployments/43114-core.json +1 -0
  145. package/deployments/5000-core.json +1 -0
  146. package/deployments/5000-offchain-helper.json +1 -1
  147. package/deployments/56-core.json +1 -0
  148. package/deployments/56-offchain-helper.json +1 -1
  149. package/deployments/57073-core.json +1 -0
  150. package/deployments/747474-core.json +1 -0
  151. package/deployments/80094-core.json +1 -0
  152. package/deployments/80094-offchain-helper.json +1 -1
  153. package/deployments/8453-core.json +1 -0
  154. package/deployments/8453-offchain-helper.json +1 -1
  155. package/deployments/9745-core.json +1 -0
  156. package/deployments/9745-offchain-helper.json +1 -1
  157. package/deployments/999-core.json +1 -0
  158. package/deployments/999-offchain-helper.json +1 -1
  159. package/package.json +1 -1
  160. package/typechain-types/BridgeFunder.ts +344 -0
  161. package/typechain-types/FixedPricePTAMMV2.ts +1104 -0
  162. package/typechain-types/IPAllActionV3.ts +0 -54
  163. package/typechain-types/IPBridgeFunder.ts +165 -0
  164. package/typechain-types/IPFixedPricePTAMMV2.ts +864 -0
  165. package/typechain-types/IPLimitRouter.ts +104 -0
  166. package/typechain-types/IPSwapHelper.ts +161 -0
  167. package/typechain-types/LimitRouterBase.ts +233 -5
  168. package/typechain-types/MintSyHelper.ts +230 -0
  169. package/typechain-types/OFTAdapterAltImpl.ts +1350 -0
  170. package/typechain-types/PendleBridgedPrincipalTokenAlt.ts +1708 -0
  171. package/typechain-types/PendleFeeSetter.ts +53 -0
  172. package/typechain-types/PendleLimitRouter.ts +233 -5
  173. package/typechain-types/PendleProxyAdmin.ts +341 -0
  174. package/typechain-types/PendleSwapHelper.ts +161 -0
  175. package/typechain-types/ProxyAdmin.ts +341 -0
  176. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  177. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  178. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  179. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  180. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  181. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  182. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  183. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  184. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  185. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  186. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  187. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  188. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  189. package/typechain-types/factories/BridgeFunder__factory.ts +265 -0
  190. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  191. package/typechain-types/factories/FixedPricePTAMMV2__factory.ts +824 -0
  192. package/typechain-types/factories/IPAllActionV3__factory.ts +0 -88
  193. package/typechain-types/factories/IPBridgeFunder__factory.ts +100 -0
  194. package/typechain-types/factories/IPFixedPricePTAMMV2__factory.ts +621 -0
  195. package/typechain-types/factories/IPLimitRouter__factory.ts +156 -0
  196. package/typechain-types/factories/IPSwapHelper__factory.ts +111 -0
  197. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  198. package/typechain-types/factories/LimitRouterBase__factory.ts +258 -1
  199. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  200. package/typechain-types/factories/MintSyHelper__factory.ts +168 -0
  201. package/typechain-types/factories/OFTAdapterAltImpl__factory.ts +1363 -0
  202. package/typechain-types/factories/PendleBridgedPrincipalTokenAlt__factory.ts +1702 -0
  203. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  204. package/typechain-types/factories/PendleFeeSetter__factory.ts +36 -1
  205. package/typechain-types/factories/PendleLimitRouter__factory.ts +268 -3
  206. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  207. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  208. package/typechain-types/factories/PendleProxyAdmin__factory.ts +229 -0
  209. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  210. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  211. package/typechain-types/factories/PendleSwapHelper__factory.ts +152 -0
  212. package/typechain-types/factories/ProxyAdmin__factory.ts +210 -0
  213. package/typechain-types/factories/Reflector__factory.ts +1 -1
  214. package/typechain-types/hardhat.d.ts +108 -0
  215. package/typechain-types/index.ts +22 -0
  216. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +0 -4
  217. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +0 -667
  218. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +0 -4
  219. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +0 -4
  220. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +0 -4
  221. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +0 -4
  222. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +0 -99
  223. package/contracts/cross-chain/FixedPricePTAMM.sol +0 -200
  224. package/contracts/interfaces/IPFixedPricePTAMM.sol +0 -69
@@ -0,0 +1,1294 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "OFTAdapterAltImpl",
4
+ "sourceName": "contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_token",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_endpoint",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_delegate",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "InvalidDelegate",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "InvalidEndpointCall",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "InvalidLocalDecimals",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [
44
+ {
45
+ "internalType": "bytes",
46
+ "name": "options",
47
+ "type": "bytes"
48
+ }
49
+ ],
50
+ "name": "InvalidOptions",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "LzTokenUnavailable",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "uint256",
62
+ "name": "msgValue",
63
+ "type": "uint256"
64
+ }
65
+ ],
66
+ "name": "MsgValueNotZero",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "NativeTokenUnavailable",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "uint32",
78
+ "name": "eid",
79
+ "type": "uint32"
80
+ }
81
+ ],
82
+ "name": "NoPeer",
83
+ "type": "error"
84
+ },
85
+ {
86
+ "inputs": [
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "msgValue",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "NotEnoughNative",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "address",
100
+ "name": "addr",
101
+ "type": "address"
102
+ }
103
+ ],
104
+ "name": "OnlyEndpoint",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "uint32",
111
+ "name": "eid",
112
+ "type": "uint32"
113
+ },
114
+ {
115
+ "internalType": "bytes32",
116
+ "name": "sender",
117
+ "type": "bytes32"
118
+ }
119
+ ],
120
+ "name": "OnlyPeer",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "OnlySelf",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [
130
+ {
131
+ "internalType": "bytes",
132
+ "name": "result",
133
+ "type": "bytes"
134
+ }
135
+ ],
136
+ "name": "SimulationResult",
137
+ "type": "error"
138
+ },
139
+ {
140
+ "inputs": [
141
+ {
142
+ "internalType": "uint256",
143
+ "name": "amountLD",
144
+ "type": "uint256"
145
+ },
146
+ {
147
+ "internalType": "uint256",
148
+ "name": "minAmountLD",
149
+ "type": "uint256"
150
+ }
151
+ ],
152
+ "name": "SlippageExceeded",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "anonymous": false,
157
+ "inputs": [
158
+ {
159
+ "components": [
160
+ {
161
+ "internalType": "uint32",
162
+ "name": "eid",
163
+ "type": "uint32"
164
+ },
165
+ {
166
+ "internalType": "uint16",
167
+ "name": "msgType",
168
+ "type": "uint16"
169
+ },
170
+ {
171
+ "internalType": "bytes",
172
+ "name": "options",
173
+ "type": "bytes"
174
+ }
175
+ ],
176
+ "indexed": false,
177
+ "internalType": "struct EnforcedOptionParam[]",
178
+ "name": "_enforcedOptions",
179
+ "type": "tuple[]"
180
+ }
181
+ ],
182
+ "name": "EnforcedOptionSet",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [
188
+ {
189
+ "indexed": false,
190
+ "internalType": "address",
191
+ "name": "inspector",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "MsgInspectorSet",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": true,
203
+ "internalType": "bytes32",
204
+ "name": "guid",
205
+ "type": "bytes32"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "uint32",
210
+ "name": "srcEid",
211
+ "type": "uint32"
212
+ },
213
+ {
214
+ "indexed": true,
215
+ "internalType": "address",
216
+ "name": "toAddress",
217
+ "type": "address"
218
+ },
219
+ {
220
+ "indexed": false,
221
+ "internalType": "uint256",
222
+ "name": "amountReceivedLD",
223
+ "type": "uint256"
224
+ }
225
+ ],
226
+ "name": "OFTReceived",
227
+ "type": "event"
228
+ },
229
+ {
230
+ "anonymous": false,
231
+ "inputs": [
232
+ {
233
+ "indexed": true,
234
+ "internalType": "bytes32",
235
+ "name": "guid",
236
+ "type": "bytes32"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "uint32",
241
+ "name": "dstEid",
242
+ "type": "uint32"
243
+ },
244
+ {
245
+ "indexed": true,
246
+ "internalType": "address",
247
+ "name": "fromAddress",
248
+ "type": "address"
249
+ },
250
+ {
251
+ "indexed": false,
252
+ "internalType": "uint256",
253
+ "name": "amountSentLD",
254
+ "type": "uint256"
255
+ },
256
+ {
257
+ "indexed": false,
258
+ "internalType": "uint256",
259
+ "name": "amountReceivedLD",
260
+ "type": "uint256"
261
+ }
262
+ ],
263
+ "name": "OFTSent",
264
+ "type": "event"
265
+ },
266
+ {
267
+ "anonymous": false,
268
+ "inputs": [
269
+ {
270
+ "indexed": true,
271
+ "internalType": "address",
272
+ "name": "previousOwner",
273
+ "type": "address"
274
+ },
275
+ {
276
+ "indexed": true,
277
+ "internalType": "address",
278
+ "name": "newOwner",
279
+ "type": "address"
280
+ }
281
+ ],
282
+ "name": "OwnershipTransferred",
283
+ "type": "event"
284
+ },
285
+ {
286
+ "anonymous": false,
287
+ "inputs": [
288
+ {
289
+ "indexed": false,
290
+ "internalType": "uint32",
291
+ "name": "eid",
292
+ "type": "uint32"
293
+ },
294
+ {
295
+ "indexed": false,
296
+ "internalType": "bytes32",
297
+ "name": "peer",
298
+ "type": "bytes32"
299
+ }
300
+ ],
301
+ "name": "PeerSet",
302
+ "type": "event"
303
+ },
304
+ {
305
+ "anonymous": false,
306
+ "inputs": [
307
+ {
308
+ "indexed": false,
309
+ "internalType": "address",
310
+ "name": "preCrimeAddress",
311
+ "type": "address"
312
+ }
313
+ ],
314
+ "name": "PreCrimeSet",
315
+ "type": "event"
316
+ },
317
+ {
318
+ "inputs": [],
319
+ "name": "SEND",
320
+ "outputs": [
321
+ {
322
+ "internalType": "uint16",
323
+ "name": "",
324
+ "type": "uint16"
325
+ }
326
+ ],
327
+ "stateMutability": "view",
328
+ "type": "function"
329
+ },
330
+ {
331
+ "inputs": [],
332
+ "name": "SEND_AND_CALL",
333
+ "outputs": [
334
+ {
335
+ "internalType": "uint16",
336
+ "name": "",
337
+ "type": "uint16"
338
+ }
339
+ ],
340
+ "stateMutability": "view",
341
+ "type": "function"
342
+ },
343
+ {
344
+ "inputs": [
345
+ {
346
+ "components": [
347
+ {
348
+ "internalType": "uint32",
349
+ "name": "srcEid",
350
+ "type": "uint32"
351
+ },
352
+ {
353
+ "internalType": "bytes32",
354
+ "name": "sender",
355
+ "type": "bytes32"
356
+ },
357
+ {
358
+ "internalType": "uint64",
359
+ "name": "nonce",
360
+ "type": "uint64"
361
+ }
362
+ ],
363
+ "internalType": "struct Origin",
364
+ "name": "origin",
365
+ "type": "tuple"
366
+ }
367
+ ],
368
+ "name": "allowInitializePath",
369
+ "outputs": [
370
+ {
371
+ "internalType": "bool",
372
+ "name": "",
373
+ "type": "bool"
374
+ }
375
+ ],
376
+ "stateMutability": "view",
377
+ "type": "function"
378
+ },
379
+ {
380
+ "inputs": [],
381
+ "name": "approvalRequired",
382
+ "outputs": [
383
+ {
384
+ "internalType": "bool",
385
+ "name": "",
386
+ "type": "bool"
387
+ }
388
+ ],
389
+ "stateMutability": "pure",
390
+ "type": "function"
391
+ },
392
+ {
393
+ "inputs": [
394
+ {
395
+ "internalType": "uint32",
396
+ "name": "_eid",
397
+ "type": "uint32"
398
+ },
399
+ {
400
+ "internalType": "uint16",
401
+ "name": "_msgType",
402
+ "type": "uint16"
403
+ },
404
+ {
405
+ "internalType": "bytes",
406
+ "name": "_extraOptions",
407
+ "type": "bytes"
408
+ }
409
+ ],
410
+ "name": "combineOptions",
411
+ "outputs": [
412
+ {
413
+ "internalType": "bytes",
414
+ "name": "",
415
+ "type": "bytes"
416
+ }
417
+ ],
418
+ "stateMutability": "view",
419
+ "type": "function"
420
+ },
421
+ {
422
+ "inputs": [],
423
+ "name": "decimalConversionRate",
424
+ "outputs": [
425
+ {
426
+ "internalType": "uint256",
427
+ "name": "",
428
+ "type": "uint256"
429
+ }
430
+ ],
431
+ "stateMutability": "view",
432
+ "type": "function"
433
+ },
434
+ {
435
+ "inputs": [],
436
+ "name": "endpoint",
437
+ "outputs": [
438
+ {
439
+ "internalType": "contract ILayerZeroEndpointV2",
440
+ "name": "",
441
+ "type": "address"
442
+ }
443
+ ],
444
+ "stateMutability": "view",
445
+ "type": "function"
446
+ },
447
+ {
448
+ "inputs": [
449
+ {
450
+ "internalType": "uint32",
451
+ "name": "eid",
452
+ "type": "uint32"
453
+ },
454
+ {
455
+ "internalType": "uint16",
456
+ "name": "msgType",
457
+ "type": "uint16"
458
+ }
459
+ ],
460
+ "name": "enforcedOptions",
461
+ "outputs": [
462
+ {
463
+ "internalType": "bytes",
464
+ "name": "enforcedOption",
465
+ "type": "bytes"
466
+ }
467
+ ],
468
+ "stateMutability": "view",
469
+ "type": "function"
470
+ },
471
+ {
472
+ "inputs": [
473
+ {
474
+ "components": [
475
+ {
476
+ "internalType": "uint32",
477
+ "name": "srcEid",
478
+ "type": "uint32"
479
+ },
480
+ {
481
+ "internalType": "bytes32",
482
+ "name": "sender",
483
+ "type": "bytes32"
484
+ },
485
+ {
486
+ "internalType": "uint64",
487
+ "name": "nonce",
488
+ "type": "uint64"
489
+ }
490
+ ],
491
+ "internalType": "struct Origin",
492
+ "name": "",
493
+ "type": "tuple"
494
+ },
495
+ {
496
+ "internalType": "bytes",
497
+ "name": "",
498
+ "type": "bytes"
499
+ },
500
+ {
501
+ "internalType": "address",
502
+ "name": "_sender",
503
+ "type": "address"
504
+ }
505
+ ],
506
+ "name": "isComposeMsgSender",
507
+ "outputs": [
508
+ {
509
+ "internalType": "bool",
510
+ "name": "",
511
+ "type": "bool"
512
+ }
513
+ ],
514
+ "stateMutability": "view",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [
519
+ {
520
+ "internalType": "uint32",
521
+ "name": "_eid",
522
+ "type": "uint32"
523
+ },
524
+ {
525
+ "internalType": "bytes32",
526
+ "name": "_peer",
527
+ "type": "bytes32"
528
+ }
529
+ ],
530
+ "name": "isPeer",
531
+ "outputs": [
532
+ {
533
+ "internalType": "bool",
534
+ "name": "",
535
+ "type": "bool"
536
+ }
537
+ ],
538
+ "stateMutability": "view",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "components": [
545
+ {
546
+ "internalType": "uint32",
547
+ "name": "srcEid",
548
+ "type": "uint32"
549
+ },
550
+ {
551
+ "internalType": "bytes32",
552
+ "name": "sender",
553
+ "type": "bytes32"
554
+ },
555
+ {
556
+ "internalType": "uint64",
557
+ "name": "nonce",
558
+ "type": "uint64"
559
+ }
560
+ ],
561
+ "internalType": "struct Origin",
562
+ "name": "_origin",
563
+ "type": "tuple"
564
+ },
565
+ {
566
+ "internalType": "bytes32",
567
+ "name": "_guid",
568
+ "type": "bytes32"
569
+ },
570
+ {
571
+ "internalType": "bytes",
572
+ "name": "_message",
573
+ "type": "bytes"
574
+ },
575
+ {
576
+ "internalType": "address",
577
+ "name": "_executor",
578
+ "type": "address"
579
+ },
580
+ {
581
+ "internalType": "bytes",
582
+ "name": "_extraData",
583
+ "type": "bytes"
584
+ }
585
+ ],
586
+ "name": "lzReceive",
587
+ "outputs": [],
588
+ "stateMutability": "payable",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "components": [
595
+ {
596
+ "components": [
597
+ {
598
+ "internalType": "uint32",
599
+ "name": "srcEid",
600
+ "type": "uint32"
601
+ },
602
+ {
603
+ "internalType": "bytes32",
604
+ "name": "sender",
605
+ "type": "bytes32"
606
+ },
607
+ {
608
+ "internalType": "uint64",
609
+ "name": "nonce",
610
+ "type": "uint64"
611
+ }
612
+ ],
613
+ "internalType": "struct Origin",
614
+ "name": "origin",
615
+ "type": "tuple"
616
+ },
617
+ {
618
+ "internalType": "uint32",
619
+ "name": "dstEid",
620
+ "type": "uint32"
621
+ },
622
+ {
623
+ "internalType": "address",
624
+ "name": "receiver",
625
+ "type": "address"
626
+ },
627
+ {
628
+ "internalType": "bytes32",
629
+ "name": "guid",
630
+ "type": "bytes32"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "value",
635
+ "type": "uint256"
636
+ },
637
+ {
638
+ "internalType": "address",
639
+ "name": "executor",
640
+ "type": "address"
641
+ },
642
+ {
643
+ "internalType": "bytes",
644
+ "name": "message",
645
+ "type": "bytes"
646
+ },
647
+ {
648
+ "internalType": "bytes",
649
+ "name": "extraData",
650
+ "type": "bytes"
651
+ }
652
+ ],
653
+ "internalType": "struct InboundPacket[]",
654
+ "name": "_packets",
655
+ "type": "tuple[]"
656
+ }
657
+ ],
658
+ "name": "lzReceiveAndRevert",
659
+ "outputs": [],
660
+ "stateMutability": "payable",
661
+ "type": "function"
662
+ },
663
+ {
664
+ "inputs": [
665
+ {
666
+ "components": [
667
+ {
668
+ "internalType": "uint32",
669
+ "name": "srcEid",
670
+ "type": "uint32"
671
+ },
672
+ {
673
+ "internalType": "bytes32",
674
+ "name": "sender",
675
+ "type": "bytes32"
676
+ },
677
+ {
678
+ "internalType": "uint64",
679
+ "name": "nonce",
680
+ "type": "uint64"
681
+ }
682
+ ],
683
+ "internalType": "struct Origin",
684
+ "name": "_origin",
685
+ "type": "tuple"
686
+ },
687
+ {
688
+ "internalType": "bytes32",
689
+ "name": "_guid",
690
+ "type": "bytes32"
691
+ },
692
+ {
693
+ "internalType": "bytes",
694
+ "name": "_message",
695
+ "type": "bytes"
696
+ },
697
+ {
698
+ "internalType": "address",
699
+ "name": "_executor",
700
+ "type": "address"
701
+ },
702
+ {
703
+ "internalType": "bytes",
704
+ "name": "_extraData",
705
+ "type": "bytes"
706
+ }
707
+ ],
708
+ "name": "lzReceiveSimulate",
709
+ "outputs": [],
710
+ "stateMutability": "payable",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [],
715
+ "name": "msgInspector",
716
+ "outputs": [
717
+ {
718
+ "internalType": "address",
719
+ "name": "",
720
+ "type": "address"
721
+ }
722
+ ],
723
+ "stateMutability": "view",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [],
728
+ "name": "nativeToken",
729
+ "outputs": [
730
+ {
731
+ "internalType": "address",
732
+ "name": "",
733
+ "type": "address"
734
+ }
735
+ ],
736
+ "stateMutability": "view",
737
+ "type": "function"
738
+ },
739
+ {
740
+ "inputs": [
741
+ {
742
+ "internalType": "uint32",
743
+ "name": "",
744
+ "type": "uint32"
745
+ },
746
+ {
747
+ "internalType": "bytes32",
748
+ "name": "",
749
+ "type": "bytes32"
750
+ }
751
+ ],
752
+ "name": "nextNonce",
753
+ "outputs": [
754
+ {
755
+ "internalType": "uint64",
756
+ "name": "nonce",
757
+ "type": "uint64"
758
+ }
759
+ ],
760
+ "stateMutability": "view",
761
+ "type": "function"
762
+ },
763
+ {
764
+ "inputs": [],
765
+ "name": "oApp",
766
+ "outputs": [
767
+ {
768
+ "internalType": "address",
769
+ "name": "",
770
+ "type": "address"
771
+ }
772
+ ],
773
+ "stateMutability": "view",
774
+ "type": "function"
775
+ },
776
+ {
777
+ "inputs": [],
778
+ "name": "oAppVersion",
779
+ "outputs": [
780
+ {
781
+ "internalType": "uint64",
782
+ "name": "senderVersion",
783
+ "type": "uint64"
784
+ },
785
+ {
786
+ "internalType": "uint64",
787
+ "name": "receiverVersion",
788
+ "type": "uint64"
789
+ }
790
+ ],
791
+ "stateMutability": "pure",
792
+ "type": "function"
793
+ },
794
+ {
795
+ "inputs": [],
796
+ "name": "oftVersion",
797
+ "outputs": [
798
+ {
799
+ "internalType": "bytes4",
800
+ "name": "interfaceId",
801
+ "type": "bytes4"
802
+ },
803
+ {
804
+ "internalType": "uint64",
805
+ "name": "version",
806
+ "type": "uint64"
807
+ }
808
+ ],
809
+ "stateMutability": "pure",
810
+ "type": "function"
811
+ },
812
+ {
813
+ "inputs": [],
814
+ "name": "owner",
815
+ "outputs": [
816
+ {
817
+ "internalType": "address",
818
+ "name": "",
819
+ "type": "address"
820
+ }
821
+ ],
822
+ "stateMutability": "view",
823
+ "type": "function"
824
+ },
825
+ {
826
+ "inputs": [
827
+ {
828
+ "internalType": "uint32",
829
+ "name": "eid",
830
+ "type": "uint32"
831
+ }
832
+ ],
833
+ "name": "peers",
834
+ "outputs": [
835
+ {
836
+ "internalType": "bytes32",
837
+ "name": "peer",
838
+ "type": "bytes32"
839
+ }
840
+ ],
841
+ "stateMutability": "view",
842
+ "type": "function"
843
+ },
844
+ {
845
+ "inputs": [],
846
+ "name": "preCrime",
847
+ "outputs": [
848
+ {
849
+ "internalType": "address",
850
+ "name": "",
851
+ "type": "address"
852
+ }
853
+ ],
854
+ "stateMutability": "view",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [
859
+ {
860
+ "components": [
861
+ {
862
+ "internalType": "uint32",
863
+ "name": "dstEid",
864
+ "type": "uint32"
865
+ },
866
+ {
867
+ "internalType": "bytes32",
868
+ "name": "to",
869
+ "type": "bytes32"
870
+ },
871
+ {
872
+ "internalType": "uint256",
873
+ "name": "amountLD",
874
+ "type": "uint256"
875
+ },
876
+ {
877
+ "internalType": "uint256",
878
+ "name": "minAmountLD",
879
+ "type": "uint256"
880
+ },
881
+ {
882
+ "internalType": "bytes",
883
+ "name": "extraOptions",
884
+ "type": "bytes"
885
+ },
886
+ {
887
+ "internalType": "bytes",
888
+ "name": "composeMsg",
889
+ "type": "bytes"
890
+ },
891
+ {
892
+ "internalType": "bytes",
893
+ "name": "oftCmd",
894
+ "type": "bytes"
895
+ }
896
+ ],
897
+ "internalType": "struct SendParam",
898
+ "name": "_sendParam",
899
+ "type": "tuple"
900
+ }
901
+ ],
902
+ "name": "quoteOFT",
903
+ "outputs": [
904
+ {
905
+ "components": [
906
+ {
907
+ "internalType": "uint256",
908
+ "name": "minAmountLD",
909
+ "type": "uint256"
910
+ },
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "maxAmountLD",
914
+ "type": "uint256"
915
+ }
916
+ ],
917
+ "internalType": "struct OFTLimit",
918
+ "name": "oftLimit",
919
+ "type": "tuple"
920
+ },
921
+ {
922
+ "components": [
923
+ {
924
+ "internalType": "int256",
925
+ "name": "feeAmountLD",
926
+ "type": "int256"
927
+ },
928
+ {
929
+ "internalType": "string",
930
+ "name": "description",
931
+ "type": "string"
932
+ }
933
+ ],
934
+ "internalType": "struct OFTFeeDetail[]",
935
+ "name": "oftFeeDetails",
936
+ "type": "tuple[]"
937
+ },
938
+ {
939
+ "components": [
940
+ {
941
+ "internalType": "uint256",
942
+ "name": "amountSentLD",
943
+ "type": "uint256"
944
+ },
945
+ {
946
+ "internalType": "uint256",
947
+ "name": "amountReceivedLD",
948
+ "type": "uint256"
949
+ }
950
+ ],
951
+ "internalType": "struct OFTReceipt",
952
+ "name": "oftReceipt",
953
+ "type": "tuple"
954
+ }
955
+ ],
956
+ "stateMutability": "view",
957
+ "type": "function"
958
+ },
959
+ {
960
+ "inputs": [
961
+ {
962
+ "components": [
963
+ {
964
+ "internalType": "uint32",
965
+ "name": "dstEid",
966
+ "type": "uint32"
967
+ },
968
+ {
969
+ "internalType": "bytes32",
970
+ "name": "to",
971
+ "type": "bytes32"
972
+ },
973
+ {
974
+ "internalType": "uint256",
975
+ "name": "amountLD",
976
+ "type": "uint256"
977
+ },
978
+ {
979
+ "internalType": "uint256",
980
+ "name": "minAmountLD",
981
+ "type": "uint256"
982
+ },
983
+ {
984
+ "internalType": "bytes",
985
+ "name": "extraOptions",
986
+ "type": "bytes"
987
+ },
988
+ {
989
+ "internalType": "bytes",
990
+ "name": "composeMsg",
991
+ "type": "bytes"
992
+ },
993
+ {
994
+ "internalType": "bytes",
995
+ "name": "oftCmd",
996
+ "type": "bytes"
997
+ }
998
+ ],
999
+ "internalType": "struct SendParam",
1000
+ "name": "_sendParam",
1001
+ "type": "tuple"
1002
+ },
1003
+ {
1004
+ "internalType": "bool",
1005
+ "name": "_payInLzToken",
1006
+ "type": "bool"
1007
+ }
1008
+ ],
1009
+ "name": "quoteSend",
1010
+ "outputs": [
1011
+ {
1012
+ "components": [
1013
+ {
1014
+ "internalType": "uint256",
1015
+ "name": "nativeFee",
1016
+ "type": "uint256"
1017
+ },
1018
+ {
1019
+ "internalType": "uint256",
1020
+ "name": "lzTokenFee",
1021
+ "type": "uint256"
1022
+ }
1023
+ ],
1024
+ "internalType": "struct MessagingFee",
1025
+ "name": "msgFee",
1026
+ "type": "tuple"
1027
+ }
1028
+ ],
1029
+ "stateMutability": "view",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [],
1034
+ "name": "renounceOwnership",
1035
+ "outputs": [],
1036
+ "stateMutability": "nonpayable",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [
1041
+ {
1042
+ "components": [
1043
+ {
1044
+ "internalType": "uint32",
1045
+ "name": "dstEid",
1046
+ "type": "uint32"
1047
+ },
1048
+ {
1049
+ "internalType": "bytes32",
1050
+ "name": "to",
1051
+ "type": "bytes32"
1052
+ },
1053
+ {
1054
+ "internalType": "uint256",
1055
+ "name": "amountLD",
1056
+ "type": "uint256"
1057
+ },
1058
+ {
1059
+ "internalType": "uint256",
1060
+ "name": "minAmountLD",
1061
+ "type": "uint256"
1062
+ },
1063
+ {
1064
+ "internalType": "bytes",
1065
+ "name": "extraOptions",
1066
+ "type": "bytes"
1067
+ },
1068
+ {
1069
+ "internalType": "bytes",
1070
+ "name": "composeMsg",
1071
+ "type": "bytes"
1072
+ },
1073
+ {
1074
+ "internalType": "bytes",
1075
+ "name": "oftCmd",
1076
+ "type": "bytes"
1077
+ }
1078
+ ],
1079
+ "internalType": "struct SendParam",
1080
+ "name": "_sendParam",
1081
+ "type": "tuple"
1082
+ },
1083
+ {
1084
+ "components": [
1085
+ {
1086
+ "internalType": "uint256",
1087
+ "name": "nativeFee",
1088
+ "type": "uint256"
1089
+ },
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "lzTokenFee",
1093
+ "type": "uint256"
1094
+ }
1095
+ ],
1096
+ "internalType": "struct MessagingFee",
1097
+ "name": "_fee",
1098
+ "type": "tuple"
1099
+ },
1100
+ {
1101
+ "internalType": "address",
1102
+ "name": "_refundAddress",
1103
+ "type": "address"
1104
+ }
1105
+ ],
1106
+ "name": "send",
1107
+ "outputs": [
1108
+ {
1109
+ "components": [
1110
+ {
1111
+ "internalType": "bytes32",
1112
+ "name": "guid",
1113
+ "type": "bytes32"
1114
+ },
1115
+ {
1116
+ "internalType": "uint64",
1117
+ "name": "nonce",
1118
+ "type": "uint64"
1119
+ },
1120
+ {
1121
+ "components": [
1122
+ {
1123
+ "internalType": "uint256",
1124
+ "name": "nativeFee",
1125
+ "type": "uint256"
1126
+ },
1127
+ {
1128
+ "internalType": "uint256",
1129
+ "name": "lzTokenFee",
1130
+ "type": "uint256"
1131
+ }
1132
+ ],
1133
+ "internalType": "struct MessagingFee",
1134
+ "name": "fee",
1135
+ "type": "tuple"
1136
+ }
1137
+ ],
1138
+ "internalType": "struct MessagingReceipt",
1139
+ "name": "msgReceipt",
1140
+ "type": "tuple"
1141
+ },
1142
+ {
1143
+ "components": [
1144
+ {
1145
+ "internalType": "uint256",
1146
+ "name": "amountSentLD",
1147
+ "type": "uint256"
1148
+ },
1149
+ {
1150
+ "internalType": "uint256",
1151
+ "name": "amountReceivedLD",
1152
+ "type": "uint256"
1153
+ }
1154
+ ],
1155
+ "internalType": "struct OFTReceipt",
1156
+ "name": "oftReceipt",
1157
+ "type": "tuple"
1158
+ }
1159
+ ],
1160
+ "stateMutability": "payable",
1161
+ "type": "function"
1162
+ },
1163
+ {
1164
+ "inputs": [
1165
+ {
1166
+ "internalType": "address",
1167
+ "name": "_delegate",
1168
+ "type": "address"
1169
+ }
1170
+ ],
1171
+ "name": "setDelegate",
1172
+ "outputs": [],
1173
+ "stateMutability": "nonpayable",
1174
+ "type": "function"
1175
+ },
1176
+ {
1177
+ "inputs": [
1178
+ {
1179
+ "components": [
1180
+ {
1181
+ "internalType": "uint32",
1182
+ "name": "eid",
1183
+ "type": "uint32"
1184
+ },
1185
+ {
1186
+ "internalType": "uint16",
1187
+ "name": "msgType",
1188
+ "type": "uint16"
1189
+ },
1190
+ {
1191
+ "internalType": "bytes",
1192
+ "name": "options",
1193
+ "type": "bytes"
1194
+ }
1195
+ ],
1196
+ "internalType": "struct EnforcedOptionParam[]",
1197
+ "name": "_enforcedOptions",
1198
+ "type": "tuple[]"
1199
+ }
1200
+ ],
1201
+ "name": "setEnforcedOptions",
1202
+ "outputs": [],
1203
+ "stateMutability": "nonpayable",
1204
+ "type": "function"
1205
+ },
1206
+ {
1207
+ "inputs": [
1208
+ {
1209
+ "internalType": "address",
1210
+ "name": "_msgInspector",
1211
+ "type": "address"
1212
+ }
1213
+ ],
1214
+ "name": "setMsgInspector",
1215
+ "outputs": [],
1216
+ "stateMutability": "nonpayable",
1217
+ "type": "function"
1218
+ },
1219
+ {
1220
+ "inputs": [
1221
+ {
1222
+ "internalType": "uint32",
1223
+ "name": "_eid",
1224
+ "type": "uint32"
1225
+ },
1226
+ {
1227
+ "internalType": "bytes32",
1228
+ "name": "_peer",
1229
+ "type": "bytes32"
1230
+ }
1231
+ ],
1232
+ "name": "setPeer",
1233
+ "outputs": [],
1234
+ "stateMutability": "nonpayable",
1235
+ "type": "function"
1236
+ },
1237
+ {
1238
+ "inputs": [
1239
+ {
1240
+ "internalType": "address",
1241
+ "name": "_preCrime",
1242
+ "type": "address"
1243
+ }
1244
+ ],
1245
+ "name": "setPreCrime",
1246
+ "outputs": [],
1247
+ "stateMutability": "nonpayable",
1248
+ "type": "function"
1249
+ },
1250
+ {
1251
+ "inputs": [],
1252
+ "name": "sharedDecimals",
1253
+ "outputs": [
1254
+ {
1255
+ "internalType": "uint8",
1256
+ "name": "",
1257
+ "type": "uint8"
1258
+ }
1259
+ ],
1260
+ "stateMutability": "view",
1261
+ "type": "function"
1262
+ },
1263
+ {
1264
+ "inputs": [],
1265
+ "name": "token",
1266
+ "outputs": [
1267
+ {
1268
+ "internalType": "address",
1269
+ "name": "",
1270
+ "type": "address"
1271
+ }
1272
+ ],
1273
+ "stateMutability": "view",
1274
+ "type": "function"
1275
+ },
1276
+ {
1277
+ "inputs": [
1278
+ {
1279
+ "internalType": "address",
1280
+ "name": "newOwner",
1281
+ "type": "address"
1282
+ }
1283
+ ],
1284
+ "name": "transferOwnership",
1285
+ "outputs": [],
1286
+ "stateMutability": "nonpayable",
1287
+ "type": "function"
1288
+ }
1289
+ ],
1290
+ "bytecode": "0x610100604052348015610010575f5ffd5b506040516130fc3803806130fc83398101604081905261002f91610278565b828282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610071573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009591906102b8565b8282818181816100a433610209565b6001600160a01b0380831660805281166100d157604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b158015610115575f5ffd5b505af1158015610127573d5f5f3e3d5ffd5b505050505050505061013d61025860201b60201c565b60ff168360ff161015610163576040516301e9714b60e41b815260040160405180910390fd5b61016e6006846102f3565b61017990600a6103f5565b60a0525050506001600160a01b0392831660c052505060805160408051631c2eb17b60e31b8152905191909216945063e1758bd89350600480830193506020928290030181865afa1580156101d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f49190610403565b6001600160a01b031660e0525061041c915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b80516001600160a01b0381168114610273575f5ffd5b919050565b5f5f5f6060848603121561028a575f5ffd5b6102938461025d565b92506102a16020850161025d565b91506102af6040850161025d565b90509250925092565b5f602082840312156102c8575f5ffd5b815160ff811681146102d8575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b60ff828116828216039081111561030c5761030c6102df565b92915050565b6001815b600184111561034d57808504811115610331576103316102df565b600184161561033f57908102905b60019390931c928002610316565b935093915050565b5f826103635750600161030c565b8161036f57505f61030c565b8160018114610385576002811461038f576103ab565b600191505061030c565b60ff8411156103a0576103a06102df565b50506001821b61030c565b5060208310610133831016604e8410600b84101617156103ce575081810a61030c565b6103da5f198484610312565b805f19048211156103ed576103ed6102df565b029392505050565b5f6102d860ff841683610355565b5f60208284031215610413575f5ffd5b6102d88261025d565b60805160a05160c05160e051612c446104b85f395f818161059d01528181611a1b0152611a6d01525f81816105ec015281816116b2015261182101525f818161043c015281816115fd01528181611676015261176301525f818161034f015281816107a701528181610d8b01528181611027015281816112c8015281816118a001528181611a9001528181611abc0152611b730152612c445ff3fe608060405260043610610188575f3560e01c80630d35b4151461018c578063111ecdad146101c357806313137d65146101ef578063134d4f2514610204578063156a0d0f1461022b57806317442b70146102515780631f5e1334146102725780633400288b146102865780633b6f743b146102a557806352ae2879146102d15780635535d461146102e35780635a0dfe4d1461030f5780635e280f111461033e5780636fc1b31e14610371578063715018a6146103905780637d25a05e146103a457806382413eac146103dd578063857749b0146103fc5780638da5cb5b14610417578063963efcaa1461042b5780639f68b9641461046c578063b731ea0a1461047f578063b98bd0701461049e578063bb0b6a53146104bd578063bc70b354146104e8578063bd815db014610507578063c7c7f5b31461051a578063ca5eb5e11461053b578063d045a0dc1461055a578063d42438851461056d578063e1758bd81461058c578063f2fde38b146105bf578063fc0c546a146105de578063ff7bd03d14610610575b5f5ffd5b348015610197575f5ffd5b506101ab6101a6366004611dd9565b61062f565b6040516101ba93929190611e66565b60405180910390f35b3480156101ce575f5ffd5b506004546101e2906001600160a01b031681565b6040516101ba9190611ef6565b6102026101fd366004611f72565b6107a5565b005b34801561020f575f5ffd5b50610218600281565b60405161ffff90911681526020016101ba565b348015610236575f5ffd5b506040805162b9270b60e21b815260016020820152016101ba565b34801561025c575f5ffd5b50604080516001815260026020820152016101ba565b34801561027d575f5ffd5b50610218600181565b348015610291575f5ffd5b506102026102a0366004612024565b61085d565b3480156102b0575f5ffd5b506102c46102bf366004612059565b610873565b6040516101ba91906120a7565b3480156102dc575f5ffd5b50306101e2565b3480156102ee575f5ffd5b506103026102fd3660046120c6565b6108ce565b6040516101ba91906120f7565b34801561031a575f5ffd5b5061032e610329366004612024565b610970565b60405190151581526020016101ba565b348015610349575f5ffd5b506101e27f000000000000000000000000000000000000000000000000000000000000000081565b34801561037c575f5ffd5b5061020261038b366004612109565b61098b565b34801561039b575f5ffd5b506102026109e9565b3480156103af575f5ffd5b506103c56103be366004612024565b5f92915050565b6040516001600160401b0390911681526020016101ba565b3480156103e8575f5ffd5b5061032e6103f7366004612124565b6109fc565b348015610407575f5ffd5b50604051600681526020016101ba565b348015610422575f5ffd5b506101e2610a11565b348015610436575f5ffd5b5061045e7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101ba565b348015610477575f5ffd5b50600161032e565b34801561048a575f5ffd5b506002546101e2906001600160a01b031681565b3480156104a9575f5ffd5b506102026104b83660046121c6565b610a1f565b3480156104c8575f5ffd5b5061045e6104d7366004612204565b60016020525f908152604090205481565b3480156104f3575f5ffd5b5061030261050236600461221d565b610a39565b6102026105153660046121c6565b610bda565b61052d610528366004612279565b610d44565b6040516101ba9291906122e1565b348015610546575f5ffd5b50610202610555366004612109565b610d6c565b610202610568366004611f72565b610df0565b348015610578575f5ffd5b50610202610587366004612109565b610e1f565b348015610597575f5ffd5b506101e27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ca575f5ffd5b506102026105d9366004612109565b610e72565b3480156105e9575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006101e2565b34801561061b575f5ffd5b5061032e61062a36600461231d565b610eeb565b604080518082019091525f8082526020820152606061064c611d88565b5f5f90505f306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b19190612337565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ec573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107109190612352565b604080518082018252848152602080820184905282515f80825291810190935290975091925090610763565b604080518082019091525f81526060602082015281526020019060019003908161073c5790505b5093505f80610787604089013560608a013561078260208c018c612204565b610f1f565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146107f957336040516391ac5e4f60e01b81526004016107f09190611ef6565b60405180910390fd5b602087018035906108139061080e908a612204565b610f5a565b14610845576108256020880188612204565b876020013560405163309afaf360e21b81526004016107f092919061237d565b61085487878787878787610f95565b50505050505050565b6108656110ec565b61086f828261114b565b5050565b61087b611d88565b5f610896604085013560608601356107826020880188612204565b9150505f5f6108a586846111a0565b90925090506108c26108ba6020880188612204565b8383886112be565b93505050505b92915050565b600360209081525f9283526040808420909152908252902080546108f190612393565b80601f016020809104026020016040519081016040528092919081815260200182805461091d90612393565b80156109685780601f1061093f57610100808354040283529160200191610968565b820191905f5260205f20905b81548152906001019060200180831161094b57829003601f168201915b505050505081565b63ffffffff919091165f908152600160205260409020541490565b6109936110ec565b600480546001600160a01b0319166001600160a01b0383161790556040517ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906109de908390611ef6565b60405180910390a150565b6109f16110ec565b6109fa5f611391565b565b6001600160a01b03811630145b949350505050565b5f546001600160a01b031690565b610a276110ec565b61086f610a348284612465565b6113e0565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610a6c90612393565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9890612393565b8015610ae35780601f10610aba57610100808354040283529160200191610ae3565b820191905f5260205f20905b815481529060010190602001808311610ac657829003601f168201915b5050505050905080515f03610b315783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610a099350505050565b5f839003610b40579050610a09565b60028310610bbd57610b8684848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114e192505050565b80610b948460028188612586565b604051602001610ba6939291906125ad565b604051602081830303815290604052915050610a09565b8383604051639a6d49cd60e01b81526004016107f09291906125fb565b5f5b81811015610cc75736838383818110610bf757610bf761260e565b9050602002810190610c099190612622565b9050610c25610c1b6020830183612204565b6020830135610970565b610c2f5750610cbf565b3063d045a0dc60c08301358360a0810135610c4e610100830183612641565b610c5f610100890160e08a01612109565b610c6d6101208a018a612641565b6040518963ffffffff1660e01b8152600401610c8f9796959493929190612697565b5f604051808303818588803b158015610ca6575f5ffd5b505af1158015610cb8573d5f5f3e3d5ffd5b5050505050505b600101610bdc565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610d03573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d2a919081019061271c565b604051638351eea760e01b81526004016107f091906120f7565b610d4c611da0565b610d54611d88565b610d5f85858561150d565b915091505b935093915050565b610d746110ec565b60405163ca5eb5e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190610dc0908490600401611ef6565b5f604051808303815f87803b158015610dd7575f5ffd5b505af1158015610de9573d5f5f3e3d5ffd5b5050505050565b333014610e105760405163029a949d60e31b815260040160405180910390fd5b61085487878787878787610845565b610e276110ec565b600280546001600160a01b0319166001600160a01b0383161790556040517fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c2427760906109de908390611ef6565b610e7a6110ec565b6001600160a01b038116610edf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f0565b610ee881611391565b50565b5f602082018035906001908390610f029086612204565b63ffffffff16815260208101919091526040015f20541492915050565b5f5f610f2a856115fa565b915081905083811015610d64576040516371c4efed60e01b815260048101829052602481018590526044016107f0565b63ffffffff81165f90815260016020526040812054806108c85760405163f6ff4fb760e01b815263ffffffff841660048201526024016107f0565b5f610fa6610fa38787611630565b90565b90505f610fd182610fbf610fba8a8a61164e565b611670565b610fcc60208d018d612204565b6116a4565b90506028861115611091575f61100d610ff060608c0160408d01612784565b610ffd60208d018d612204565b846110088c8c6116e1565b61172b565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906110629086908d905f90879060040161279f565b5f604051808303815f87803b158015611079575f5ffd5b505af115801561108b573d5f5f3e3d5ffd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c6110ca60208d018d612204565b846040516110d992919061237d565b60405180910390a3505050505050505050565b336110f5610a11565b6001600160a01b0316146109fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f0565b63ffffffff82165f9081526001602052604090819020829055517f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b90611194908490849061237d565b60405180910390a15050565b6060805f6111fb85602001356111b58661175d565b6111c260a0890189612641565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061178892505050565b90935090505f8161120d576001611210565b60025b90506112306112226020880188612204565b8261050260808a018a612641565b6004549093506001600160a01b031680156112b45760405163043a78eb60e01b81526001600160a01b0382169063043a78eb9061127390889088906004016127cf565b602060405180830381865afa15801561128e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b291906127f3565b505b5050509250929050565b6112c6611d88565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161131589610f5a565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161134a92919061280e565b6040805180830381865afa158015611364573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138891906128b5565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b81518110156114b1576114118282815181106114005761140061260e565b6020026020010151604001516114e1565b8181815181106114235761142361260e565b60200260200101516040015160035f8484815181106114445761144461260e565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f84848151811061147b5761147b61260e565b60200260200101516020015161ffff1661ffff1681526020019081526020015f2090816114a89190612913565b506001016113e2565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674816040516109de91906129cd565b600281015161ffff811660031461086f5781604051639a6d49cd60e01b81526004016107f091906120f7565b611515611da0565b61151d611d88565b5f8061153f33604089013560608a013561153a60208c018c612204565b611802565b915091505f5f61154f89846111a0565b909250905061157b61156460208b018b612204565b8383611575368d90038d018d612a5b565b8b611852565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a906115c9908d018d612204565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006116268184612a8c565b6108c89190612aab565b5f61163e6020828486612586565b61164791612ace565b9392505050565b5f61165d602860208486612586565b61166691612aeb565b60c01c9392505050565b5f6108c87f00000000000000000000000000000000000000000000000000000000000000006001600160401b038416612aab565b5f6116d96001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585611972565b509092915050565b60606116f08260288186612586565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b6060848484846040516020016117449493929190612b23565b6040516020818303038152906040529050949350505050565b5f6108c87f000000000000000000000000000000000000000000000000000000000000000083612a8c565b80516060901515806117d15784846040516020016117bd92919091825260c01b6001600160c01b031916602082015260280190565b6040516020818303038152906040526117f8565b848433856040516020016117e89493929190612b74565b6040516020818303038152906040525b9150935093915050565b5f5f61180f858585610f1f565b90925090506118496001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168730856119da565b94509492505050565b61185a611da0565b341561187b57604051637693b46f60e01b81523460048201526024016107f0565b825161188690611a18565b5060208301511561189e5761189e8360200151611ab9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a4506040518060a001604052808963ffffffff1681526020016118ed8a610f5a565b81526020018881526020018781526020015f8760200151111515815250846040518363ffffffff1660e01b815260040161192892919061280e565b6080604051808303815f875af1158015611944573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119689190612bb3565b9695505050505050565b6040516001600160a01b0383166024820152604481018290526119d590849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b98565b505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611a129085906323b872dd60e01b9060840161199e565b50505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a6057604051638dce522760e01b815260040160405180910390fd5b611ab56001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016337f0000000000000000000000000000000000000000000000000000000000000000856119da565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b16573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3a9190612337565b90506001600160a01b038116611b63576040516329b99a9560e11b815260040160405180910390fd5b61086f6001600160a01b038216337f0000000000000000000000000000000000000000000000000000000000000000856119da565b5f611bec826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c6b9092919063ffffffff16565b905080515f1480611c0c575080806020019051810190611c0c91906127f3565b6119d55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107f0565b6060610a0984845f85855f5f866001600160a01b03168587604051611c909190612bfd565b5f6040518083038185875af1925050503d805f8114611cca576040519150601f19603f3d011682016040523d82523d5f602084013e611ccf565b606091505b5091509150611ce087838387611ceb565b979650505050505050565b60608315611d595782515f03611d52576001600160a01b0385163b611d525760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107f0565b5081610a09565b610a098383815115611d6e5781518083602001fd5b8060405162461bcd60e51b81526004016107f091906120f7565b60405180604001604052805f81526020015f81525090565b604080516060810182525f8082526020820152908101611dbe611d88565b905290565b5f60e08284031215611dd3575f5ffd5b50919050565b5f60208284031215611de9575f5ffd5b81356001600160401b03811115611dfe575f5ffd5b610a0984828501611dc3565b80518252602090810151910152565b5f5b83811015611e33578181015183820152602001611e1b565b50505f910152565b5f8151808452611e52816020860160208601611e19565b601f01601f19169290920160200192915050565b5f60a08201611e758387611e0a565b60a0604084015280855180835260c08501915060c08160051b8601019250602087015f5b82811015611ee15760bf198786030184528151805186526020810151905060406020870152611ecb6040870182611e3b565b9550506020938401939190910190600101611e99565b5050505080915050610a096060830184611e0a565b6001600160a01b0391909116815260200190565b5f60608284031215611dd3575f5ffd5b5f5f83601f840112611f2a575f5ffd5b5081356001600160401b03811115611f40575f5ffd5b602083019150836020828501011115611f57575f5ffd5b9250929050565b6001600160a01b0381168114610ee8575f5ffd5b5f5f5f5f5f5f5f60e0888a031215611f88575f5ffd5b611f928989611f0a565b96506060880135955060808801356001600160401b03811115611fb3575f5ffd5b611fbf8a828b01611f1a565b90965094505060a0880135611fd381611f5e565b925060c08801356001600160401b03811115611fed575f5ffd5b611ff98a828b01611f1a565b989b979a50959850939692959293505050565b803563ffffffff8116811461201f575f5ffd5b919050565b5f5f60408385031215612035575f5ffd5b61203e8361200c565b946020939093013593505050565b8015158114610ee8575f5ffd5b5f5f6040838503121561206a575f5ffd5b82356001600160401b0381111561207f575f5ffd5b61208b85828601611dc3565b925050602083013561209c8161204c565b809150509250929050565b604081016108c88284611e0a565b803561ffff8116811461201f575f5ffd5b5f5f604083850312156120d7575f5ffd5b6120e08361200c565b91506120ee602084016120b5565b90509250929050565b602081525f6116476020830184611e3b565b5f60208284031215612119575f5ffd5b813561164781611f5e565b5f5f5f5f60a08587031215612137575f5ffd5b6121418686611f0a565b935060608501356001600160401b0381111561215b575f5ffd5b61216787828801611f1a565b909450925050608085013561217b81611f5e565b939692955090935050565b5f5f83601f840112612196575f5ffd5b5081356001600160401b038111156121ac575f5ffd5b6020830191508360208260051b8501011115611f57575f5ffd5b5f5f602083850312156121d7575f5ffd5b82356001600160401b038111156121ec575f5ffd5b6121f885828601612186565b90969095509350505050565b5f60208284031215612214575f5ffd5b6116478261200c565b5f5f5f5f60608587031215612230575f5ffd5b6122398561200c565b9350612247602086016120b5565b925060408501356001600160401b03811115612261575f5ffd5b61226d87828801611f1a565b95989497509550505050565b5f5f5f838503608081121561228c575f5ffd5b84356001600160401b038111156122a1575f5ffd5b6122ad87828801611dc3565b9450506040601f19820112156122c1575f5ffd5b5060208401915060608401356122d681611f5e565b809150509250925092565b825181526020808401516001600160401b03169082015260408084015160c083019161230f90840182611e0a565b506116476080830184611e0a565b5f6060828403121561232d575f5ffd5b6116478383611f0a565b5f60208284031215612347575f5ffd5b815161164781611f5e565b5f60208284031215612362575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff929092168252602082015260400190565b600181811c908216806123a757607f821691505b602082108103611dd357634e487b7160e01b5f52602260045260245ffd5b604051606081016001600160401b03811182821017156123e7576123e7612369565b60405290565b604080519081016001600160401b03811182821017156123e7576123e7612369565b604051601f8201601f191681016001600160401b038111828210171561243757612437612369565b604052919050565b5f6001600160401b0382111561245757612457612369565b50601f01601f191660200190565b5f6001600160401b0383111561247d5761247d612369565b8260051b61248d6020820161240f565b848152908301906020810190368311156124a5575f5ffd5b845b8381101561257c5780356001600160401b038111156124c4575f5ffd5b860160603682900312156124d6575f5ffd5b6124de6123c5565b6124e78261200c565b81526124f5602083016120b5565b602082015260408201356001600160401b03811115612512575f5ffd5b919091019036601f830112612525575f5ffd5b81356125386125338261243f565b61240f565b81815236602083860101111561254c575f5ffd5b816020850160208301375f60208383010152806040840152505080855250506020830192506020810190506124a7565b5095945050505050565b5f5f85851115612594575f5ffd5b838611156125a0575f5ffd5b5050820193919092039150565b5f84516125be818460208901611e19565b8201838582375f930192835250909392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610a096020830184866125d3565b634e487b7160e01b5f52603260045260245ffd5b5f823561013e19833603018112612637575f5ffd5b9190910192915050565b5f5f8335601e19843603018112612656575f5ffd5b8301803591506001600160401b0382111561266f575f5ffd5b602001915036819003821315611f57575f5ffd5b6001600160401b0381168114610ee8575f5ffd5b63ffffffff6126a58961200c565b168152602088810135908201525f60408901356126c181612683565b6001600160401b031660408301526060820188905260e0608083018190526126ec90830187896125d3565b6001600160a01b03861660a084015282810360c084015261270e8185876125d3565b9a9950505050505050505050565b5f6020828403121561272c575f5ffd5b81516001600160401b03811115612741575f5ffd5b8201601f81018413612751575f5ffd5b805161275f6125338261243f565b818152856020838501011115612773575f5ffd5b611388826020830160208601611e19565b5f60208284031215612794575f5ffd5b813561164781612683565b60018060a01b038516815283602082015261ffff83166040820152608060608201525f6119686080830184611e3b565b604081525f6127e16040830185611e3b565b82810360208401526113888185611e3b565b5f60208284031215612803575f5ffd5b81516116478161204c565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261284360e0840182611e3b565b90506060850151603f198483030160a08501526128608282611e3b565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f60408284031215612896575f5ffd5b61289e6123ed565b825181526020928301519281019290925250919050565b5f604082840312156128c5575f5ffd5b6116478383612886565b601f8211156119d557805f5260205f20601f840160051c810160208510156128f45750805b601f840160051c820191505b81811015610de9575f8155600101612900565b81516001600160401b0381111561292c5761292c612369565b6129408161293a8454612393565b846128cf565b6020601f821160018114612972575f831561295b5750848201515b5f19600385901b1c1916600184901b178455610de9565b5f84815260208120601f198516915b828110156129a15787850151825560209485019460019092019101612981565b50848210156129be57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612a4f57603f19878603018452815163ffffffff815116865261ffff60208201511660208701526040810151905060606040870152612a396060870182611e3b565b95505060209384019391909101906001016129f3565b50929695505050505050565b5f6040828403128015612a6c575f5ffd5b50612a756123ed565b823581526020928301359281019290925250919050565b5f82612aa657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176108c857634e487b7160e01b5f52601160045260245ffd5b803560208310156108c8575f19602084900360031b1b1692915050565b80356001600160c01b03198116906008841015612b1c576001600160c01b0319600885900360031b81901b82161691505b5092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c810183905281515f90612b6481602c850160208701611e19565b91909101602c0195945050505050565b84815260018060c01b03198460c01b1660208201528260288201525f8251612ba3816048850160208701611e19565b9190910160480195945050505050565b5f6080828403128015612bc4575f5ffd5b50612bcd6123c5565b825181526020830151612bdf81612683565b6020820152612bf18460408501612886565b60408201529392505050565b5f8251612637818460208701611e1956fea264697066735822122018d261815c6e0546992a55beabf10db992c07d286f5b0f14474ca28ade8ad96f64736f6c634300081e0033",
1291
+ "deployedBytecode": "0x608060405260043610610188575f3560e01c80630d35b4151461018c578063111ecdad146101c357806313137d65146101ef578063134d4f2514610204578063156a0d0f1461022b57806317442b70146102515780631f5e1334146102725780633400288b146102865780633b6f743b146102a557806352ae2879146102d15780635535d461146102e35780635a0dfe4d1461030f5780635e280f111461033e5780636fc1b31e14610371578063715018a6146103905780637d25a05e146103a457806382413eac146103dd578063857749b0146103fc5780638da5cb5b14610417578063963efcaa1461042b5780639f68b9641461046c578063b731ea0a1461047f578063b98bd0701461049e578063bb0b6a53146104bd578063bc70b354146104e8578063bd815db014610507578063c7c7f5b31461051a578063ca5eb5e11461053b578063d045a0dc1461055a578063d42438851461056d578063e1758bd81461058c578063f2fde38b146105bf578063fc0c546a146105de578063ff7bd03d14610610575b5f5ffd5b348015610197575f5ffd5b506101ab6101a6366004611dd9565b61062f565b6040516101ba93929190611e66565b60405180910390f35b3480156101ce575f5ffd5b506004546101e2906001600160a01b031681565b6040516101ba9190611ef6565b6102026101fd366004611f72565b6107a5565b005b34801561020f575f5ffd5b50610218600281565b60405161ffff90911681526020016101ba565b348015610236575f5ffd5b506040805162b9270b60e21b815260016020820152016101ba565b34801561025c575f5ffd5b50604080516001815260026020820152016101ba565b34801561027d575f5ffd5b50610218600181565b348015610291575f5ffd5b506102026102a0366004612024565b61085d565b3480156102b0575f5ffd5b506102c46102bf366004612059565b610873565b6040516101ba91906120a7565b3480156102dc575f5ffd5b50306101e2565b3480156102ee575f5ffd5b506103026102fd3660046120c6565b6108ce565b6040516101ba91906120f7565b34801561031a575f5ffd5b5061032e610329366004612024565b610970565b60405190151581526020016101ba565b348015610349575f5ffd5b506101e27f000000000000000000000000000000000000000000000000000000000000000081565b34801561037c575f5ffd5b5061020261038b366004612109565b61098b565b34801561039b575f5ffd5b506102026109e9565b3480156103af575f5ffd5b506103c56103be366004612024565b5f92915050565b6040516001600160401b0390911681526020016101ba565b3480156103e8575f5ffd5b5061032e6103f7366004612124565b6109fc565b348015610407575f5ffd5b50604051600681526020016101ba565b348015610422575f5ffd5b506101e2610a11565b348015610436575f5ffd5b5061045e7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101ba565b348015610477575f5ffd5b50600161032e565b34801561048a575f5ffd5b506002546101e2906001600160a01b031681565b3480156104a9575f5ffd5b506102026104b83660046121c6565b610a1f565b3480156104c8575f5ffd5b5061045e6104d7366004612204565b60016020525f908152604090205481565b3480156104f3575f5ffd5b5061030261050236600461221d565b610a39565b6102026105153660046121c6565b610bda565b61052d610528366004612279565b610d44565b6040516101ba9291906122e1565b348015610546575f5ffd5b50610202610555366004612109565b610d6c565b610202610568366004611f72565b610df0565b348015610578575f5ffd5b50610202610587366004612109565b610e1f565b348015610597575f5ffd5b506101e27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ca575f5ffd5b506102026105d9366004612109565b610e72565b3480156105e9575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006101e2565b34801561061b575f5ffd5b5061032e61062a36600461231d565b610eeb565b604080518082019091525f8082526020820152606061064c611d88565b5f5f90505f306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b19190612337565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ec573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107109190612352565b604080518082018252848152602080820184905282515f80825291810190935290975091925090610763565b604080518082019091525f81526060602082015281526020019060019003908161073c5790505b5093505f80610787604089013560608a013561078260208c018c612204565b610f1f565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146107f957336040516391ac5e4f60e01b81526004016107f09190611ef6565b60405180910390fd5b602087018035906108139061080e908a612204565b610f5a565b14610845576108256020880188612204565b876020013560405163309afaf360e21b81526004016107f092919061237d565b61085487878787878787610f95565b50505050505050565b6108656110ec565b61086f828261114b565b5050565b61087b611d88565b5f610896604085013560608601356107826020880188612204565b9150505f5f6108a586846111a0565b90925090506108c26108ba6020880188612204565b8383886112be565b93505050505b92915050565b600360209081525f9283526040808420909152908252902080546108f190612393565b80601f016020809104026020016040519081016040528092919081815260200182805461091d90612393565b80156109685780601f1061093f57610100808354040283529160200191610968565b820191905f5260205f20905b81548152906001019060200180831161094b57829003601f168201915b505050505081565b63ffffffff919091165f908152600160205260409020541490565b6109936110ec565b600480546001600160a01b0319166001600160a01b0383161790556040517ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906109de908390611ef6565b60405180910390a150565b6109f16110ec565b6109fa5f611391565b565b6001600160a01b03811630145b949350505050565b5f546001600160a01b031690565b610a276110ec565b61086f610a348284612465565b6113e0565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610a6c90612393565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9890612393565b8015610ae35780601f10610aba57610100808354040283529160200191610ae3565b820191905f5260205f20905b815481529060010190602001808311610ac657829003601f168201915b5050505050905080515f03610b315783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610a099350505050565b5f839003610b40579050610a09565b60028310610bbd57610b8684848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114e192505050565b80610b948460028188612586565b604051602001610ba6939291906125ad565b604051602081830303815290604052915050610a09565b8383604051639a6d49cd60e01b81526004016107f09291906125fb565b5f5b81811015610cc75736838383818110610bf757610bf761260e565b9050602002810190610c099190612622565b9050610c25610c1b6020830183612204565b6020830135610970565b610c2f5750610cbf565b3063d045a0dc60c08301358360a0810135610c4e610100830183612641565b610c5f610100890160e08a01612109565b610c6d6101208a018a612641565b6040518963ffffffff1660e01b8152600401610c8f9796959493929190612697565b5f604051808303818588803b158015610ca6575f5ffd5b505af1158015610cb8573d5f5f3e3d5ffd5b5050505050505b600101610bdc565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610d03573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d2a919081019061271c565b604051638351eea760e01b81526004016107f091906120f7565b610d4c611da0565b610d54611d88565b610d5f85858561150d565b915091505b935093915050565b610d746110ec565b60405163ca5eb5e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190610dc0908490600401611ef6565b5f604051808303815f87803b158015610dd7575f5ffd5b505af1158015610de9573d5f5f3e3d5ffd5b5050505050565b333014610e105760405163029a949d60e31b815260040160405180910390fd5b61085487878787878787610845565b610e276110ec565b600280546001600160a01b0319166001600160a01b0383161790556040517fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c2427760906109de908390611ef6565b610e7a6110ec565b6001600160a01b038116610edf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f0565b610ee881611391565b50565b5f602082018035906001908390610f029086612204565b63ffffffff16815260208101919091526040015f20541492915050565b5f5f610f2a856115fa565b915081905083811015610d64576040516371c4efed60e01b815260048101829052602481018590526044016107f0565b63ffffffff81165f90815260016020526040812054806108c85760405163f6ff4fb760e01b815263ffffffff841660048201526024016107f0565b5f610fa6610fa38787611630565b90565b90505f610fd182610fbf610fba8a8a61164e565b611670565b610fcc60208d018d612204565b6116a4565b90506028861115611091575f61100d610ff060608c0160408d01612784565b610ffd60208d018d612204565b846110088c8c6116e1565b61172b565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906110629086908d905f90879060040161279f565b5f604051808303815f87803b158015611079575f5ffd5b505af115801561108b573d5f5f3e3d5ffd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c6110ca60208d018d612204565b846040516110d992919061237d565b60405180910390a3505050505050505050565b336110f5610a11565b6001600160a01b0316146109fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f0565b63ffffffff82165f9081526001602052604090819020829055517f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b90611194908490849061237d565b60405180910390a15050565b6060805f6111fb85602001356111b58661175d565b6111c260a0890189612641565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061178892505050565b90935090505f8161120d576001611210565b60025b90506112306112226020880188612204565b8261050260808a018a612641565b6004549093506001600160a01b031680156112b45760405163043a78eb60e01b81526001600160a01b0382169063043a78eb9061127390889088906004016127cf565b602060405180830381865afa15801561128e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b291906127f3565b505b5050509250929050565b6112c6611d88565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161131589610f5a565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161134a92919061280e565b6040805180830381865afa158015611364573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138891906128b5565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b81518110156114b1576114118282815181106114005761140061260e565b6020026020010151604001516114e1565b8181815181106114235761142361260e565b60200260200101516040015160035f8484815181106114445761144461260e565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f84848151811061147b5761147b61260e565b60200260200101516020015161ffff1661ffff1681526020019081526020015f2090816114a89190612913565b506001016113e2565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674816040516109de91906129cd565b600281015161ffff811660031461086f5781604051639a6d49cd60e01b81526004016107f091906120f7565b611515611da0565b61151d611d88565b5f8061153f33604089013560608a013561153a60208c018c612204565b611802565b915091505f5f61154f89846111a0565b909250905061157b61156460208b018b612204565b8383611575368d90038d018d612a5b565b8b611852565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a906115c9908d018d612204565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006116268184612a8c565b6108c89190612aab565b5f61163e6020828486612586565b61164791612ace565b9392505050565b5f61165d602860208486612586565b61166691612aeb565b60c01c9392505050565b5f6108c87f00000000000000000000000000000000000000000000000000000000000000006001600160401b038416612aab565b5f6116d96001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585611972565b509092915050565b60606116f08260288186612586565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b6060848484846040516020016117449493929190612b23565b6040516020818303038152906040529050949350505050565b5f6108c87f000000000000000000000000000000000000000000000000000000000000000083612a8c565b80516060901515806117d15784846040516020016117bd92919091825260c01b6001600160c01b031916602082015260280190565b6040516020818303038152906040526117f8565b848433856040516020016117e89493929190612b74565b6040516020818303038152906040525b9150935093915050565b5f5f61180f858585610f1f565b90925090506118496001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168730856119da565b94509492505050565b61185a611da0565b341561187b57604051637693b46f60e01b81523460048201526024016107f0565b825161188690611a18565b5060208301511561189e5761189e8360200151611ab9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a4506040518060a001604052808963ffffffff1681526020016118ed8a610f5a565b81526020018881526020018781526020015f8760200151111515815250846040518363ffffffff1660e01b815260040161192892919061280e565b6080604051808303815f875af1158015611944573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119689190612bb3565b9695505050505050565b6040516001600160a01b0383166024820152604481018290526119d590849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b98565b505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611a129085906323b872dd60e01b9060840161199e565b50505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a6057604051638dce522760e01b815260040160405180910390fd5b611ab56001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016337f0000000000000000000000000000000000000000000000000000000000000000856119da565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b16573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3a9190612337565b90506001600160a01b038116611b63576040516329b99a9560e11b815260040160405180910390fd5b61086f6001600160a01b038216337f0000000000000000000000000000000000000000000000000000000000000000856119da565b5f611bec826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c6b9092919063ffffffff16565b905080515f1480611c0c575080806020019051810190611c0c91906127f3565b6119d55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107f0565b6060610a0984845f85855f5f866001600160a01b03168587604051611c909190612bfd565b5f6040518083038185875af1925050503d805f8114611cca576040519150601f19603f3d011682016040523d82523d5f602084013e611ccf565b606091505b5091509150611ce087838387611ceb565b979650505050505050565b60608315611d595782515f03611d52576001600160a01b0385163b611d525760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107f0565b5081610a09565b610a098383815115611d6e5781518083602001fd5b8060405162461bcd60e51b81526004016107f091906120f7565b60405180604001604052805f81526020015f81525090565b604080516060810182525f8082526020820152908101611dbe611d88565b905290565b5f60e08284031215611dd3575f5ffd5b50919050565b5f60208284031215611de9575f5ffd5b81356001600160401b03811115611dfe575f5ffd5b610a0984828501611dc3565b80518252602090810151910152565b5f5b83811015611e33578181015183820152602001611e1b565b50505f910152565b5f8151808452611e52816020860160208601611e19565b601f01601f19169290920160200192915050565b5f60a08201611e758387611e0a565b60a0604084015280855180835260c08501915060c08160051b8601019250602087015f5b82811015611ee15760bf198786030184528151805186526020810151905060406020870152611ecb6040870182611e3b565b9550506020938401939190910190600101611e99565b5050505080915050610a096060830184611e0a565b6001600160a01b0391909116815260200190565b5f60608284031215611dd3575f5ffd5b5f5f83601f840112611f2a575f5ffd5b5081356001600160401b03811115611f40575f5ffd5b602083019150836020828501011115611f57575f5ffd5b9250929050565b6001600160a01b0381168114610ee8575f5ffd5b5f5f5f5f5f5f5f60e0888a031215611f88575f5ffd5b611f928989611f0a565b96506060880135955060808801356001600160401b03811115611fb3575f5ffd5b611fbf8a828b01611f1a565b90965094505060a0880135611fd381611f5e565b925060c08801356001600160401b03811115611fed575f5ffd5b611ff98a828b01611f1a565b989b979a50959850939692959293505050565b803563ffffffff8116811461201f575f5ffd5b919050565b5f5f60408385031215612035575f5ffd5b61203e8361200c565b946020939093013593505050565b8015158114610ee8575f5ffd5b5f5f6040838503121561206a575f5ffd5b82356001600160401b0381111561207f575f5ffd5b61208b85828601611dc3565b925050602083013561209c8161204c565b809150509250929050565b604081016108c88284611e0a565b803561ffff8116811461201f575f5ffd5b5f5f604083850312156120d7575f5ffd5b6120e08361200c565b91506120ee602084016120b5565b90509250929050565b602081525f6116476020830184611e3b565b5f60208284031215612119575f5ffd5b813561164781611f5e565b5f5f5f5f60a08587031215612137575f5ffd5b6121418686611f0a565b935060608501356001600160401b0381111561215b575f5ffd5b61216787828801611f1a565b909450925050608085013561217b81611f5e565b939692955090935050565b5f5f83601f840112612196575f5ffd5b5081356001600160401b038111156121ac575f5ffd5b6020830191508360208260051b8501011115611f57575f5ffd5b5f5f602083850312156121d7575f5ffd5b82356001600160401b038111156121ec575f5ffd5b6121f885828601612186565b90969095509350505050565b5f60208284031215612214575f5ffd5b6116478261200c565b5f5f5f5f60608587031215612230575f5ffd5b6122398561200c565b9350612247602086016120b5565b925060408501356001600160401b03811115612261575f5ffd5b61226d87828801611f1a565b95989497509550505050565b5f5f5f838503608081121561228c575f5ffd5b84356001600160401b038111156122a1575f5ffd5b6122ad87828801611dc3565b9450506040601f19820112156122c1575f5ffd5b5060208401915060608401356122d681611f5e565b809150509250925092565b825181526020808401516001600160401b03169082015260408084015160c083019161230f90840182611e0a565b506116476080830184611e0a565b5f6060828403121561232d575f5ffd5b6116478383611f0a565b5f60208284031215612347575f5ffd5b815161164781611f5e565b5f60208284031215612362575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff929092168252602082015260400190565b600181811c908216806123a757607f821691505b602082108103611dd357634e487b7160e01b5f52602260045260245ffd5b604051606081016001600160401b03811182821017156123e7576123e7612369565b60405290565b604080519081016001600160401b03811182821017156123e7576123e7612369565b604051601f8201601f191681016001600160401b038111828210171561243757612437612369565b604052919050565b5f6001600160401b0382111561245757612457612369565b50601f01601f191660200190565b5f6001600160401b0383111561247d5761247d612369565b8260051b61248d6020820161240f565b848152908301906020810190368311156124a5575f5ffd5b845b8381101561257c5780356001600160401b038111156124c4575f5ffd5b860160603682900312156124d6575f5ffd5b6124de6123c5565b6124e78261200c565b81526124f5602083016120b5565b602082015260408201356001600160401b03811115612512575f5ffd5b919091019036601f830112612525575f5ffd5b81356125386125338261243f565b61240f565b81815236602083860101111561254c575f5ffd5b816020850160208301375f60208383010152806040840152505080855250506020830192506020810190506124a7565b5095945050505050565b5f5f85851115612594575f5ffd5b838611156125a0575f5ffd5b5050820193919092039150565b5f84516125be818460208901611e19565b8201838582375f930192835250909392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610a096020830184866125d3565b634e487b7160e01b5f52603260045260245ffd5b5f823561013e19833603018112612637575f5ffd5b9190910192915050565b5f5f8335601e19843603018112612656575f5ffd5b8301803591506001600160401b0382111561266f575f5ffd5b602001915036819003821315611f57575f5ffd5b6001600160401b0381168114610ee8575f5ffd5b63ffffffff6126a58961200c565b168152602088810135908201525f60408901356126c181612683565b6001600160401b031660408301526060820188905260e0608083018190526126ec90830187896125d3565b6001600160a01b03861660a084015282810360c084015261270e8185876125d3565b9a9950505050505050505050565b5f6020828403121561272c575f5ffd5b81516001600160401b03811115612741575f5ffd5b8201601f81018413612751575f5ffd5b805161275f6125338261243f565b818152856020838501011115612773575f5ffd5b611388826020830160208601611e19565b5f60208284031215612794575f5ffd5b813561164781612683565b60018060a01b038516815283602082015261ffff83166040820152608060608201525f6119686080830184611e3b565b604081525f6127e16040830185611e3b565b82810360208401526113888185611e3b565b5f60208284031215612803575f5ffd5b81516116478161204c565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261284360e0840182611e3b565b90506060850151603f198483030160a08501526128608282611e3b565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f60408284031215612896575f5ffd5b61289e6123ed565b825181526020928301519281019290925250919050565b5f604082840312156128c5575f5ffd5b6116478383612886565b601f8211156119d557805f5260205f20601f840160051c810160208510156128f45750805b601f840160051c820191505b81811015610de9575f8155600101612900565b81516001600160401b0381111561292c5761292c612369565b6129408161293a8454612393565b846128cf565b6020601f821160018114612972575f831561295b5750848201515b5f19600385901b1c1916600184901b178455610de9565b5f84815260208120601f198516915b828110156129a15787850151825560209485019460019092019101612981565b50848210156129be57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612a4f57603f19878603018452815163ffffffff815116865261ffff60208201511660208701526040810151905060606040870152612a396060870182611e3b565b95505060209384019391909101906001016129f3565b50929695505050505050565b5f6040828403128015612a6c575f5ffd5b50612a756123ed565b823581526020928301359281019290925250919050565b5f82612aa657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176108c857634e487b7160e01b5f52601160045260245ffd5b803560208310156108c8575f19602084900360031b1b1692915050565b80356001600160c01b03198116906008841015612b1c576001600160c01b0319600885900360031b81901b82161691505b5092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c810183905281515f90612b6481602c850160208701611e19565b91909101602c0195945050505050565b84815260018060c01b03198460c01b1660208201528260288201525f8251612ba3816048850160208701611e19565b9190910160480195945050505050565b5f6080828403128015612bc4575f5ffd5b50612bcd6123c5565b825181526020830151612bdf81612683565b6020820152612bf18460408501612886565b60408201529392505050565b5f8251612637818460208701611e1956fea264697066735822122018d261815c6e0546992a55beabf10db992c07d286f5b0f14474ca28ade8ad96f64736f6c634300081e0033",
1292
+ "linkReferences": {},
1293
+ "deployedLinkReferences": {}
1294
+ }