@across-protocol/contracts 5.0.6-alpha.0 → 5.0.6-alpha.2

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 (377) hide show
  1. package/contracts/test/AcrossMessageHandlerMock.sol +14 -0
  2. package/contracts/test/ArbitrumMocks.sol +169 -0
  3. package/contracts/test/ExpandedERC20WithBlacklist.sol +19 -0
  4. package/contracts/test/LineaMocks.sol +83 -0
  5. package/contracts/test/MerkleLibTest.sol +65 -0
  6. package/contracts/test/MockBedrockStandardBridge.sol +115 -0
  7. package/contracts/test/MockBlastUsdYieldManager.sol +20 -0
  8. package/contracts/test/MockCCTP.sol +212 -0
  9. package/contracts/test/MockCaller.sol +20 -0
  10. package/contracts/test/MockERC1271.sol +21 -0
  11. package/contracts/test/MockERC20.sol +87 -0
  12. package/contracts/test/MockEndpoint.sol +16 -0
  13. package/contracts/test/MockHubPool.sol +100 -0
  14. package/contracts/test/MockOFTMessenger.sol +88 -0
  15. package/contracts/test/MockOptimism_SpokePool.sol +22 -0
  16. package/contracts/test/MockPermit2.sol +188 -0
  17. package/contracts/test/MockSpokePool.sol +263 -0
  18. package/contracts/test/MockSpokePoolV2.sol +27 -0
  19. package/contracts/test/MockZkStackBridgeHub.sol +43 -0
  20. package/contracts/test/PolygonERC20Test.sol +16 -0
  21. package/contracts/test/PolygonMocks.sol +82 -0
  22. package/contracts/test/PolygonZkEVMMocks.sol +72 -0
  23. package/contracts/test/ScrollMocks.sol +109 -0
  24. package/contracts/test/V2MerkleLib.sol +18 -0
  25. package/contracts/test/ZkSyncMocks.sol +78 -0
  26. package/contracts/test/interfaces/IHyperCoreFlowExecutor.sol +189 -0
  27. package/contracts/test/interfaces/MockV2SpokePoolInterface.sol +38 -0
  28. package/dist/abi/AccessControl.sol/AccessControl.json +1 -1
  29. package/dist/abi/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -1
  30. package/dist/abi/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +1 -1
  31. package/dist/abi/AcrossConfigStore.sol/AcrossConfigStore.json +1 -1
  32. package/dist/abi/AcrossEventEmitter.sol/AcrossEventEmitter.json +1 -1
  33. package/dist/abi/AcrossMerkleDistributor.sol/AcrossMerkleDistributor.json +1 -1
  34. package/dist/abi/AcrossMessageHandlerMock.sol/AcrossMessageHandlerMock.json +1 -0
  35. package/dist/abi/AdapterInterface.sol/AdapterInterface.json +1 -1
  36. package/dist/abi/AdapterStore.sol/AdapterStore.json +1 -1
  37. package/dist/abi/AdapterStore.sol/MessengerTypes.json +1 -1
  38. package/dist/abi/Address.sol/Address.json +1 -1
  39. package/dist/abi/AddressConverters.sol/Bytes32ToAddress.json +1 -1
  40. package/dist/abi/AddressWhitelistInterface.sol/AddressWhitelistInterface.json +1 -1
  41. package/dist/abi/AdminRelayTokensAdapter.sol/AdminRelayTokensAdapter.json +1 -1
  42. package/dist/abi/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -1
  43. package/dist/abi/ArbitraryEVMFlowExecutor.sol/ArbitraryEVMFlowExecutor.json +1 -1
  44. package/dist/abi/ArbitrumBridge.sol/ArbitrumCustomGasTokenInbox.json +1 -1
  45. package/dist/abi/ArbitrumBridge.sol/ArbitrumERC20Bridge.json +1 -1
  46. package/dist/abi/ArbitrumBridge.sol/ArbitrumInboxLike.json +1 -1
  47. package/dist/abi/ArbitrumBridge.sol/ArbitrumL1ERC20GatewayLike.json +1 -1
  48. package/dist/abi/ArbitrumBridge.sol/ArbitrumL2ERC20GatewayLike.json +1 -1
  49. package/dist/abi/ArbitrumMocks.sol/ArbitrumMockErc20GatewayRouter.json +1 -0
  50. package/dist/abi/ArbitrumMocks.sol/Inbox.json +1 -0
  51. package/dist/abi/ArbitrumMocks.sol/L2GatewayRouter.json +1 -0
  52. package/dist/abi/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +1 -1
  53. package/dist/abi/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +1 -1
  54. package/dist/abi/Arbitrum_CustomGasToken_Adapter.sol/FunderInterface.json +1 -1
  55. package/dist/abi/Arbitrum_Forwarder.sol/Arbitrum_Forwarder.json +1 -1
  56. package/dist/abi/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +1 -1
  57. package/dist/abi/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +1 -1
  58. package/dist/abi/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +1 -1
  59. package/dist/abi/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +1 -1
  60. package/dist/abi/AuthorizedFundedFlow.sol/AuthorizedFundedFlow.json +1 -1
  61. package/dist/abi/BaseModuleHandler.sol/BaseModuleHandler.json +1 -1
  62. package/dist/abi/BaseSimulatorTest.sol/BaseSimulatorTest.json +1 -1
  63. package/dist/abi/Base_Adapter.sol/Base_Adapter.json +1 -1
  64. package/dist/abi/BeaconProxy.sol/BeaconProxy.json +1 -1
  65. package/dist/abi/Blast_Adapter.sol/Blast_Adapter.json +1 -1
  66. package/dist/abi/Blast_Adapter.sol/IL1ERC20Bridge.json +1 -1
  67. package/dist/abi/Blast_DaiRetriever.sol/Blast_DaiRetriever.json +1 -1
  68. package/dist/abi/Blast_DaiRetriever.sol/USDYieldManager.json +1 -1
  69. package/dist/abi/Blast_RescueAdapter.sol/Blast_RescueAdapter.json +1 -1
  70. package/dist/abi/Blast_SpokePool.sol/Blast_SpokePool.json +1 -1
  71. package/dist/abi/Blast_SpokePool.sol/IBlast.json +1 -1
  72. package/dist/abi/Blast_SpokePool.sol/IERC20Rebasing.json +1 -1
  73. package/dist/abi/Blast_SpokePool.sol/IUSDBL2Bridge.json +1 -1
  74. package/dist/abi/Boba_Adapter.sol/Boba_Adapter.json +1 -1
  75. package/dist/abi/Boba_SpokePool.sol/Boba_SpokePool.json +1 -1
  76. package/dist/abi/BondToken.sol/BondToken.json +1 -1
  77. package/dist/abi/BondToken.sol/ExtendedHubPoolInterface.json +1 -1
  78. package/dist/abi/BytesLib.sol/BytesLib.json +1 -1
  79. package/dist/abi/CCTPInterfaces.sol/IMessageTransmitter.json +1 -1
  80. package/dist/abi/CCTPInterfaces.sol/IMessageTransmitterV2.json +1 -1
  81. package/dist/abi/CCTPInterfaces.sol/ITokenMessenger.json +1 -1
  82. package/dist/abi/CCTPInterfaces.sol/ITokenMessengerV2.json +1 -1
  83. package/dist/abi/CCTPInterfaces.sol/ITokenMinter.json +1 -1
  84. package/dist/abi/Cher_SpokePool.sol/Cher_SpokePool.json +1 -1
  85. package/dist/abi/CircleCCTPAdapter.sol/CircleCCTPAdapter.json +1 -1
  86. package/dist/abi/CircleCCTPAdapter.sol/CircleDomainIds.json +1 -1
  87. package/dist/abi/Clones.sol/Clones.json +1 -1
  88. package/dist/abi/Constants.sol/Constants.json +1 -1
  89. package/dist/abi/Constants.sol/OptimisticOracleConstraints.json +1 -1
  90. package/dist/abi/Constants.sol/OracleInterfaces.json +1 -1
  91. package/dist/abi/ContextUpgradeable.sol/ContextUpgradeable.json +1 -1
  92. package/dist/abi/CoreExecution.sol/CoreExecution.json +1 -1
  93. package/dist/abi/CoreSimulatorLib.sol/HypeSystemContract.json +1 -1
  94. package/dist/abi/CoreState.sol/CoreState.json +1 -1
  95. package/dist/abi/CoreView.sol/CoreView.json +1 -1
  96. package/dist/abi/CoreWriterLib.sol/CoreWriterLib.json +1 -1
  97. package/dist/abi/CoreWriterSim.sol/CoreWriterSim.json +1 -1
  98. package/dist/abi/CounterfactualDeposit.sol/CounterfactualDeposit.json +1 -1
  99. package/dist/abi/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +1 -1
  100. package/dist/abi/CounterfactualDepositCCTP.sol/ISponsoredCCTPSrcPeriphery.json +1 -1
  101. package/dist/abi/CounterfactualDepositFactory.sol/CounterfactualDepositFactory.json +1 -1
  102. package/dist/abi/CounterfactualDepositFactoryTron.sol/CounterfactualDepositFactoryTron.json +1 -1
  103. package/dist/abi/CounterfactualDepositOFT.sol/CounterfactualDepositOFT.json +1 -1
  104. package/dist/abi/CounterfactualDepositOFT.sol/ISponsoredOFTSrcPeriphery.json +1 -1
  105. package/dist/abi/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -1
  106. package/dist/abi/Create2.sol/Create2.json +1 -1
  107. package/dist/abi/CrossDomainEnabled.sol/CrossDomainEnabled.json +1 -1
  108. package/dist/abi/DeployedAddresses.sol/DeployedAddresses.json +1 -1
  109. package/dist/abi/DeploymentUtils.sol/DeploymentUtils.json +1 -1
  110. package/dist/abi/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +1 -1
  111. package/dist/abi/DonationBox.sol/DonationBox.json +1 -1
  112. package/dist/abi/DstOFTHandler.sol/DstOFTHandler.json +1 -1
  113. package/dist/abi/ECDSA.sol/ECDSA.json +1 -1
  114. package/dist/abi/EIP712.sol/EIP712.json +1 -1
  115. package/dist/abi/EIP712CrossChainUpgradeable.sol/EIP712CrossChainUpgradeable.json +1 -1
  116. package/dist/abi/ERC1155.sol/ERC1155.json +1 -1
  117. package/dist/abi/ERC165.sol/ERC165.json +1 -1
  118. package/dist/abi/ERC165Upgradeable.sol/ERC165Upgradeable.json +1 -1
  119. package/dist/abi/ERC1967Proxy.sol/ERC1967Proxy.json +1 -1
  120. package/dist/abi/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -1
  121. package/dist/abi/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +1 -1
  122. package/dist/abi/ERC1967Utils.sol/ERC1967Utils.json +1 -1
  123. package/dist/abi/ERC20.sol/ERC20.json +1 -1
  124. package/dist/abi/ERC20Permit.sol/ERC20Permit.json +1 -1
  125. package/dist/abi/ERC7683.sol/IDestinationSettler.json +1 -1
  126. package/dist/abi/Errors.sol/Errors.json +1 -1
  127. package/dist/abi/Ethereum_Adapter.sol/Ethereum_Adapter.json +1 -1
  128. package/dist/abi/Ethereum_RescueAdapter.sol/Ethereum_RescueAdapter.json +1 -1
  129. package/dist/abi/Ethereum_SpokePool.sol/Ethereum_SpokePool.json +1 -1
  130. package/dist/abi/ExpandedERC20.sol/ExpandedERC20.json +1 -1
  131. package/dist/abi/ExpandedERC20WithBlacklist.sol/ExpandedERC20WithBlacklist.json +1 -1
  132. package/dist/abi/ExpandedIERC20.sol/ExpandedIERC20.json +1 -1
  133. package/dist/abi/FinderInterface.sol/FinderInterface.json +1 -1
  134. package/dist/abi/ForwarderBase.sol/ForwarderBase.json +1 -1
  135. package/dist/abi/ForwarderInterface.sol/ForwarderInterface.json +1 -1
  136. package/dist/abi/HLConstants.sol/HLConstants.json +1 -1
  137. package/dist/abi/HLConversions.sol/HLConversions.json +1 -1
  138. package/dist/abi/HubPool.sol/HubPool.json +1 -1
  139. package/dist/abi/HubPoolInterface.sol/HubPoolInterface.json +1 -1
  140. package/dist/abi/HubPoolStore.sol/HubPoolStore.json +1 -1
  141. package/dist/abi/HubPoolStore.sol/IHubPool.json +1 -1
  142. package/dist/abi/HubPoolTestBase.sol/HubPoolTestBase.json +1 -1
  143. package/dist/abi/HubPoolTestBase.sol/MockAddressWhitelist.json +1 -1
  144. package/dist/abi/HubPoolTestBase.sol/MockFinder.json +1 -1
  145. package/dist/abi/HubPoolTestBase.sol/MockIdentifierWhitelist.json +1 -1
  146. package/dist/abi/HubPoolTestBase.sol/MockLpTokenFactory.json +1 -1
  147. package/dist/abi/HubPoolTestBase.sol/MockOptimisticOracle.json +1 -1
  148. package/dist/abi/HubPoolTestBase.sol/MockStore.json +1 -1
  149. package/dist/abi/HyperCore.sol/HyperCore.json +1 -1
  150. package/dist/abi/HyperCoreFlowExecutor.sol/HyperCoreFlowExecutor.json +1 -1
  151. package/dist/abi/HyperCoreFlowRoles.sol/HyperCoreFlowRoles.json +1 -1
  152. package/dist/abi/HyperCoreLib.sol/HyperCoreLib.json +1 -1
  153. package/dist/abi/HyperCoreLib.sol/ICoreWriter.json +1 -1
  154. package/dist/abi/HyperCoreMockHelper.sol/HyperCoreMockHelper.json +1 -0
  155. package/dist/abi/HyperliquidDepositHandler.sol/HyperliquidDepositHandler.json +1 -1
  156. package/dist/abi/IAccessControl.sol/IAccessControl.json +1 -1
  157. package/dist/abi/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -1
  158. package/dist/abi/IBeacon.sol/IBeacon.json +1 -1
  159. package/dist/abi/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +1 -1
  160. package/dist/abi/ICoreDepositWallet.sol/ICoreDepositWallet.json +1 -1
  161. package/dist/abi/ICoreDepositWallet.sol/IForwardDepositReceiver.json +1 -1
  162. package/dist/abi/ICoreWriter.sol/ICoreWriter.json +1 -1
  163. package/dist/abi/ICounterfactualDeposit.sol/ICounterfactualDeposit.json +1 -1
  164. package/dist/abi/ICounterfactualDepositFactory.sol/ICounterfactualDepositFactory.json +1 -1
  165. package/dist/abi/ICounterfactualImplementation.sol/ICounterfactualImplementation.json +1 -1
  166. package/dist/abi/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -1
  167. package/dist/abi/ICrossDomainMessengerUpgradeable.sol/ICrossDomainMessengerUpgradeable.json +1 -1
  168. package/dist/abi/IERC1155.sol/IERC1155.json +1 -1
  169. package/dist/abi/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -1
  170. package/dist/abi/IERC1155Receiver.sol/IERC1155Receiver.json +1 -1
  171. package/dist/abi/IERC1271.sol/IERC1271.json +1 -1
  172. package/dist/abi/IERC1363.sol/IERC1363.json +1 -1
  173. package/dist/abi/IERC165.sol/IERC165.json +1 -1
  174. package/dist/abi/IERC1967.sol/IERC1967.json +1 -1
  175. package/dist/abi/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +1 -1
  176. package/dist/abi/IERC20.sol/IERC20.json +1 -1
  177. package/dist/abi/IERC20Auth.sol/IERC20Auth.json +1 -1
  178. package/dist/abi/IERC20Metadata.sol/IERC20Metadata.json +1 -1
  179. package/dist/abi/IERC20Permit.sol/IERC20Permit.json +1 -1
  180. package/dist/abi/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +1 -1
  181. package/dist/abi/IERC20Upgradeable.sol/IERC20Upgradeable.json +1 -1
  182. package/dist/abi/IERC5267.sol/IERC5267.json +1 -1
  183. package/dist/abi/IHelios.sol/IHelios.json +1 -1
  184. package/dist/abi/IHypXERC20Router.sol/IHypXERC20Router.json +1 -1
  185. package/dist/abi/IHyperCoreFlowExecutor.sol/IHyperCoreFlowExecutor.json +1 -1
  186. package/dist/abi/IL1ERC20Bridge.sol/IL1ERC20Bridge.json +1 -1
  187. package/dist/abi/IL1ERC20Gateway.sol/IL1ERC20Gateway.json +1 -1
  188. package/dist/abi/IL1ETHGateway.sol/IL1ETHGateway.json +1 -1
  189. package/dist/abi/IL1GatewayRouter.sol/IL1GatewayRouter.json +1 -1
  190. package/dist/abi/IL1ScrollMessenger.sol/IL1ScrollMessenger.json +1 -1
  191. package/dist/abi/IL1StandardBridge.sol/IL1StandardBridge.json +1 -1
  192. package/dist/abi/IL2ERC20Gateway.sol/IL2ERC20Gateway.json +1 -1
  193. package/dist/abi/IL2ETHGateway.sol/IL2ETHGateway.json +1 -1
  194. package/dist/abi/IL2GasPriceOracle.sol/IL2GasPriceOracle.json +1 -1
  195. package/dist/abi/IL2GatewayRouter.sol/IL2GatewayRouter.json +1 -1
  196. package/dist/abi/ILayerZeroComposer.sol/ILayerZeroComposer.json +1 -1
  197. package/dist/abi/IMulticall3.sol/IMulticall3.json +1 -1
  198. package/dist/abi/IOFT.sol/IEndpoint.json +1 -1
  199. package/dist/abi/IOFT.sol/IOAppCore.json +1 -1
  200. package/dist/abi/IOFT.sol/IOFT.json +1 -1
  201. package/dist/abi/IOpUSDCBridgeAdapter.sol/IOpUSDCBridgeAdapter.json +1 -1
  202. package/dist/abi/IPermit2.sol/IPermit2.json +1 -1
  203. package/dist/abi/IPolygonZkEVMBridge.sol/IPolygonZkEVMBridge.json +1 -1
  204. package/dist/abi/IProxyAdmin.sol/IProxyAdmin.json +1 -1
  205. package/dist/abi/ISP1Verifier.sol/ISP1Verifier.json +1 -1
  206. package/dist/abi/ISP1Verifier.sol/ISP1VerifierWithHash.json +1 -1
  207. package/dist/abi/IScrollMessenger.sol/IScrollMessenger.json +1 -1
  208. package/dist/abi/ISpokePool.sol/ISpokePool.json +1 -1
  209. package/dist/abi/ITokenRegistry.sol/ITokenRegistry.json +1 -1
  210. package/dist/abi/IUpgradeableBeacon.sol/IUpgradeableBeacon.json +1 -1
  211. package/dist/abi/IUpgradeableProxy.sol/IUpgradeableProxy.json +1 -1
  212. package/dist/abi/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.json +1 -1
  213. package/dist/abi/Initializable.sol/Initializable.json +1 -1
  214. package/dist/abi/Ink_SpokePool.sol/Ink_SpokePool.json +1 -1
  215. package/dist/abi/Lens_SpokePool.sol/Lens_SpokePool.json +1 -1
  216. package/dist/abi/LibVariable.sol/LibVariable.json +1 -1
  217. package/dist/abi/LineaInterfaces.sol/IMessageService.json +1 -1
  218. package/dist/abi/LineaInterfaces.sol/ITokenBridge.json +1 -1
  219. package/dist/abi/LineaInterfaces.sol/IUSDCBridge.json +1 -1
  220. package/dist/abi/LineaMocks.sol/MockL2MessageService.json +1 -0
  221. package/dist/abi/LineaMocks.sol/MockL2TokenBridge.json +1 -0
  222. package/dist/abi/Linea_Adapter.sol/Linea_Adapter.json +1 -1
  223. package/dist/abi/Linea_SpokePool.sol/Linea_SpokePool.json +1 -1
  224. package/dist/abi/Lisk_Adapter.sol/Lisk_Adapter.json +1 -1
  225. package/dist/abi/Lisk_SpokePool.sol/Lisk_SpokePool.json +1 -1
  226. package/dist/abi/Lockable.sol/Lockable.json +1 -1
  227. package/dist/abi/LpTokenFactory.sol/LpTokenFactory.json +1 -1
  228. package/dist/abi/LpTokenFactoryInterface.sol/LpTokenFactoryInterface.json +1 -1
  229. package/dist/abi/Merkle.sol/Merkle.json +1 -1
  230. package/dist/abi/MerkleDistributor.sol/MerkleDistributor.json +1 -1
  231. package/dist/abi/MerkleDistributorInterface.sol/MerkleDistributorInterface.json +1 -1
  232. package/dist/abi/MerkleLibTest.sol/MerkleLibTest.json +1 -1
  233. package/dist/abi/MerkleProof.sol/MerkleProof.json +1 -1
  234. package/dist/abi/MinimalLZOptions.sol/MinimalLZOptions.json +1 -1
  235. package/dist/abi/MintableERC1155.sol/MintableERC1155.json +1 -1
  236. package/dist/abi/MockBedrockStandardBridge.sol/MockBedrockCrossDomainMessenger.json +1 -0
  237. package/dist/abi/MockBedrockStandardBridge.sol/MockBedrockL1StandardBridge.json +1 -0
  238. package/dist/abi/MockBedrockStandardBridge.sol/MockBedrockL2StandardBridge.json +1 -0
  239. package/dist/abi/MockBlastUsdYieldManager.sol/MockBlastUsdYieldManager.json +1 -0
  240. package/dist/abi/MockCCTP.sol/MockCCTPMessageTransmitter.json +1 -0
  241. package/dist/abi/MockCCTP.sol/MockCCTPMessenger.json +1 -0
  242. package/dist/abi/MockCCTP.sol/MockCCTPMessengerV2.json +1 -0
  243. package/dist/abi/MockCCTP.sol/MockCCTPMinter.json +1 -0
  244. package/dist/abi/MockCaller.sol/MockCaller.json +1 -0
  245. package/dist/abi/MockERC1271.sol/MockERC1271.json +1 -0
  246. package/dist/abi/MockERC20.sol/MintableERC20.json +1 -0
  247. package/dist/abi/MockERC20.sol/MockERC20.json +1 -0
  248. package/dist/abi/MockEndpoint.sol/MockEndpoint.json +1 -0
  249. package/dist/abi/MockHubPool.sol/MockHubPool.json +1 -0
  250. package/dist/abi/MockOFTMessenger.sol/MockOFTMessenger.json +1 -0
  251. package/dist/abi/MockOptimism_SpokePool.sol/MockOptimism_SpokePool.json +1 -0
  252. package/dist/abi/MockPermit2.sol/MockPermit2.json +1 -0
  253. package/dist/abi/MockPermit2.sol/Permit2EIP712.json +1 -0
  254. package/dist/abi/MockPermit2.sol/SignatureVerification.json +1 -0
  255. package/dist/abi/MockSpokePool.sol/MockSpokePool.json +1 -0
  256. package/dist/abi/MockSpokePoolV2.sol/MockSpokePoolV2.json +1 -0
  257. package/dist/abi/MockZkStackBridgeHub.sol/MockBridgeHub.json +1 -0
  258. package/dist/abi/Mock_Adapter.sol/Mock_Adapter.json +1 -0
  259. package/dist/abi/Mock_Adapter.sol/Mock_Bridge.json +1 -0
  260. package/dist/abi/Mode_Adapter.sol/Mode_Adapter.json +1 -1
  261. package/dist/abi/MultiCaller.sol/MultiCaller.json +1 -1
  262. package/dist/abi/MultiCallerUpgradeable.sol/MultiCallerUpgradeable.json +1 -1
  263. package/dist/abi/MultiRole.sol/MultiRole.json +1 -1
  264. package/dist/abi/Multicall3.sol/Multicall3.json +1 -1
  265. package/dist/abi/MulticallHandler.sol/MulticallHandler.json +1 -1
  266. package/dist/abi/MurkyBase.sol/MurkyBase.json +1 -1
  267. package/dist/abi/OFTCoreMath.sol/OFTCoreMath.json +1 -1
  268. package/dist/abi/OFTTransportAdapter.sol/OFTTransportAdapter.json +1 -1
  269. package/dist/abi/OFTTransportAdapterWithStore.sol/OFTTransportAdapterWithStore.json +1 -1
  270. package/dist/abi/OP_Adapter.sol/OP_Adapter.json +1 -1
  271. package/dist/abi/OP_SpokePool.sol/OP_SpokePool.json +1 -1
  272. package/dist/abi/Optimism_Adapter.sol/Optimism_Adapter.json +1 -1
  273. package/dist/abi/Optimism_Adapter.sol/SynthetixBridgeToOptimism.json +1 -1
  274. package/dist/abi/Optimism_SpokePool.sol/Optimism_SpokePool.json +1 -1
  275. package/dist/abi/Optimism_SpokePool.sol/SynthetixBridgeToBase.json +1 -1
  276. package/dist/abi/OptimisticOracleInterface.sol/OptimisticOracleInterface.json +1 -1
  277. package/dist/abi/Ovm_Forwarder.sol/Ovm_Forwarder.json +1 -1
  278. package/dist/abi/Ovm_SpokePool.sol/IL2ERC20Bridge.json +1 -1
  279. package/dist/abi/Ovm_SpokePool.sol/Ovm_SpokePool.json +1 -1
  280. package/dist/abi/Ovm_WithdrawalHelper.sol/IOvm_SpokePool.json +1 -1
  281. package/dist/abi/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +1 -1
  282. package/dist/abi/Ownable.sol/Ownable.json +1 -1
  283. package/dist/abi/OwnableUpgradeable.sol/OwnableUpgradeable.json +1 -1
  284. package/dist/abi/PeripherySigningLib.sol/PeripherySigningLib.json +1 -1
  285. package/dist/abi/PermissionSplitterProxy.sol/PermissionSplitterProxy.json +1 -1
  286. package/dist/abi/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +1 -1
  287. package/dist/abi/PolygonERC20Test.sol/PolygonERC20Test.json +1 -1
  288. package/dist/abi/PolygonMocks.sol/DepositManagerMock.json +1 -0
  289. package/dist/abi/PolygonMocks.sol/FxStateSenderMock.json +1 -0
  290. package/dist/abi/PolygonMocks.sol/PolygonERC20Mock.json +1 -0
  291. package/dist/abi/PolygonMocks.sol/PolygonERC20PredicateMock.json +1 -0
  292. package/dist/abi/PolygonMocks.sol/PolygonRegistryMock.json +1 -0
  293. package/dist/abi/PolygonMocks.sol/RootChainManagerMock.json +1 -0
  294. package/dist/abi/PolygonTokenBridger.sol/MaticToken.json +1 -1
  295. package/dist/abi/PolygonTokenBridger.sol/PolygonERC20Predicate.json +1 -1
  296. package/dist/abi/PolygonTokenBridger.sol/PolygonIERC20Upgradeable.json +1 -1
  297. package/dist/abi/PolygonTokenBridger.sol/PolygonRegistry.json +1 -1
  298. package/dist/abi/PolygonTokenBridger.sol/PolygonTokenBridger.json +1 -1
  299. package/dist/abi/PolygonZkEVMMocks.sol/MockPolygonZkEVMBridge.json +1 -0
  300. package/dist/abi/PolygonZkEVM_Adapter.sol/PolygonZkEVM_Adapter.json +1 -1
  301. package/dist/abi/PolygonZkEVM_SpokePool.sol/IBridgeMessageReceiver.json +1 -1
  302. package/dist/abi/PolygonZkEVM_SpokePool.sol/PolygonZkEVM_SpokePool.json +1 -1
  303. package/dist/abi/Polygon_Adapter.sol/DepositManager.json +1 -1
  304. package/dist/abi/Polygon_Adapter.sol/IFxStateSender.json +1 -1
  305. package/dist/abi/Polygon_Adapter.sol/IRootChainManager.json +1 -1
  306. package/dist/abi/Polygon_Adapter.sol/Polygon_Adapter.json +1 -1
  307. package/dist/abi/Polygon_SpokePool.sol/IFxMessageProcessor.json +1 -1
  308. package/dist/abi/Polygon_SpokePool.sol/Polygon_SpokePool.json +1 -1
  309. package/dist/abi/PrecompileLib.sol/PrecompileLib.json +1 -1
  310. package/dist/abi/PrecompileSim.sol/PrecompileSim.json +1 -1
  311. package/dist/abi/Proxy.sol/Proxy.json +1 -1
  312. package/dist/abi/ProxyAdmin.sol/ProxyAdmin.json +1 -1
  313. package/dist/abi/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
  314. package/dist/abi/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +1 -1
  315. package/dist/abi/Router_Adapter.sol/Router_Adapter.json +1 -1
  316. package/dist/abi/SP1AutoVerifier.sol/SP1AutoVerifier.json +1 -1
  317. package/dist/abi/SP1Helios.sol/SP1Helios.json +1 -1
  318. package/dist/abi/SP1MockVerifier.sol/SP1MockVerifier.json +1 -0
  319. package/dist/abi/SafeCast.sol/SafeCast.json +1 -1
  320. package/dist/abi/SafeERC20.sol/SafeERC20.json +1 -1
  321. package/dist/abi/ScrollMocks.sol/MockScrollL2GatewayRouter.json +1 -0
  322. package/dist/abi/ScrollMocks.sol/MockScrollMessenger.json +1 -0
  323. package/dist/abi/Scroll_Adapter.sol/Scroll_Adapter.json +1 -1
  324. package/dist/abi/Scroll_SpokePool.sol/IL2GatewayRouterExtended.json +1 -1
  325. package/dist/abi/Scroll_SpokePool.sol/Scroll_SpokePool.json +1 -1
  326. package/dist/abi/ShortStrings.sol/ShortStrings.json +1 -1
  327. package/dist/abi/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.json +1 -1
  328. package/dist/abi/Solana_Adapter.sol/Solana_Adapter.json +1 -1
  329. package/dist/abi/SpokePool.sol/SpokePool.json +1 -1
  330. package/dist/abi/SpokePoolInterface.sol/SpokePoolInterface.json +1 -1
  331. package/dist/abi/SpokePoolMessageHandler.sol/AcrossMessageHandler.json +1 -1
  332. package/dist/abi/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +1 -1
  333. package/dist/abi/SpokePoolPeriphery.sol/SwapProxy.json +1 -1
  334. package/dist/abi/SpokePoolPeripheryInterface.sol/SpokePoolPeripheryInterface.json +1 -1
  335. package/dist/abi/SpokePoolVerifier.sol/SpokePoolVerifier.json +1 -1
  336. package/dist/abi/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +1 -1
  337. package/dist/abi/SponsoredCCTPInterface.sol/SponsoredCCTPInterface.json +1 -1
  338. package/dist/abi/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +1 -1
  339. package/dist/abi/SponsoredOFTInterface.sol/SponsoredOFTInterface.json +1 -1
  340. package/dist/abi/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +1 -1
  341. package/dist/abi/StdConfig.sol/StdConfig.json +1 -1
  342. package/dist/abi/StoreInterface.sol/StoreInterface.json +1 -1
  343. package/dist/abi/Strings.sol/Strings.json +1 -1
  344. package/dist/abi/SwapHandler.sol/SwapHandler.json +1 -1
  345. package/dist/abi/Testable.sol/Testable.json +1 -1
  346. package/dist/abi/Timer.sol/Timer.json +1 -1
  347. package/dist/abi/TransferProxy.sol/TransferProxy.json +1 -1
  348. package/dist/abi/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -1
  349. package/dist/abi/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -1
  350. package/dist/abi/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -1
  351. package/dist/abi/Universal_Adapter.sol/IOwnable.json +1 -1
  352. package/dist/abi/Universal_Adapter.sol/Universal_Adapter.json +1 -1
  353. package/dist/abi/Universal_SpokePool.sol/Universal_SpokePool.json +1 -1
  354. package/dist/abi/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -1
  355. package/dist/abi/V3SpokePoolInterface.sol/V3SpokePoolInterface.json +1 -1
  356. package/dist/abi/WETH9.sol/WETH9.json +1 -1
  357. package/dist/abi/WETH9Interface.sol/WETH9Interface.json +1 -1
  358. package/dist/abi/WithdrawImplementation.sol/WithdrawImplementation.json +1 -1
  359. package/dist/abi/WithdrawalHelperBase.sol/WithdrawalHelperBase.json +1 -1
  360. package/dist/abi/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +1 -1
  361. package/dist/abi/ZkStackBridgeHub.sol/BridgeHubInterface.json +1 -1
  362. package/dist/abi/ZkStack_Adapter.sol/ZkStack_Adapter.json +1 -1
  363. package/dist/abi/ZkStack_CustomGasToken_Adapter.sol/FunderInterface.json +1 -1
  364. package/dist/abi/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +1 -1
  365. package/dist/abi/ZkSyncMocks.sol/MockL2Eth.json +1 -0
  366. package/dist/abi/ZkSyncMocks.sol/MockZkBridge.json +1 -0
  367. package/dist/abi/ZkSync_SpokePool.sol/IL2AssetRouter.json +1 -1
  368. package/dist/abi/ZkSync_SpokePool.sol/IL2ETH.json +1 -1
  369. package/dist/abi/ZkSync_SpokePool.sol/ZkBridgeLike.json +1 -1
  370. package/dist/abi/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +1 -1
  371. package/dist/abi/Zora_Adapter.sol/Zora_Adapter.json +1 -1
  372. package/dist/abi/draft-IERC1822.sol/IERC1822Proxiable.json +1 -1
  373. package/dist/abi/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +1 -1
  374. package/dist/abi/eraVM_EIP7702.sol/SimpleContract.json +1 -1
  375. package/dist/abi/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +1 -1
  376. package/dist/abi/eraVM_EIP7702.sol/TestableMockSpokePool.json +1 -1
  377. package/package.json +3 -3
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_cctpMessageTransmitter","type":"address","internalType":"address"},{"name":"_signer","type":"address","internalType":"address"},{"name":"_donationBox","type":"address","internalType":"address"},{"name":"_baseToken","type":"address","internalType":"address"},{"name":"_multicallHandler","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"AUTHORIZED_FUNDED_FLOW_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FUNDS_SWEEPER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"PERMISSIONED_BOT_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"baseToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cctpMessageTransmitter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMessageTransmitterV2"}],"stateMutability":"view"},{"type":"function","name":"emergencyReceiveMessage","inputs":[{"name":"message","type":"bytes","internalType":"bytes"},{"name":"attestation","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hyperCoreModule","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"multicallHandler","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"quoteDeadlineBuffer","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"receiveMessage","inputs":[{"name":"message","type":"bytes","internalType":"bytes"},{"name":"attestation","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setQuoteDeadlineBuffer","inputs":[{"name":"_quoteDeadlineBuffer","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"validateMessage","inputs":[{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"ArbitraryActionsExecuted","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"initialToken","type":"address","indexed":true,"internalType":"address"},{"name":"initialAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"finalAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EmergencyReceiveMessage","inputs":[{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"finalRecipent","type":"address","indexed":false,"internalType":"address"},{"name":"finalToken","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SponsoredDepositForBurn","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"destinationDex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"CCTPMessageTransmitterFailed","inputs":[]},{"type":"error","name":"FundedFlowNotAuthorized","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidDeadline","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSourceDomain","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OutOfBounds","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}]}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_cctpMessageTransmitter","type":"address","internalType":"address"},{"name":"_signer","type":"address","internalType":"address"},{"name":"_donationBox","type":"address","internalType":"address"},{"name":"_baseToken","type":"address","internalType":"address"},{"name":"_multicallHandler","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"AUTHORIZED_FUNDED_FLOW_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FUNDS_SWEEPER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"PERMISSIONED_BOT_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"baseToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cctpMessageTransmitter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMessageTransmitterV2"}],"stateMutability":"view"},{"type":"function","name":"emergencyReceiveMessage","inputs":[{"name":"message","type":"bytes","internalType":"bytes"},{"name":"attestation","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hyperCoreModule","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"multicallHandler","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"quoteDeadlineBuffer","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"receiveMessage","inputs":[{"name":"message","type":"bytes","internalType":"bytes"},{"name":"attestation","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setQuoteDeadlineBuffer","inputs":[{"name":"_quoteDeadlineBuffer","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"validateMessage","inputs":[{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"ArbitraryActionsExecuted","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"initialToken","type":"address","indexed":true,"internalType":"address"},{"name":"initialAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"finalAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EmergencyReceiveMessage","inputs":[{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"finalRecipent","type":"address","indexed":false,"internalType":"address"},{"name":"finalToken","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SponsoredDepositForBurn","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"destinationDex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"CCTPMessageTransmitterFailed","inputs":[]},{"type":"error","name":"FundedFlowNotAuthorized","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidDeadline","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSourceDomain","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OutOfBounds","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":"0x610100346102ac57601f618cde38819003918201601f19168301916001600160401b038311848410176102985780849260a0946040528339810103126102ac57610048816102b0565b610054602083016102b0565b91610061604082016102b0565b6100796080610072606085016102b0565b93016102b0565b60015f5560405190916162b38083016001600160401b038111848210176102985760409284926129cb84396001600160a01b039081168252861660208201520301905ff0801561028d576001600160a01b03166080527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef65f8181525f516020618cbe5f395f51905f526020527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bace80549082905590915f516020618c7e5f395f51905f528380a47f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f5f8181525f516020618cbe5f395f51905f526020527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49b80549082905590915f516020618c7e5f395f51905f528380a460a05260e0526001600160a01b0390811660c0527fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f0080546001600160a01b031916929091169190911790556107087fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f0155610228336102c4565b5060405161267d908161034e823960805181818161020e0152611615015260a0518181816106e401528181611d2401526123b7015260c0518181816107cc01528181610bc30152610e86015260e05181818161095d01528181610d5d0152610f6f0152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b51906001600160a01b03821682036102ac57565b6001600160a01b0381165f9081525f516020618c9e5f395f51905f52602052604090205460ff16610348576001600160a01b03165f8181525f516020618c9e5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe60806040526004361015610030575b361561002e573461002a5761002236611049565b602081519101f35b5f80fd5b005b5f3560e01c806301ffc9a71461018f57806309cfd6751461018a5780631b1062b81461018557806321081d3c14610180578063238ac9331461017b578063248a9ca3146101765780632561efb214610171578063277e661d1461016c5780632f2ff15d1461016757806336568abe14610162578063490e662f1461015d5780634b3b029b146101585780634f7d9d2e14610153578063657cad8a1461014e5780636c19e783146101495780638c73eb041461014457806391d148541461013f57806393de31191461013a578063a217fddf14610135578063c55dae6314610130578063d547741f1461012b5763feb617240361000e576109ce565b610981565b61093e565b610924565b61084f565b6107f0565b6107ad565b610708565b6106c5565b610689565b61064f565b610615565b6105cd565b61057b565b610525565b6104d9565b61049a565b610455565b61041b565b610348565b6101ef565b3461002a57602036600319011261002a5760043563ffffffff60e01b811680910361002a57602090637965db0b60e01b81149081156101d4575b506040519015158152f35b6301ffc9a760e01b1490505f6101c9565b5f91031261002a57565b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761026257604052565b610232565b90601f8019910116810190811067ffffffffffffffff82111761026257604052565b6040519061029961010083610267565b565b60405190610299608083610267565b6040519061029961024083610267565b60405190610299606083610267565b60405190610299604083610267565b67ffffffffffffffff811161026257601f01601f191660200190565b929192610300826102d8565b9161030e6040519384610267565b82948184528183011161002a578281602093845f960137010152565b9080601f8301121561002a57816020610345933591016102f4565b90565b3461002a57606036600319011261002a5760043567ffffffffffffffff811161002a5761037990369060040161032a565b60243567ffffffffffffffff811161002a5761039990369060040161032a565b906044359167ffffffffffffffff831161002a576103be6103f093369060040161032a565b916103c7611067565b60017fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d10055610b94565b5f7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1005560015f555f80f35b3461002a575f36600319011261002a5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b3461002a575f36600319011261002a5760206001600160a01b037fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f005416604051908152f35b3461002a57602036600319011261002a5760206104d16004355f525f5160206126285f395f51905f52602052600160405f20015490565b604051908152f35b3461002a57602036600319011261002a576104f2611067565b6104fa6116d5565b6004357fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f015560015f55005b3461002a57602036600319011261002a5760043567ffffffffffffffff811161002a5761056061055b602092369060040161032a565b611778565b6040519015158152f35b6001600160a01b0381160361002a57565b3461002a57604036600319011261002a5761002e60243560043561059e8261056a565b6105c86105c3825f525f5160206126285f395f51905f52602052600160405f20015490565b611724565b61182e565b3461002a57604036600319011261002a576004356024356105ed8161056a565b336001600160a01b038216036106065761002e916118e0565b63334bd91960e11b5f5260045ffd5b3461002a575f36600319011261002a5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b3461002a575f36600319011261002a5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b3461002a575f36600319011261002a5760207fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f0154604051908152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57602036600319011261002a576001600160a01b0360043561072d8161056a565b610735611067565b61073d6116d5565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f005416177fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f005560015f555f80f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57604036600319011261002a57602060ff6108436024356004356108178261056a565b5f525f5160206126285f395f51905f52845260405f20906001600160a01b03165f5260205260405f2090565b54166040519015158152f35b3461002a57604036600319011261002a5760043567ffffffffffffffff811161002a5761088090369060040161032a565b60243567ffffffffffffffff811161002a576108a090369060040161032a565b6108a8611067565b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff16156108ed576108e791610e57565b60015f55005b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b3461002a575f36600319011261002a5760206040515f8152f35b3461002a575f36600319011261002a5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461002a57604036600319011261002a5761002e6024356004356109a48261056a565b6109c96105c3825f525f5160206126285f395f51905f52602052600160405f20015490565b6118e0565b3461002a57602036600319011261002a576004355f527fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f02602052602060ff60405f2054166040519015158152f35b9081602091031261002a5751801515810361002a5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9091610a6f61034593604084526040840190610a34565b916020818403910152610a34565b6040513d5f823e3d90fd5b906020610345928181520190610a34565b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610abb57565b610a99565b91908203918211610abb57565b634e487b7160e01b5f52602160045260245ffd5b60ff166002811015610af05790565b610acd565b6002821015610af05752565b906002821015610af05752565b60e0809180518452602081015160208501526001600160a01b0360408201511660408501526001600160a01b03606082015116606085015263ffffffff6080820151166080850152610b6860a082015160a0860190610b01565b60c081015160c08501520151910152565b6101009093929193610b9081610120810196610b0e565b0152565b906020610bb69160405180938192630afd9fa560e31b83528660048401610a58565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1908115610e52575f91610e33575b5015610e245760405163277e661d60e01b815260208180610c178560048301610a88565b0381305afa5f9181610df3575b50610c2e57505050565b15610def57610c3f610c48916111c3565b91909283611313565b610c56816060840151610ac0565b9082610cfd610100820151610cf4610c726101808501516115b8565b610ce7610c836101a08701516115b8565b610cd7610c986101c089015163ffffffff1690565b93610cb6610cb16101e06101408c01519b015160ff1690565b610ae1565b96610cbf610289565b9b8c5260208c01526001600160a01b031660408b0152565b6001600160a01b03166060890152565b63ffffffff166080870152565b60a08501610af5565b60c083015260e08201526102008201600160ff610d1b835160ff1690565b16148015610dd8575b15610d9557610d9090600160ff610d45610220610299970151935160ff1690565b161490610d5061029b565b9384526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020850152604084015215156060830152565b611660565b50610dd0610160610dd593015191610dc2604051938492632498b83f60e21b602085015260248401610b79565b03601f198101835282610267565b61160a565b50565b50600260ff610de8835160ff1690565b1614610d24565b5050565b610e1691925060203d602011610e1d575b610e0e8183610267565b810190610a1c565b905f610c24565b503d610e04565b6368c2a52360e11b5f5260045ffd5b610e4c915060203d602011610e1d57610e0e8183610267565b5f610bf3565b610a7d565b906020610e799160405180938192630afd9fa560e31b83528660048401610a58565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1908115610e52575f9161102a575b5015610dd55760405163277e661d60e01b815260208180610eda8560048301610a88565b0381305afa5f9181611009575b50610ef0575050565b15610dd557610f1f7f1f46a1a2dc661ca8c3c13ebcec8d8dbefdf24d5f9c9b5fe909f1b8036c719e7e916111c3565b611004610100830191610f6a610f5d84515f527fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f0260205260405f2090565b805460ff19166001179055565b610fd47f000000000000000000000000000000000000000000000000000000000000000091610fcd610180870195610fc56060610fa789516115b8565b990198610fb5858b51610ac0565b906001600160a01b03881661198a565b5195516115b8565b9551610ac0565b9060405194859485909493926001600160a01b039081606094608085019885521660208401521660408201520152565b0390a1565b61102391925060203d602011610e1d57610e0e8183610267565b905f610ee7565b611043915060203d602011610e1d57610e0e8183610267565b5f610eb6565b610dd061106091611058611067565b36905f6102f4565b9060015f55565b60025f541461002a5760025f55565b61107e6102aa565b905f82525f60208301525f60408301525f60608301525f60808301525f60a08301525f60c08301525f60e08301525f6101008301525f6101208301525f6101408301525f6101608301525f6101808301525f6101a08301525f6101c08301525f6101e08301525f6102008301526060610220830152565b519060ff8216820361002a57565b81601f8201121561002a5780519061111a826102d8565b926111286040519485610267565b8284526020838301011161002a57815f9260208093018386015e8301015290565b906101408282031261002a5781519260208301519260408101519260608201519260808301519260a08101519260c082015163ffffffff8116810361002a579261119560e084016110f5565b926111a361010082016110f5565b9261012082015167ffffffffffffffff811161002a576103459201611103565b9061122e6111cf611076565b926111e66111dc82611a07565b63ffffffff168552565b6111ff6111f282611a26565b63ffffffff166020860152565b61120881611a46565b60a085015261122661121982611a36565b63ffffffff1660e0860152565b805190611fea565b9061123882611a56565b604084015261124682611a66565b606084015261125482611a76565b608084015261126282611a86565b60c08401526112d26112c46102006112b98661129b61128c61128389611a96565b98805190612044565b60208082518301019101611149565b610220999e989d969b94998b9294989d93969b0152019060ff169052565b60ff166101e08d0152565b63ffffffff166101c08b0152565b6101a0890152610180880152610160870152610140860152610120850152610100840152565b9060018201809211610abb57565b91908201809211610abb57565b6114e06114dc6001600160a01b037fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f00541693611353845163ffffffff1690565b602085015163ffffffff166113df604087015191610dc2606089015189608081015160a08201519061139160e060c085015194015163ffffffff1690565b93604051988997602089019b8c96929363ffffffff95919998948660e09894816101008c019d168b521660208a015260408901526060880152608087015260a086015260c085015216910152565b51902094610100850195610dc26114d388516101208901986114b48a51610dc261014084015193610160810151906101808101516101a082015161142b6101c084015163ffffffff1690565b9061143b6101e085015160ff1690565b9261022061144e61020087015160ff1690565b95015160208151910120956040519a8b9960208b019d8e96909a9998949560ff9687956101209a9563ffffffff956101408c019f8c5260208c015260408b015260608a0152608089015260a08801521660c08601521660e0840152166101008201520152565b5190206040805160208101958652908101919091529182906060820190565b51902090612071565b1590565b6115a95761152061151983515f527fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f0260205260405f2090565b5460ff1690565b61159a57517fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f015461155091611306565b421161158b57610f5d61029991515f527fb788edf5b6d001c4df53cb371352fd225afa05a1712075d5f89a08d6b6f79f0260205260405f2090565b631da7447960e21b5f5260045ffd5b633ab3447f60e11b5f5260045ffd5b638baa579f60e01b5f5260045ffd5b8060a01c6115cc576001600160a01b031690565b6379ec0ed760e11b5f5260045ffd5b3d15611605573d906115ec826102d8565b916115fa6040519384610267565b82523d5f602084013e565b606090565b5f80916020815191017f00000000000000000000000000000000000000000000000000000000000000005af461163e6115db565b90156116475790565b602081519101fd5b610100810192916102999190610b0e565b61166981611c3d565b90818152815115610def57610dd5916116856060830151151590565b156116b0575051604051635956364d60e01b602082015290610dd0908290610dc2906024830161164f565b60405163f7e02c2160e01b60208201529150610dd0908290610dc2906024830161164f565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561170d57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b805f525f5160206126285f395f51905f5260205260ff6117583360405f20906001600160a01b03165f5260205260405f2090565b5416156117625750565b63e2517d3f60e01b5f523360045260245260445ffd5b6102d88151106118295761179361178e82611aa6565b6115b8565b6001600160a01b0330911603611829578051806094108160941802811891828203918211610abb57611816928261128c9260206117d2611804966102d8565b936117e06040519586610267565b8385526117ec846102d8565b8583019390601f19013685370101905e805190612044565b505050509594509250505060a01c1590565b9081611820575090565b60a01c15905090565b505f90565b805f525f5160206126285f395f51905f5260205260ff6118628360405f20906001600160a01b03165f5260205260405f2090565b54166118da57805f525f5160206126285f395f51905f5260205261189a8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f5160206126285f395f51905f5260205260ff6119148360405f20906001600160a01b03165f5260205260405f2090565b5416156118da57805f525f5160206126285f395f51905f5260205261194d8260405f20906001600160a01b03165f5260205260405f2090565b805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af160015f51148116156119e8575b604091909152156119cd5750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b60018115166119fe573d15833b151516166119bf565b503d5f823e3d90fd5b6008815110611a17576008015190565b632d0483c560e21b5f5260045ffd5b600c815110611a1757600c015190565b6090815110611a17576090015190565b608c815110611a1757608c015190565b6044815110611a17576044015190565b6064815110611a17576064015190565b6024815110611a17576024015190565b60a4815110611a175760a4015190565b60c4815110611a175760c4015190565b60d8815110611a175760d8015190565b60405190610100820182811067ffffffffffffffff821117610262576040525f60e0838281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b67ffffffffffffffff81116102625760051b60200190565b60208183031261002a5780519067ffffffffffffffff821161002a57019080601f8301121561002a57815191611b5183611b04565b92611b5f6040519485610267565b80845260208085019160051b8301019183831161002a5760208101915b838310611b8b57505050505090565b825167ffffffffffffffff811161002a578201906040828703601f19011261002a5760405190611bba82610246565b6020830151611bc88161056a565b825260408301519167ffffffffffffffff831161002a57611bf188602080969581960101611103565b83820152815201920191611b7c565b9081602091031261002a575190565b9061034594936080936001600160a01b03809316845260208401521660408201528160608201520190610a34565b611c45611ab6565b50611c5d604082015160208082518301019101611b1c565b6020820190611c85611c79611c7984516001600160a01b031690565b6001600160a01b031690565b6040516370a0823160e01b815230600482015290602090829060249082905afa908115610e52575f91611fcb575b50611ccf611c79611c796060875101516001600160a01b031690565b6040516370a0823160e01b81523060048201529290602090849060249082905afa928315610e52575f93611faa575b506001600160a01b03611d66611d1e611c7987516001600160a01b031690565b92611d4e7f000000000000000000000000000000000000000000000000000000000000000094858a51519161213d565b8751606001513091906001600160a01b03169061233b565b9116611d7985516001600160a01b031690565b9186515191803b1561002a57611dab935f809460405196879586948593633a5be8cb60e01b8552309160048601611c0f565b03925af18015610e5257611f90575b50611dd2611c79611c7985516001600160a01b031690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215610e52575f92611f6f575b5003611ed35750611e2f611e1c82516001600160a01b031690565b6060845101906001600160a01b03169052565b815151905b611e4782845160e08151910151906124ad565b60e084510152818351528251907fb88fc27be67e678ffb77faf8f8bb00d39b66b4845e4f7ec1e623b0f15abd52136001600160a01b03611e93602085015193516001600160a01b031690565b94611ecc611ead606087519701516001600160a01b031690565b9183604051948594169816968360209093929193604081019481520152565b0390a45190565b611eef611c79611c7960608651016001600160a01b0390511690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215610e52575f92611f3e575b50808210611f3557611f2f91610ac0565b90611e34565b50505f90611e34565b611f6191925060203d602011611f68575b611f598183610267565b810190611c00565b905f611f1e565b503d611f4f565b611f8991925060203d602011611f6857611f598183610267565b905f611e01565b80611f9e5f611fa493610267565b806101e5565b5f611dba565b611fc491935060203d602011611f6857611f598183610267565b915f611cfe565b611fe4915060203d602011611f6857611f598183610267565b5f611cb3565b908151908180821091180218806094108160941802811891828203918211610abb576020612017836102d8565b936120256040519586610267565b838552612031846102d8565b8583019390601f19013685370101905e90565b9081519081808210911802188060e4108160e41802811891828203918211610abb576020612017836102d8565b9061207c838261254c565b6005819592951015610af057159384612127575b50831561209e575b50505090565b5f935090610dc26120d68594936040519283916020830195630b135d3f60e11b87526024840152604060448401526064830190610a34565b51915afa6120e26115db565b81612119575b816120f7575b505f8080612098565b905060208180518101031261002a5760200151630b135d3f60e11b145f6120ee565b9050602081511015906120e8565b6001600160a01b0384811691161493505f612090565b905f806001600160a01b036121ca95946040519582602088019663a9059cbb60e01b885216602488015260448701526044865261217b606487610267565b16926040519461218c604087610267565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16121c46115db565b916125fc565b80519081159182156121e0575b50501561002a57565b6121f39250602080918301019101610a1c565b5f806121d7565b9061220482611b04565b6122116040519182610267565b8281528092612222601f1991611b04565b015f5b81811061223157505050565b60405190606082019180831067ffffffffffffffff841117610262576020926040525f81526060838201525f604082015282828601015201612225565b80518210156122825760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b6020815260608101918051926040602084015283518091526080830190602060808260051b8601019501915f905b8282106122ea575050505090604060206103459301519101906001600160a01b03169052565b90919295602080600192607f198982030185528951906001600160a01b038251168152604080612327858501516060878601526060850190610a34565b9301519101529801920192019092916122c4565b9291835161235061234b826112f8565b6121fa565b925f5b828110612421575060405163ef8738d360e01b60208201526001600160a01b0391821660248201529083166044820152939450610dc29361034593926124129290916123f691906123a581606481018a565b6123ad6102ba565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681529060208201525f60408201526123ef828761226e565b528461226e565b506123ff6102c9565b9283526001600160a01b03166020830152565b60405192839160208301612296565b8061243f6124316001938a61226e565b51516001600160a01b031690565b602061244b838b61226e565b5101516124686124596102ba565b6001600160a01b039093168352565b60208201525f604082015261247d828861226e565b52612488818761226e565b5001612353565b8115612499570490565b634e487b7160e01b5f52601260045260245ffd5b818101809111610abb57670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610abb57808201809211610abb575f198201918211610abb576124f69161248f565b670de0b6b3a76400000390670de0b6b3a76400008211610abb57670de0b6b3a7640000808202908282041482151715610abb578261254261253d6103459561254794611306565b610aad565b61248f565b610ac0565b9060418151145f146125785761257491602082015190606060408401519301515f1a90612581565b9091565b50505f90600290565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116125f1576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15610e52575f516001600160a01b038116156125e957905f90565b505f90600190565b505050505f90600390565b919250156126185781511561260f575090565b3b1561002a5790565b50805190811561002a57602001fdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220fe6403cf4c47e2366245fe68f050f4cc8363b3db7df8065e0d0f851065d80c8f64736f6c634300081e003360c0346100d157601f6162b338819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a0526040516161b590816100fe823960805181818161087801528181610b680152818161170e01528181611949015281816129f701528181613fc3015281816140b90152818161509c01526152d4015260a051818181610632015281816107aa01528181610d1701526142c20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146125b557508063037a06a41461236a57806304c73f601461234c578063057f0370146122925780631f74a0b51461222057806321081d3c146121e5578063248a9ca3146121a55780632e748b21146120495780632f2ff15d14611ffe578063319adf9f14611c3657806336568abe14611bf157806337710e2014611b9c5780633b1c6a01146118455780633cf3a02514611810578063490e662f146117d55780634b3b029b1461179a578063502a82e2146116dd578063521c98ba14610fa35780635956364d14610f5757806369b97ac714610f3957806379c7b60b14610ee457806379c7f28914610de557806390a0827b14610dac57806391d1485414610d555780639262e0fc14610cbc57806396cc2cfb14610a68578063a217fddf14610a4c578063a38d8fa61461089c578063a4b672b614610858578063af5de6f9146107ce578063c55dae631461078a578063ccbedaec1461050b578063d06e28ed1461041e578063d547741f146103ca578063e38b73a9146103ae578063ea0aaf2414610350578063eb84e7f2146102205763f7e02c21146101c0575f80fd5b3461021d5761010036600319011261021d576101db36612777565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020e5761020b90614f6d565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b503461021d57602036600319011261021d5760408160e09260c083516102458161273b565b82815282602082015282858201528260608201528260808201528260a0820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b03602052206040519061029e8261273b565b6001600160a01b03815416918281526001600160401b0360018301548160208401916001600160a01b038116835263ffffffff60026040870197828460a01c168952606088019360c01c84520154966001600160a01b036080880195858a16875260ff60c060a08b019a828d60401c1615158c52019a60481c1615158a526040519a8b52511660208a015251166040880152511660608601525116608084015251151560a083015251151560c0820152f35b503461021d57602036600319011261021d5760206103a561036f612608565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b503461021d578060031936011261021d57602060405160068152f35b503461021d57604036600319011261021d5761041a6004356103ea61261e565b90610415610410825f525f5160206161605f395f51905f52602052600160405f20015490565b613063565b61383f565b5080f35b503461021d57604036600319011261021d57610438612608565b602435906fffffffffffffffffffffffffffffffff82168092036104fc5761045e612ff4565b826104688261317f565b63ffffffff6001600160a01b03608083015116915116813b156104fc57829160448392604051948593849263435354d360e01b845260048401528960248401525af18015610500576104e7575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104f191612756565b6104fc57825f6104b5565b8280fd5b6040513d84823e3d90fd5b503461021d57606036600319011261021d5780610526612608565b61052e612699565b6105366126af565b9061053f612f85565b610579836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106de57436105bc846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b036001610601856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106e3575b50506001600160401b038116610628575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f5160206161405f395f51905f526020526001600160401b0360046040852001541690823b156106de57604051633ded719760e11b81526001600160401b0392831660048201523360248201529116604482015263ffffffff60648201529082908290608490829084905af18015610500576106cd5750f35b816106d791612756565b61021d5780f35b505050fd5b6001600160a01b031684525f5160206161405f395f51905f526020526001600160401b03600460408620015416833b1561078657604051633ded719760e11b81526001600160401b0391821660048201523360248201529116604482015263ffffffff6064820152838160848183875af190811561077b57849115610614578161076c91612756565b61077757825f610614565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021d578060031936011261021d5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461021d57602036600319011261021d5760206001600160a01b036107fa6107f5612608565b6130b0565b610c2360405161080c85830182612756565b8181528481019161551d8339519020604051908482019260ff60f81b84523060601b6021840152603583015260558201526055815261084c607582612756565b51902016604051908152f35b503461021d578060031936011261021d5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461021d57608036600319011261021d57806108b7612608565b6108bf612699565b60443563ffffffff81168091036106de576001600160a01b036108e0612647565b936108e9612f85565b1684525f5160206161405f395f51905f5260205263ffffffff6001600160401b03600460408720015416931663ffffffff811480610a3f575b156109e657505061096c916001600160401b0361097a926040519233602085015260408401521660608201526060815261095d608082612756565b60405192839160208301614f4b565b03601f198101835282612756565b7333333333333333333333333333333333333333333b156109e357816109bc91604051809381926317938e1360e01b83526020600484015260248301906126c5565b0381837333333333333333333333333333333333333333335af18015610500576106cd5750f35b50fd5b610a3a9261096c946001600160401b0392604051943360208701528860408701526060860152608085015260a08401521660c082015260c08152610a2b60e082612756565b60405192839160208301614f28565b61097a565b5063ffffffff8214610922565b503461021d578060031936011261021d57602090604051908152f35b503461021d57604036600319011261021d57610a82612608565b90610a8b612ff4565b610a9482612cf6565b610a9d8361317f565b92610ab160e083510151840b602435614ea3565b946020840190610ada6001600160401b03835116886001600160401b0360a0890151169161376a565b15610c9357859650610b1c846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b610b2784825461285f565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610c8f5760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610c845785918991610c67575b50506001600160401b0391610bf76001600160a01b0392608060e096019284845116906131e3565b511692511694510151850b93813b15610c6357604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af18015610500576106cd5750f35b8580fd5b81925090610c7491612756565b610c805783875f610bcf565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b503461021d5761012036600319011261021d57610cd836612777565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020e576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f14610d475761020b906138f2565b61020b9061010435906142c0565b503461021d57604036600319011261021d576001600160a01b036040610d7961261e565b9260043581525f5160206161605f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021d57604036600319011261021d5761020b610dc9612608565b610dd1612f85565b602435906001600160a01b033391166131e3565b503461021d57602036600319011261021d5760a0610e43610e04612608565b610e0c612ccc565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610e5a846126e9565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610ee260405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b503461021d57602036600319011261021d5760206103a5610f03612608565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b503461021d578060031936011261021d576020604051620f42408152f35b503461021d5761010036600319011261021d57610f7336612777565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020e5761020b906138f2565b503461021d5760a036600319011261021d57610fbd612608565b610fc5612634565b90610fce61265a565b6064356001600160401b038116810361078657608435916001600160401b0383168303610c6357610ffd612f36565b611005612c13565b5061100e612bd5565b508580604051602081019063ffffffff8916825260208152611031604082612756565b519061080c5afa611040612c9d565b90156116ce578051810160208101916020818303126116aa576020810151906001600160401b0382116116ca5701906101009082900312610c8f57604051916110888361271f565b60208201516001600160401b0381116116ca5760209083010181601f820112156116ca57898151916110b983612c82565b926110c76040519485612756565b80845284602082840101116104fc578060208093018386015e83010152835260408201516001600160401b0381116116ca576020908301019080601f830112156116ca578151916001600160401b038311611696578260051b90604051936111326020840186612756565b84526020808501928201019283116116c657602001905b8282106116ae5750505060208301526101009061116860608201613261565b60408401526111796080820161545c565b606084015261118a60a0820161545c565b608084015261119b60c08201615470565b60a08401526111ac60e08201615470565b60c0840152015180880b8082036116aa576111cc9160e0840152846136c8565b50604051916111da83612704565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f5160206161405f395f51905f5260205260408720815180518051906001600160401b0382116116965781908b6112568654612c4a565b601f811161165b575b5050602090601f83116001146115f9578c926115ee575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b0382116115da576801000000000000000082116115da576020908c845484865580851061158e575b505001918b5260208b20908b5b8160021c8110611549575060031981168103806114ed575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b169116171717905561147b6004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b81811061150b5750505060021c015584848460a06112ea565b909194602061153f6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b96019291016114f2565b8c8d5b600481106115615750838201556001016112d2565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b179201950161154c565b8382876115ba945220600380870160021c820192601888831b16806115c1575b500160021c01906138dc565b8c5f6112c5565b5f198501908154905f19908a03851b1c1690555f6115ae565b634e487b7160e01b8c52604160045260248cfd5b015190505f80611276565b858d52818d209250601f1984168d5b818110611643575090846001959493921061162b575b505050811b01825561128a565b01515f1960f88460031b161c191690555f808061161e565b92936020600181928786015181550195019301611608565b60208288611685945220601f850160051c8101916020861061168c575b601f0160051c01906138dc565b8b5f61125f565b9091508190611678565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916116bb84613261565b815201910190611149565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b503461021d57604036600319011261021d576116f7612608565b602435611702612f85565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156117965760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af1801561050057611781575b505061020b9133906131e3565b8161178b91612756565b6104fc57825f611774565b5080fd5b503461021d578060031936011261021d5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021d578060031936011261021d5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b503461021d57602036600319011261021d5761182a612f85565b80808080600435335af161183c612c9d565b501561021d5780f35b503461021d57606036600319011261021d5761185f61261e565b6044356001600160a01b03811691828203611a905761187c612ff4565b61188582612cf6565b9161188f826130f8565b610786576040830151156107865760016001600160401b0360808501511601906001600160401b038211611b88579085916118f36118d460e087510151850b846136c8565b509560208101936001600160401b0360a081875116930151169161376a565b156104fc57611932906001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b61193d85825461285f565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156104fc5760405163f3fef3a360e01b81526001600160a01b0387166004820152602481018690529083908290604490829084905af1908115611b7d578391611b68575b5050516001600160401b031680611a945750506119cc82846151be565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b15611a90578360405163611e2a2d60e11b81526001600160a01b038316600482015283602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af1801561050057611a7b575b50506001600160a01b03905b60405192835216907f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b81611a8591612756565b611a9057835f611a3c565b8380fd5b611adc81611aae86611aa861096c95615157565b8961517d565b604051906001600160a01b03861660208301526040820152600160608201526060815261095d608082612756565b7333333333333333333333333333333333333333333b156117965781611b1e91604051809381926317938e1360e01b83526020600484015260248301906126c5565b0381837333333333333333333333333333333333333333335af1801561050057611b53575b50506001600160a01b0390611a48565b81611b5d91612756565b611a9057835f611b43565b81611b7291612756565b61179657815f6119af565b6040513d85823e3d90fd5b634e487b7160e01b86526011600452602486fd5b503461021d57602036600319011261021d5760206103a5611bbb612608565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b503461021d57604036600319011261021d57611c0b61261e565b336001600160a01b03821603611c275761041a9060043561383f565b63334bd91960e11b8252600482fd5b503461021d57602036600319011261021d576001600160a01b03611c58612608565b611c60612c13565b501681525f5160206161405f395f51905f52602052604081209060405190611c8782612704565b604051611c938161271f565b60405184548184611ca383612c4a565b8083529260018116908115611fdf5750600114611f9e575b611cc792500382612756565b815260018401604051808260208294549384815201908652602086209286905b806003830110611f4c57611d1d945491818110611f32575b818110611f15575b818110611ef8575b10611eea575b500382612756565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611e04865161010060e08a01526101e08901906126c5565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611ecb57505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611e26565b60c01c81526020015f611d15565b9260206001916001600160401b038560801c168152019301611d0f565b9260206001916001600160401b038560401c168152019301611d07565b9260206001916001600160401b0385168152019301611cff565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611ce7565b5090868552602085209085915b818310611fc3575050906020611cc792820101611cbb565b6020919350806001915483858801015201910190918392611fab565b60209250611cc794915060ff191682840152151560051b820101611cbb565b503461021d57604036600319011261021d5761041a60043561201e61261e565b90612044610410825f525f5160206161605f395f51905f52602052600160405f20015490565b613798565b503461021d57608036600319011261021d57612063612608565b61206b612699565b6120736126af565b90606435926fffffffffffffffffffffffffffffffff84168094036107865761209a612ff4565b846120a48261317f565b926001600160a01b0360808501511693843b156104fc5761212e6101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af1801561050057612190575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b8161219a91612756565b61078657845f612151565b503461021d57602036600319011261021d5760206121dd6004355f525f5160206161605f395f51905f52602052600160405f20015490565b604051908152f35b503461021d578060031936011261021d5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b503461021d57606036600319011261021d5761223a612608565b6024356001600160401b0381116104fc57612259903690600401612669565b9092604435906001600160401b03821161021d5760206121dd8686866122823660048901612669565b93909261228d612ff4565b61286c565b5034612348576040366003190112612348576122ac612608565b906024356122b8612f85565b6001600160a01b0360806122cb8561317f565b015116803b15612348576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af1801561233d57612327575b5061020b91926001600160a01b033391166131e3565b61020b92505f61233691612756565b5f91612311565b6040513d5f823e3d90fd5b5f80fd5b34612348575f3660031901126123485760206040516305f5e1008152f35b346123485760a036600319011261234857612383612608565b61238b612634565b61239361265a565b9161239c612647565b926084359163ffffffff8316809303612348576123b881612cf6565b506123c1612f36565b6001600160a01b036001612405836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416908115612564575b63ffffffff60405195612422876126e9565b16948581526001600160a01b03600181602084019615159586885263ffffffff604086019b1697888c52606086018a8152836080880193169c8d845263ffffffff61249d8a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b0319825416179055612517866130f8565b15612348577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b905061256f816130b0565b604051610c238082018281106001600160401b038211176125a157829161551d833903905ff5801561233d5790612410565b634e487b7160e01b5f52604160045260245ffd5b34612348576020366003190112612348576004359063ffffffff60e01b821680920361234857602091637965db0b60e01b81149081156125f7575b5015158152f35b6301ffc9a760e01b149050836125f0565b600435906001600160a01b038216820361234857565b602435906001600160a01b038216820361234857565b6024359063ffffffff8216820361234857565b6064359063ffffffff8216820361234857565b60443590811515820361234857565b9181601f84011215612348578235916001600160401b038311612348576020808501948460051b01011161234857565b602435906001600160401b038216820361234857565b604435906001600160401b038216820361234857565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b038211176125a157604052565b60c081019081106001600160401b038211176125a157604052565b61010081019081106001600160401b038211176125a157604052565b60e081019081106001600160401b038211176125a157604052565b90601f801991011681019081106001600160401b038211176125a157604052565b61010090600319011261234857604051906127918261271f565b81600435815260243560208201526044356001600160a01b03811681036123485760408201526064356001600160a01b038116810361234857606082015260843563ffffffff8116810361234857608082015260a43560028110156123485760a082015260c43560c082015260e060e435910152565b91908110156128175760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b03821161284b57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161284b57565b9194935f935f96828103612348576128b4856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156123485792906128c785612cf6565b9160806128d38761317f565b01916001600160a01b03835116946128fa60208601966001600160401b0388511690613275565b965f975b818d10612b6a575b50508a159250612b5f915050574361294e866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b03841680612968575b50505050505050565b61297d6129a09560e0855101515f0b906136c8565b6001600160401b03869792975116906001600160401b0360a0870151169161376a565b15612b4057506129e0856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6129eb85825461285f565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156123485760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af1801561233d57612b14575b506001600160a01b0382612a88876001600160401b03948460e0975116906131e3565b511693511691510151850b93823b15610c6357604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af1801561050057612aff575b808080808061295f565b612b0a828092612756565b61021d5780612af5565b6001600160401b0391975060e092612b345f6001600160a01b0393612756565b5f989093509150612a65565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b612b798d83879f9b9697612807565b3590612b868a8588612807565b356001600160401b038116810361234857612baf92898d926001600160a01b038b511692613357565b94909115612bcd57600191612bc39161282b565b98019b93926128fe565b989c50612906565b60405190612be28261271f565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190612c2082612704565b5f60a083612c2c612bd5565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612c78575b6020831014612c6457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612c59565b6001600160401b0381116125a157601f01601f191660200190565b3d15612cc7573d90612cae82612c82565b91612cbc6040519384612756565b82523d5f602084013e565b606090565b60405190612cd9826126e9565b5f6080838281528260208201528260408201528260608201520152565b6001600160a01b0390612d07612c13565b50165f525f5160206161405f395f51905f5260205260405f2060405191612d2d83612704565b60405191612d3a8361271f565b6040518154815f612d4a83612c4a565b8083529260018116908115612f175750600114612ed6575b612d6e92500382612756565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612e8a5797612dce9284926001600160a01b039798999a5491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612e7c575b501561234857565b60ff9150511615155f612e74565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612d8d565b5090835f5260205f20905f915b818310612efb575050906020612d6e92820101612d62565b6020919350806001915483858801015201910190918392612ee3565b60209250612d6e94915060ff191682840152151560051b820101612d62565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612f6e57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612fbd57565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff161561302c57565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f5160206161605f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f2054161561309a5750565b63e2517d3f60e01b5f523360045260245260445ffd5b60405160208101913060601b83526bffffffffffffffffffffffff199060601b166034820152602881526130e5604882612756565b51902090565b5190811515820361234857565b5f80916040516001600160a01b0360208201921682526020815261311d604082612756565b51906108105afa61312c612c9d565b9015613170576020818051810103126123485760405190602082018281106001600160401b038211176125a157604052613168906020016130eb565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b61318b90610e0c612ccc565b906001600160a01b036001604051936131a3856126e9565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c16606086015201541691826080820152911561234857565b916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af19060015f5114821615613240575b604052156132245750565b6001600160a01b0390635274afe760e01b5f521660045260245ffd5b90600181151661325857823b15153d15161690613219565b503d5f823e3d90fd5b51906001600160401b038216820361234857565b5f919082916001600160401b03604051916001600160a01b036020840194168452166040820152604081526132ab606082612756565b51906108015afa6132ba612c9d565b901561332857606081805181010312612348576040519060608201918083106001600160401b038411176125a1576001600160401b03926040526040613321606061330760208601613261565b94858552613316848201613261565b602086015201613261565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b03821161284b57565b959291909395805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f206001600160a01b0381541695861561365057600282019889549860ff8a60481c166136415760018401956001600160a01b03875493166001600160a01b0384160361362e575f916133d88b6130f8565b1561360e575b8360c01c9c8c60ff6001600160401b0382169160401c165f146135b457508d8e966001600160401b03811682115f146135ac5761341a91613337565b9c5b6001600160401b0380861697169287841115612348578f8f966134429061344a92613337565b969f8261282b565b936001600160401b03851610613597575069ff0000000000000000001916690100000000000000000017905560019c61348291613337565b99815160e001515f0b613495908d6136c8565b50986001600160a01b031691602001516001600160401b031691803b15612348575f928360849263ffffffff6001600160401b036040519889978896633ded719760e11b885260048801526024870152169889604486015260a01c1660648401525af1801561233d577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c43946040946001600160a01b03938493613587575b508061354e575b5054169554169582519182526020820152a4565b82825416887f5adc50a7f1e65d6b397176e0807a39bd0ba27293997500a57ca2cc1359583ccb6020868d5416948a51908152a45f61353a565b5f61359191612756565b5f613533565b5f9f508f9e509c505050505050505050505050565b50505f61341a565b909d95809d96806001600160401b038316105f14613603576135e0916135d991613337565b809e61282b565b816001600160401b038216115f146135fc57505b9c8d9561341c565b90506135f4565b50506135e05f6135d9565b9150604081015115612348576001600160401b03608082015116916133de565b8563358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d811161284b57600a0a90565b9190820391821161284b57565b8115613687570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f4240149015171561284b57565b8181029291811591840414171561284b57565b9190805f0b80155f146136e65750506001600160401b03821691905b565b5f81131561371157506136fe61370d9160ff1661365f565b6001600160401b0384166136b5565b9190565b9050607f19811461284b576001600160401b039261373661373f925f0360ff1661365f565b9384911661285f565b5f19810190811161284b5761376661375f846001600160401b039361367d565b93846136b5565b1690565b6137906001600160401b03929361378a849361378581615157565b613275565b9461282b565b169116101590565b805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461383957805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461383957805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8181106138e7575050565b5f81556001016138dc565b6060810151906001600160a01b035f921691825f525f5160206161405f395f51905f5260205260405f206040519061392982612704565b6040516139358161271f565b6040518254815f61394583612c4a565b80835292600181169081156142a15750600114614260575b61396992500382612756565b815260018201604051808260208294549384815201905f5260205f20925f905b80600383011061420e576139bb945491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208201526001600160a01b0360028301546001600160401b038116604084015260401c16606082015260038201546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528252600481015492600660208401926001600160401b038616845260ff604086019660401c16151586526005810154606086015201549260808101936001600160401b03811685526001600160401b0360a083019160401c1681525f946040880196613a906001600160a01b038951166130f8565b15614141575b5050865192612710613abc613ab160e08b019687519061285f565b60c08b0151906136b5565b0494845195808711614139575b5085614097575b613b08613aef613ae1888c5161285f565b60e0875101515f0b90614ea3565b919094826001600160401b03808651169251169161376a565b15614048575085613fb9575b6001600160401b0390613b578b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b613b6288825461285f565b9055511692613b8e60e06001600160a01b038a511692510151830b63ffffffff60808c01511694614ea3565b9390916001600160401b03891695866001600160401b0387161115613faa57908392918d97969594613c70575b50505050507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb91613337565b5080613c2e575b5050613c296001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b60208701517f5adc50a7f1e65d6b397176e0807a39bd0ba27293997500a57ca2cc1359583ccb60206001600160a01b0389511693604051908152a4855f613bf2565b809791929394959697155f14613e01575083613c8b916151be565b308103613d4a5750736b9e773128f453f5c2c60935ee2de2cbc5390a243b156104fc5760405191630acb7f4b60e21b835260048301526024820152818160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af1801561050057908a94939291613d27575b50507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb915b9181975f80613bbb565b818093949697989550613d3991612756565b61021d579081899396959492613cf4565b91736b9e773128f453f5c2c60935ee2de2cbc5390a243b15611a90576040519263611e2a2d60e11b8452600484015260248301526044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af1801561050057908a94939291613dde575b50507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb91613d1d565b818093949697989550613df091612756565b61021d579081899396959492613db1565b9096959493613e1690611aa883959495615157565b308314801590613f9c575b613e55575b505050507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb91613d1d565b90919293949550613e668986613337565b9163ffffffff811480613f94575b15613f455750916001600160401b03613eae9261096c9460405193602085015260408401521660608201526060815261095d608082612756565b7333333333333333333333333333333333333333333b156117965781613ef091604051809381926317938e1360e01b83526020600484015260248301906126c5565b0381837333333333333333333333333333333333333333335af1801561050057908a94939291613f22575b8080613e26565b818093949697989550613f3491612756565b61021d579081899396959492613f1b565b613f8f9261096c94926001600160401b039260405194602086015287604086015263ffffffff6060860152608085015260a08401521660c082015260c08152610a2b60e082612756565b613eae565b506001613e74565b5063ffffffff821415613e21565b6306506d5560e11b8552600485fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156123485760405163f3fef3a360e01b81526001600160a01b038c16600482015260248101889052905f908290604490829084905af1801561233d5761402c575b50613b14565b6140399192505f90612756565b5f906001600160401b03614026565b989450505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c93506020925082915061408281614f6d565b0151926001600160401b0360405191168152a3565b6140a6868b60208c01516152c5565b613ad0576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529095506020816024818d5afa90811561233d575f91614107575b5094613ad0565b90506020813d602011614131575b8161412260209383612756565b8101031261234857515f614100565b3d9150614115565b95505f613ac9565b9091955060a088015160028110156141fa57159081806141ed575b6141d05781156141c6575b5061417e57516001600160401b0316935f80613a96565b50505050506136e492507f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a2614f6d565b905051155f614167565b6001600160a01b038851166320a2097d60e11b5f5260045260245ffd5b5060c0890151151561415c565b634e487b7160e01b5f52602160045260245ffd5b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613989565b5090845f5260205f20905f915b8183106142855750509060206139699282010161395d565b602091935080600191548385880101520191019091839261426d565b6020925061396994915060ff191682840152151560051b82010161395d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811691825f525f5160206161405f395f51905f5260205260405f206040519361431185612704565b60405161431d8161271f565b6040518354815f61432d83612c4a565b8083529260018116908115614e845750600114614e43575b61435192500382612756565b815260018301604051808260208294549384815201905f5260205f20925f905b806003830110614df1576143a3945491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528552600660048301549260ff60208801946001600160401b038116865260401c1615156040880152600581015460608801520154956001600160401b03871660808701526001600160401b0360a087019760401c16875260608401936001600160a01b038551165f525f5160206161405f395f51905f5260205260405f20946040519561448f87612704565b60405161449b8161271f565b6040518254815f6144ab83612c4a565b8083529260018116908115614dd25750600114614d91575b6144cf92500382612756565b815260018201604051808260208294549384815201905f5260205f20925f905b806003830110614d3f57614521945491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208201526001600160a01b0360028301546001600160401b038116604084015260401c16606082015260038201546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e082015287526001600160401b03600660048301549282841660208b015260ff60408b019460401c1615158452600581015460608b0152015481811660808a015260401c1660a08801526145da6001600160a01b0383511661317f565b9360408401916145f36001600160a01b038451166130f8565b15614c90575b5083519760e085019182519160c087019a8b511515936146189161285f565b8d5160e001515f0b61462991614ea3565b90508d5160c0015160ff16825160c0015160ff169061464792615492565b9215614c625782915b5f8063ffffffff8b51166040516020810191825260208152614673604082612756565b51906108085afa614682612c9d565b9015614c535760208180518101031261234857898f9360ff60a06146d09260206001600160401b036146b8826146d69901613261565b16950197885115155f14614c4857505101511661365f565b906136b5565b825115614bfe5763ffffffff6146f18160608d0151166153a8565b16620f4240019081620f42401161284b57614727620f4240916146d06001600160401b039463ffffffff8f60400151169061285f565b0416908c51908115155f14614bf65750915b5115614bb5576305f5e100811015614b7557505f5b61476e61475b865161369b565b6147688a5188519061285f565b9061285f565b5f1981019190821161284b576147686147949261478e8b5189519061285f565b9061367d565b606480830283810482148415171561284b578211614afb5750505085518c5160e001515f0b6147c291614ea3565b9d8e8b9c929c516001600160401b031691516001600160401b0316906147e79261376a565b15614aab579c8a9b9c9d85516001600160a01b03169287516001600160a01b03169460808a015163ffffffff1692511515604051956148258761273b565b8652602086019687526040860193845260608601916001600160401b03169586835260808101936001600160401b03169788855260a0820192835260c08201938d5f86526020019687515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2093516001600160a01b03166001600160a01b031684546001600160a01b0319161784556001840192516001600160a01b03166001600160a01b031683546001600160a01b03191617835551908254905160c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169160a01b77ffffffff000000000000000000000000000000000000000016906001600160a01b03161717905560020192516001600160401b03166001600160401b03166001600160401b031984541617835551151561498e90839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283614a2f926131e3565b516001600160401b0316935160e001515f0b93813b1561234857604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af1801561233d57614aa15750565b5f6136e491612756565b50505050509450955050925050816136e4947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a352614f6d565b999c5099509c50505050509450809650602091500151906001600160a01b038451169281810180911161284b575f19810190811161284b578115613687576136e4977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a3526138f2565b6305f5e0ff19016001600160401b03811161284b57614baf614ba46001600160401b036305f5e100931661369b565b6305f5e0ff9061285f565b0461474e565b6305f5e100811115614bc857505f61474e565b6305f5e100036001600160401b03811161284b57614baf614ba46001600160401b036305f5e100931661369b565b905091614739565b63ffffffff614c128160608d0151166153a8565b16620f42400390620f4240821161284b57614727620f4240916146d06001600160401b039463ffffffff8f604001511690613670565b90505101511661365f565b635cffc5fb60e11b5f5260045ffd5b8161271003612710811161284b57612710614c876001600160401b03928387166136b5565b04169291614650565b60a085015160028110156141fa5715908180614d32575b614d15578115614d0b575b50614cbd575f6145f9565b509450945095505092506136e494507f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381870151935116604051908152a252614f6d565b905051155f614cb2565b6001600160a01b038451166320a2097d60e11b5f5260045260245ffd5b5060c08601511515614ca7565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201849293916144ef565b5090845f5260205f20905f915b818310614db65750509060206144cf928201016144c3565b6020919350806001915483858801015201910190918392614d9e565b602092506144cf94915060ff191682840152151560051b8201016144c3565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391614371565b5090855f5260205f20905f915b818310614e6857505090602061435192820101614345565b6020919350806001915483858801015201910190918392614e50565b6020925061435194915060ff191682840152151560051b820101614345565b9190805f0b9081155f14614ecf575050815b6001600160401b038111612348576001600160401b031690565b5f821315614f0757614ee4915060ff1661365f565b91821561368757614efb8184614f02930690613670565b928361367d565b614eb5565b505f0380805f0b0361284b57614f22614f029160ff1661365f565b836136b5565b630100000d60e01b8152815160049290919082906020018483015e01015f815290565b6280000360e11b8152815160049290919082906020018483015e01015f815290565b8051612710614f90614f8560e085019384519061285f565b60c0850151906136b5565b0481518181115f1461514f5750905b81906020840191614fc283519460608701956001600160a01b03875116906152c5565b15615148575b80615092575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f91613c296001600160a01b0380615007858a5161285f565b9661501f828a51169860408c0199848b5116906131e3565b61505c828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b61506787825461285f565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156123485760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af192831561233d577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93615138575b509150614fce565b5f61514291612756565b5f615130565b505f614fc8565b905090614f9f565b6001600160401b03166001609d1b01806001609d1b1161284b576001600160a01b031690565b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526136e4916151b9606483612756565b6153c3565b9060405190602082019063095ea7b360e01b8252736b9e773128f453f5c2c60935ee2de2cbc5390a246024840152604483015260448252615200606483612756565b5f806001600160a01b0385169284519082855af19061521d612c9d565b8261528b575b5081615280575b5015615234575050565b6136e4916151b960405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261527a606482612756565b826153c3565b90503b15155f61522a565b805191925081159182156152a3575b5050905f615223565b81925090602091810103126123485760206152be91016130eb565b5f8061529a565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa91821561233d575f92615374575b5080821094851595615335575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f80808061532f565b9091506020813d6020116153a0575b8161539060209383612756565b810103126123485751905f615322565b3d9150615383565b63ffffffff60649116029063ffffffff821691820361284b57565b906001600160a01b0361542492165f80604051936153e2604086612756565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af161541e612c9d565b916154f1565b805190811591821561543a575b50501561234857565b819250906020918101031261234857602061545591016130eb565b5f80615431565b51906001600160a01b038216820361234857565b519060ff8216820361234857565b9060ff8091169116039060ff821161284b57565b9160ff811660ff83168181145f146154ab575050505090565b6001600160401b0394929111156154d9576154d26154cd61376694869361547e565b61365f565b91166136b5565b6154ea6154cd85926137669561547e565b911661367d565b9192501561550d57815115615504575090565b3b156123485790565b50805190811561234857602001fdfe60a080604052346100455733608052610bd9908161004a8239608051818181607b01528181610187015281816103590152818161065a0152818161070101526108d20152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d3146108905780637bdae32e1461069b57806390a0827b146106365780639c45c34b1461030d578063de1a324a146100a25763eba61c0e1461005c575f80fd5b3461009f578060031936011261009f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b503461009f57366003190161010081126102f55760a01361009f5760405160a0810181811067ffffffffffffffff8211176102f9576040526100e2610961565b918282526024359182151583036102f5576020810192835260443563ffffffff811681036102f1576040820152610117610974565b6060820152608435906001600160a01b03821682036102f1576080015260a43567ffffffffffffffff81168091036102f55760c4359067ffffffffffffffff82168092036102f15760e435946fffffffffffffffffffffffffffffffff86168096036102ed576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102ed5763ffffffff6101bc91166109d3565b935115159281156102de5782156102cf57916102509391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261021b6101008261099d565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f19810183528261099d565b7333333333333333333333333333333333333333333b156102cb575f61028a91604051809381926317938e1360e01b835260048301610a00565b0381837333333333333333333333333333333333333333335af180156102c0576102b2575080f35b6102be91505f9061099d565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b503461009f57608036600319011261009f57610327610987565b6024359067ffffffffffffffff82168092036102f1576044359060643580850b90818103610632576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361063257816105b4575050815b67ffffffffffffffff81116105b05767ffffffffffffffff169283156105a15790829185936103c0575b836103bc86610b0c565b5080f35b8061055857506001600160a01b031660405183806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261041160648561099d565b83519082865af1610420610b28565b81610529575b508061051f575b156104c7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102f55760405190630acb7f4b60e21b8252600482015263ffffffff6024820152818160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104bc576104a7575b50506103bc905b9050815f80806103b2565b816104b19161099d565b6102f557815f610495565b6040513d84823e3d90fd5b6105189161051360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201528660448201526044815261050d60648261099d565b82610a7b565b610a7b565b5f80610433565b50813b151561042d565b805180159250821561053e575b50505f610426565b6105519250602080918301019101610a63565b5f80610536565b909192506001609d1b01806001609d1b1161058d5791610588916001600160a01b03806103bc9695169116610a2a565b61049c565b634e487b7160e01b85526011600452602485fd5b6306506d5560e11b8552600485fd5b8480fd5b858213156105f6576105c9915060ff16610b67565b80156105e257808306830392831161058d578204610388565b634e487b7160e01b85526012600452602485fd5b5084038080860b0361058d5761060e9060ff16610b67565b82818102918183041490151761038857634e487b7160e01b85526011600452602485fd5b8580fd5b503461009f57604036600319011261009f57610650610987565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102f55761069890602435906001600160a01b03339116610a2a565b80f35b503461009f57608036600319011261009f578060043567ffffffffffffffff811680910361080d57602435906001600160a01b03821680920361088c576044359167ffffffffffffffff831680930361088a576106f6610974565b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036105b05763ffffffff602094169263ffffffff841480610882575b156108105761079b93506040519285840152604083015260608201526060815261076960808261099d565b6004604051938492818401906280000360e11b82528051928391018483015e01015f815203601f19810183528261099d565b7333333333333333333333333333333333333333333b1561080d57816107d591604051809381926317938e1360e01b835260048301610a00565b0381837333333333333333333333333333333333333333335af180156104bc576107fc5750f35b816108069161099d565b61009f5780f35b50fd5b61087d93604051938685015286604085015263ffffffff6060850152608084015260a083015260c082015260c0815261084a60e08261099d565b600460405193849281840190630100000d60e01b82528051928391018483015e01015f815203601f19810183528261099d565b61079b565b50600161073e565b505b5050fd5b50346102cb5760403660031901126102cb576108aa610961565b602435906fffffffffffffffffffffffffffffffff82168092036102cb576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102cb576004610906610250926109d3565b926040519063ffffffff602083019516855260408201526040815261092c60608261099d565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f19810183528261099d565b6004359063ffffffff821682036102cb57565b6064359063ffffffff821682036102cb57565b600435906001600160a01b03821682036102cb57565b90601f8019910116810190811067ffffffffffffffff8211176109bf57604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff82116109ec57565b634e487b7160e01b5f52601160045260245ffd5b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b610a61926001600160a01b036040519363a9059cbb60e01b602086015216602484015260448301526044825261051360648361099d565b565b908160209103126102cb575180151581036102cb5790565b906001600160a01b03610adc92165f8060405193610a9a60408661099d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1610ad6610b28565b91610b78565b8051908115918215610af2575b5050156102cb57565b610b059250602080918301019101610a63565b5f80610ae9565b67ffffffffffffffff169067ffffffffffffffff82116109ec57565b3d15610b62573d9067ffffffffffffffff82116109bf5760405191610b57601f8201601f19166020018461099d565b82523d5f602084013e565b606090565b60ff16604d81116109ec57600a0a90565b91925015610b9457815115610b8b575090565b3b156102cb5790565b5080519081156102cb57602001fdfea2646970667358221220957eb92bf34977f1dbc400ded4a4688729e475d059af2473160b1dcd76c46a2064736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220a4585ce27249e5aced6f7fb67b49145c526d0fb9b1c245b8ddbbc9d72f4aac4364736f6c634300081e0033bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800"}
@@ -1 +1 @@
1
- {"abi":[{"type":"event","name":"EmergencyReceiveMessage","inputs":[{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"finalRecipent","type":"address","indexed":false,"internalType":"address"},{"name":"finalToken","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SponsoredDepositForBurn","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"destinationDex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"CCTPMessageTransmitterFailed","inputs":[]},{"type":"error","name":"InvalidDeadline","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSourceDomain","inputs":[]}]}
1
+ {"abi":[{"type":"event","name":"EmergencyReceiveMessage","inputs":[{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"finalRecipent","type":"address","indexed":false,"internalType":"address"},{"name":"finalToken","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SponsoredDepositForBurn","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"destinationDex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"CCTPMessageTransmitterFailed","inputs":[]},{"type":"error","name":"InvalidDeadline","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSourceDomain","inputs":[]}],"bytecode":"0x"}
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_cctpTokenMessenger","type":"address","internalType":"address"},{"name":"_sourceDomain","type":"uint32","internalType":"uint32"},{"name":"_signer","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenMessengerV2"}],"stateMutability":"view"},{"type":"function","name":"depositForBurn","inputs":[{"name":"quote","type":"tuple","internalType":"struct SponsoredCCTPInterface.SponsoredCCTPQuote","components":[{"name":"sourceDomain","type":"uint32","internalType":"uint32"},{"name":"destinationDomain","type":"uint32","internalType":"uint32"},{"name":"mintRecipient","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"burnToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationCaller","type":"bytes32","internalType":"bytes32"},{"name":"maxFee","type":"uint256","internalType":"uint256"},{"name":"minFinalityThreshold","type":"uint32","internalType":"uint32"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"},{"name":"finalRecipient","type":"bytes32","internalType":"bytes32"},{"name":"finalToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","internalType":"uint8"},{"name":"executionMode","type":"uint8","internalType":"uint8"},{"name":"actionData","type":"bytes","internalType":"bytes"}]},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sourceDomain","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"EmergencyReceiveMessage","inputs":[{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"finalRecipent","type":"address","indexed":false,"internalType":"address"},{"name":"finalToken","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SponsoredDepositForBurn","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"destinationDex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"CCTPMessageTransmitterFailed","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidDeadline","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSourceDomain","inputs":[]}]}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_cctpTokenMessenger","type":"address","internalType":"address"},{"name":"_sourceDomain","type":"uint32","internalType":"uint32"},{"name":"_signer","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenMessengerV2"}],"stateMutability":"view"},{"type":"function","name":"depositForBurn","inputs":[{"name":"quote","type":"tuple","internalType":"struct SponsoredCCTPInterface.SponsoredCCTPQuote","components":[{"name":"sourceDomain","type":"uint32","internalType":"uint32"},{"name":"destinationDomain","type":"uint32","internalType":"uint32"},{"name":"mintRecipient","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"burnToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationCaller","type":"bytes32","internalType":"bytes32"},{"name":"maxFee","type":"uint256","internalType":"uint256"},{"name":"minFinalityThreshold","type":"uint32","internalType":"uint32"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"},{"name":"finalRecipient","type":"bytes32","internalType":"bytes32"},{"name":"finalToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","internalType":"uint8"},{"name":"executionMode","type":"uint8","internalType":"uint8"},{"name":"actionData","type":"bytes","internalType":"bytes"}]},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sourceDomain","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"EmergencyReceiveMessage","inputs":[{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"finalRecipent","type":"address","indexed":false,"internalType":"address"},{"name":"finalToken","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SponsoredDepositForBurn","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"destinationDex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"CCTPMessageTransmitterFailed","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidDeadline","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSourceDomain","inputs":[]}],"bytecode":"0x60c03461012957601f610f9538819003918201601f19168301916001600160401b0383118484101761012d578084926060946040528339810103126101295761004781610141565b9060208101519063ffffffff821682036101295760406100679101610141565b5f8054336001600160a01b0319821681178355604051959394939290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600160a01b0390811660805260a0919091527ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b20080546001600160a01b03191692909116919091179055610e3f9081610156823960805181818161066601526109c0015260a0518181816104d80152610a000152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101295756fe6080806040526004361015610012575f80fd5b5f905f3560e01c908163238ac93314610b3a575080636c19e78314610aad578063715018a614610a495780638da5cb5b14610a245780638ddb4a89146109e45780639748cf7c146109a1578063b9051e8614610157578063f2fde38b146100d15763feb6172414610081575f80fd5b346100ce5760203660031901126100ce5760ff604060209260043581527ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b20184522054166040519015158152f35b80fd5b50346100ce5760203660031901126100ce576004356001600160a01b038116809103610153576100ff610c43565b8015610153576001600160a01b0382548273ffffffffffffffffffffffffffffffffffffffff198216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b5080fd5b50346108075760403660031901126108075767ffffffffffffffff60043511610807576102406004353603600319011261080757604051610240810181811067ffffffffffffffff82111761098d576040526101b7600435600401610b9e565b81526101c7602460043501610b9e565b602082015260043560448101356040830152606481013560608301526084810135608083015260a481013560a083015260c481013560c083015261020d9060e401610b9e565b60e08201526004356101048101356101008301526101248101356101208301526101448101356101408301526101648101356101608301526101848101356101808301526101a48101356101a083015261026a906101c401610b9e565b6101c082015261027f6101e460043501610baf565b6101e082015261029461020460043501610baf565b61020082015267ffffffffffffffff610224600435013511610807576102c536600480356102248101350101610bd9565b61022082015260243567ffffffffffffffff8111610807576102eb903690600401610bd9565b6001600160a01b037ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b200541663ffffffff83511663ffffffff60208501511660408501516060860151608087015160a08801519060c08901519263ffffffff60e08b01511694604051966020880198895260408801526060870152608086015260a085015260c084015260e0830152610100820152610100815261039061012082610b7c565b5190206101008401516101208501516101408601516101608701516101808801516101a089015163ffffffff6101c08b0151169060ff6101e08c0151169260ff6102008d015116946102208d015160208151910120966040519860208a019a8b5260408a01526060890152608088015260a087015260c086015260e0850152610100840152610120830152610140820152610140815261043261016082610b7c565b5190206040519060208201928352604082015260408152610454606082610b7c565b519020906104628383610d2e565b600581949294101561097957159283610966575b5082156108d3575b5050156108c4576101008201515f527ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b20160205260ff60405f2054166108b55761012082015142116108a65763ffffffff82511663ffffffff7f0000000000000000000000000000000000000000000000000000000000000000160361089757606082015163ffffffff60208401511690604084015160808501518060a01c610888576001600160a01b03169260a08601519060c087015160e088015163ffffffff1694610100890151936101208a0151946101408b01518b6101608101516101808201516101a08301516101c084015163ffffffff16916101e085015160ff169361020086015160ff16956102200151966040519d8e9960208b015260408a01526060890152608088015260a087015260c086015260e08501526101008401526101208301526101408201610140905261016082016105dc91610c1f565b03601f19810186526105ee9086610b7c565b6101008a01515f527ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b20160205260405f2060ff1981541660011790556040516323b872dd60e01b60208201523360248201523060448201528260648201526064815261065a608482610b7c565b6106649089610c6e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316946040516020810163095ea7b360e01b8152876024830152846044830152604482526106bb606483610b7c565b8a82515a925f8094938194f16106cf610cff565b81610859575b508061084f575b1561080b575b50853b15610807575f97889461073c936040519b8c9a8b998a9863779b432d60e01b8a5260048a0152602489015260448801526064870152608486015260a485015260c484015261010060e4840152610104830190610c1f565b03925af180156107fc576107e7575b506101008201517fea13ffabfd15f5cd4925423116c7a022f5173777ce2b2e8f0dfc6802effe2bba6101808401519361012081015190610140810151906101608101516101a08201519060ff6101e063ffffffff6101c0860151169401511693604051958652602086015260408501526060840152608083015260a082015260e060c0820152806107e1339560e0830190610c1f565b0390a480f35b6107f49193505f90610b7c565b5f915f61074b565b6040513d5f823e3d90fd5b5f80fd5b6108499061084360405163095ea7b360e01b60208201528960248201525f60448201526044815261083d606482610b7c565b8c610c6e565b8a610c6e565b5f6106e2565b50893b15156106dc565b805180159250821561086e575b50505f6106d5565b6108819250602080918301019101610c56565b5f80610866565b6379ec0ed760e11b5f5260045ffd5b631b91204960e01b5f5260045ffd5b631da7447960e21b5f5260045ffd5b633ab3447f60e11b5f5260045ffd5b638baa579f60e01b5f5260045ffd5b5f92509082916040516020810191630b135d3f60e11b8352602482015260406044820152610916816109086064820189610c1f565b03601f198101835282610b7c565b51915afa610922610cff565b81610958575b81610936575b505f8061047e565b90506020818051810103126108075760200151630b135d3f60e11b145f61092e565b905060208151101590610928565b6001600160a01b0316821492505f610476565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b34610807575f3660031901126108075760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610807575f36600319011261080757602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610807575f3660031901126108075760206001600160a01b035f5416604051908152f35b34610807575f36600319011261080757610a61610c43565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610807576020366003190112610807576004356001600160a01b03811680910361080757610ada610c43565b73ffffffffffffffffffffffffffffffffffffffff197ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b2005416177ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b200555f80f35b34610807575f366003190112610807576020906001600160a01b037ff0a1b42b86a218bb35dbc2254545839ce4b1bf1d3780b5099e3e0abfc7a5b20054168152f35b90601f8019910116810190811067ffffffffffffffff82111761098d57604052565b359063ffffffff8216820361080757565b359060ff8216820361080757565b67ffffffffffffffff811161098d57601f01601f191660200190565b81601f8201121561080757803590610bf082610bbd565b92610bfe6040519485610b7c565b8284526020838301011161080757815f926020809301838601378301015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b035f5416330361080757565b90816020910312610807575180151581036108075790565b906001600160a01b03610ccf92165f8060405193610c8d604086610b7c565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1610cc9610cff565b91610dde565b8051908115918215610ce5575b50501561080757565b610cf89250602080918301019101610c56565b5f80610cdc565b3d15610d29573d90610d1082610bbd565b91610d1e6040519384610b7c565b82523d5f602084013e565b606090565b9060418151145f14610d5a57610d5691602082015190606060408401519301515f1a90610d63565b9091565b50505f90600290565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610dd3576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa156107fc575f516001600160a01b03811615610dcb57905f90565b505f90600190565b505050505f90600390565b91925015610dfa57815115610df1575090565b3b156108075790565b50805190811561080757602001fdfea2646970667358221220f452741e2da1bdcb9505d0a6a0e54f37ef6ce4352c403bed44ea5155f80b047e64736f6c634300081e0033"}
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"deposit","inputs":[{"name":"quote","type":"tuple","internalType":"struct SponsoredOFTInterface.Quote","components":[{"name":"signedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.SignedQuoteParams","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"destinationHandler","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"},{"name":"finalRecipient","type":"bytes32","internalType":"bytes32"},{"name":"finalToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"lzReceiveGasLimit","type":"uint256","internalType":"uint256"},{"name":"lzComposeGasLimit","type":"uint256","internalType":"uint256"},{"name":"maxOftFeeBps","type":"uint256","internalType":"uint256"},{"name":"accountCreationMode","type":"uint8","internalType":"uint8"},{"name":"executionMode","type":"uint8","internalType":"uint8"},{"name":"actionData","type":"bytes","internalType":"bytes"}]},{"name":"unsignedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.UnsignedQuoteParams","components":[{"name":"refundRecipient","type":"address","internalType":"address"}]}]},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setSigner","inputs":[{"name":"_newSigner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"SponsoredOFTSend","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"destinationHandler","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"sig","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ArrayLengthMismatch","inputs":[]},{"type":"error","name":"IncorrectSignature","inputs":[]},{"type":"error","name":"IncorrectSrcEid","inputs":[]},{"type":"error","name":"InsufficientNativeFee","inputs":[]},{"type":"error","name":"InvalidMaxOftFeeBps","inputs":[]},{"type":"error","name":"NonceAlreadyUsed","inputs":[]},{"type":"error","name":"QuoteExpired","inputs":[]},{"type":"error","name":"TokenIOFTMismatch","inputs":[]}]}
1
+ {"abi":[{"type":"function","name":"deposit","inputs":[{"name":"quote","type":"tuple","internalType":"struct SponsoredOFTInterface.Quote","components":[{"name":"signedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.SignedQuoteParams","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"destinationHandler","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"},{"name":"finalRecipient","type":"bytes32","internalType":"bytes32"},{"name":"finalToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"lzReceiveGasLimit","type":"uint256","internalType":"uint256"},{"name":"lzComposeGasLimit","type":"uint256","internalType":"uint256"},{"name":"maxOftFeeBps","type":"uint256","internalType":"uint256"},{"name":"accountCreationMode","type":"uint8","internalType":"uint8"},{"name":"executionMode","type":"uint8","internalType":"uint8"},{"name":"actionData","type":"bytes","internalType":"bytes"}]},{"name":"unsignedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.UnsignedQuoteParams","components":[{"name":"refundRecipient","type":"address","internalType":"address"}]}]},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setSigner","inputs":[{"name":"_newSigner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"SponsoredOFTSend","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"destinationHandler","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"sig","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ArrayLengthMismatch","inputs":[]},{"type":"error","name":"IncorrectSignature","inputs":[]},{"type":"error","name":"IncorrectSrcEid","inputs":[]},{"type":"error","name":"InsufficientNativeFee","inputs":[]},{"type":"error","name":"InvalidMaxOftFeeBps","inputs":[]},{"type":"error","name":"NonceAlreadyUsed","inputs":[]},{"type":"error","name":"QuoteExpired","inputs":[]},{"type":"error","name":"TokenIOFTMismatch","inputs":[]}],"bytecode":"0x"}
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_oftMessenger","type":"address","internalType":"address"},{"name":"_srcEid","type":"uint32","internalType":"uint32"},{"name":"_signer","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"EMPTY_OFT_COMMAND","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"OFT_MESSENGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SRC_EID","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimalConversionRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"quote","type":"tuple","internalType":"struct SponsoredOFTInterface.Quote","components":[{"name":"signedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.SignedQuoteParams","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"destinationHandler","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"},{"name":"finalRecipient","type":"bytes32","internalType":"bytes32"},{"name":"finalToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"lzReceiveGasLimit","type":"uint256","internalType":"uint256"},{"name":"lzComposeGasLimit","type":"uint256","internalType":"uint256"},{"name":"maxOftFeeBps","type":"uint256","internalType":"uint256"},{"name":"accountCreationMode","type":"uint8","internalType":"uint8"},{"name":"executionMode","type":"uint8","internalType":"uint8"},{"name":"actionData","type":"bytes","internalType":"bytes"}]},{"name":"unsignedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.UnsignedQuoteParams","components":[{"name":"refundRecipient","type":"address","internalType":"address"}]}]},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_newSigner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SponsoredOFTSend","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"destinationHandler","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"sig","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"AmountSDOverflowed","inputs":[{"name":"amountSD","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ArrayLengthMismatch","inputs":[]},{"type":"error","name":"IncorrectSignature","inputs":[]},{"type":"error","name":"IncorrectSrcEid","inputs":[]},{"type":"error","name":"InsufficientNativeFee","inputs":[]},{"type":"error","name":"InvalidLocalDecimals","inputs":[]},{"type":"error","name":"InvalidMaxOftFeeBps","inputs":[]},{"type":"error","name":"InvalidOptionType","inputs":[{"name":"optionType","type":"uint16","internalType":"uint16"}]},{"type":"error","name":"NonceAlreadyUsed","inputs":[]},{"type":"error","name":"OutOfBounds","inputs":[]},{"type":"error","name":"QuoteExpired","inputs":[]},{"type":"error","name":"TokenIOFTMismatch","inputs":[]}]}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_oftMessenger","type":"address","internalType":"address"},{"name":"_srcEid","type":"uint32","internalType":"uint32"},{"name":"_signer","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"EMPTY_OFT_COMMAND","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"OFT_MESSENGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SRC_EID","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimalConversionRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"quote","type":"tuple","internalType":"struct SponsoredOFTInterface.Quote","components":[{"name":"signedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.SignedQuoteParams","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"destinationHandler","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"},{"name":"finalRecipient","type":"bytes32","internalType":"bytes32"},{"name":"finalToken","type":"bytes32","internalType":"bytes32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"lzReceiveGasLimit","type":"uint256","internalType":"uint256"},{"name":"lzComposeGasLimit","type":"uint256","internalType":"uint256"},{"name":"maxOftFeeBps","type":"uint256","internalType":"uint256"},{"name":"accountCreationMode","type":"uint8","internalType":"uint8"},{"name":"executionMode","type":"uint8","internalType":"uint8"},{"name":"actionData","type":"bytes","internalType":"bytes"}]},{"name":"unsignedParams","type":"tuple","internalType":"struct SponsoredOFTInterface.UnsignedQuoteParams","components":[{"name":"refundRecipient","type":"address","internalType":"address"}]}]},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_newSigner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"usedNonces","inputs":[{"name":"nonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SponsoredOFTSend","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"originSender","type":"address","indexed":true,"internalType":"address"},{"name":"finalRecipient","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"destinationHandler","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"quoteDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxBpsToSponsor","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxUserSlippageBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"sig","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"AmountSDOverflowed","inputs":[{"name":"amountSD","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ArrayLengthMismatch","inputs":[]},{"type":"error","name":"IncorrectSignature","inputs":[]},{"type":"error","name":"IncorrectSrcEid","inputs":[]},{"type":"error","name":"InsufficientNativeFee","inputs":[]},{"type":"error","name":"InvalidLocalDecimals","inputs":[]},{"type":"error","name":"InvalidMaxOftFeeBps","inputs":[]},{"type":"error","name":"InvalidOptionType","inputs":[{"name":"optionType","type":"uint16","internalType":"uint16"}]},{"type":"error","name":"NonceAlreadyUsed","inputs":[]},{"type":"error","name":"OutOfBounds","inputs":[]},{"type":"error","name":"QuoteExpired","inputs":[]},{"type":"error","name":"TokenIOFTMismatch","inputs":[]}],"bytecode":"0x61010080604052346102aa57608081611b54803803809161002082856103cd565b8339810103126102aa5761003381610404565b61003f60208301610404565b90610058606061005160408601610418565b9401610404565b60405163313ce56760e01b815290936001600160a01b03831693909190602082600481885afa9182156102b6575f926103ac575b50604051630857749b60e41b81526001600160a01b038216949092602084600481895afa9384156102b6575f9461037b575b505f8054336001600160a01b03198216811783556040519660ff9384939192916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a316911681811061036c570360ff81116103585760ff16604d811161035857600a0a60805260a05260c05260e0829052635e280f1160e01b8152602081600481865afa9081156102b6575f91610313575b5060405163416ecebf60e01b81529190602090839060049082906001600160a01b03165afa9182156102b6575f926102d0575b5063ffffffff8091169116036102c157602060049160405192838092637e062a3560e11b82525afa9081156102b6575f91610278575b506001600160a01b031603610269577fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50080546001600160a01b0319166001600160a01b03929092169190911790556040516117119081610443823960805181818161035f01526111d9015260a0518181816102ff0152610827015260c0518181816101b9015281816108660152610e5f015260e05181818161039e0152610a700152f35b633722464560e11b5f5260045ffd5b90506020813d6020116102ae575b81610293602093836103cd565b810103126102aa576102a490610404565b5f6101c5565b5f80fd5b3d9150610286565b6040513d5f823e3d90fd5b637c68382b60e01b5f5260045ffd5b9091506020813d60201161030b575b816102ec602093836103cd565b810103126102aa5763ffffffff6103038192610418565b92915061018f565b3d91506102df565b90506020813d602011610350575b8161032e602093836103cd565b810103126102aa5751906001600160a01b03821682036102aa5790602061015c565b3d9150610321565b634e487b7160e01b5f52601160045260245ffd5b6301e9714b60e41b5f5260045ffd5b61039e91945060203d6020116103a5575b61039681836103cd565b810190610429565b925f6100be565b503d61038c565b6103c691925060203d6020116103a55761039681836103cd565b905f61008c565b601f909101601f19168101906001600160401b038211908210176103f057604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102aa57565b519063ffffffff821682036102aa57565b908160209103126102aa575160ff811681036102aa579056fe60806040526004361015610011575f80fd5b5f3560e01c8063238ac933146100d45780634982e57b146100cf5780635b9cae35146100ca5780636c19e783146100c5578063715018a6146100c057806382bfefc8146100bb5780638da5cb5b146100b6578063963efcaa146100b1578063c9279a74146100ac578063f2fde38b146100a7578063f731ce5f146100a25763feb617241461009d575f80fd5b610539565b610506565b6103c2565b610382565b610348565b610323565b6102e0565b61027c565b6101ee565b61019a565b61011d565b34610119575f3660031901126101195760206001600160a01b037fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416604051908152f35b5f80fd5b60403660031901126101195760043567ffffffffffffffff81116101195760406003198236030112610119576024359067ffffffffffffffff821161011957366023830112156101195781600401359067ffffffffffffffff8211610119573660248385010111610119576024610198930190600401610797565b005b34610119575f3660031901126101195760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361011957565b34610119576020366003190112610119576001600160a01b03600435610213816101dd565b61021b611026565b1673ffffffffffffffffffffffffffffffffffffffff197fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb5005416177fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500555f80f35b34610119575f36600319011261011957610294611026565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610119575f3660031901126101195760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610119575f3660031901126101195760206001600160a01b035f5416604051908152f35b34610119575f3660031901126101195760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610119575f36600319011261011957602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610119576020366003190112610119576001600160a01b036004356103e7816101dd565b6103ef611026565b168015610119576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761047357604052565b610443565b90601f8019910116810190811067ffffffffffffffff82111761047357604052565b604051906104a960e083610478565b565b67ffffffffffffffff811161047357601f01601f191660200190565b604051906104d6602083610478565b5f808352366020840137565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610119575f366003190112610119576105356105216104c7565b6040519182916020835260208301906104e2565b0390f35b34610119576020366003190112610119576004355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb501602052602060ff60405f2054166040519015158152f35b90359061021e1981360301821215610119570190565b634e487b7160e01b5f52601160045260245ffd5b612710039061271082116105c157565b61059d565b919082039182116105c157565b3d156105fd573d906105e4826104ab565b916105f26040519384610478565b82523d5f602084013e565b606090565b1561011957565b91908260409103126101195760405161062181610457565b6020808294805184520151910152565b919082810360c081126101195760801361011957604051906060820182811067ffffffffffffffff8211176104735760405283518252602084015167ffffffffffffffff81168103610119578260809160206106a29501526106968360408801610609565b60408201529401610609565b90565b6106a29163ffffffff825116815260208201516020820152604082015160408201526060820151606082015260c06107016106ef608085015160e0608086015260e08501906104e2565b60a085015184820360a08601526104e2565b9201519060c08184039101526104e2565b9193926001600160a01b039060206107346060946080875260808701906106a5565b968051828701520151604085015216910152565b6040513d5f823e3d90fd5b959287959260e09895928852602088015260408701526060860152608085015260c060a08501528160c0850152848401375f828201840152601f01601f1916010190565b9190916107a58284836109f0565b6107f36107e660806107b78480610587565b01355f527fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb50160205260405f2090565b805460ff19166001179055565b6107fc81610c14565b815134106109d0576108c3928261081660c09451346105c6565b806109a8575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169161086160606108578980610587565b0135303386610ee9565b61089b7f0000000000000000000000000000000000000000000000000000000000000000938460606108938b80610587565b013591610f2f565b6001600160a01b038251916040519788968795869363c7c7f5b360e01b855260048501610712565b0393165af180156109a357610975575b507f8fb515a2e89f5acfca1124e69e331c2cded0ca216b578ba531720f6841139dbf60806109018380610587565b0135916101006109118280610587565b01359461097060406109238480610587565b01359560a06109328580610587565b01359260c06109418680610587565b01359461012061095f60e06109568480610587565b01359280610587565b013590604051968796339b88610753565b0390a4565b6109969060c03d60c01161099c575b61098e8183610478565b810190610631565b506108d3565b503d610984565b610748565b5f8080806109ca946001600160a01b0389165af16109c46105d3565b50610602565b5f61081c565b639c92bdfb60e01b5f5260045ffd5b3563ffffffff811681036101195790565b91610a3a90610a3e92610a2a7fbbe623e022cc184bd276c9a778810da1531bdd4c0bac9d86069eb499aa2eb500546001600160a01b031690565b610a348680610587565b90611039565b1590565b610ae25760a0610a4e8280610587565b01354211610ad357610a68610a638280610587565b6109df565b63ffffffff807f000000000000000000000000000000000000000000000000000000000000000016911603610ac457610aa960806107b783610ab094610587565b5460ff1690565b610ab657565b623f613760e71b5f5260045ffd5b637c68382b60e01b5f5260045ffd5b638727a7f960e01b5f5260045ffd5b63c1606c2f60e01b5f5260045ffd5b6040519060e0820182811067ffffffffffffffff82111761047357604052606060c0835f81525f60208201525f60408201525f838201528260808201528260a08201520152565b60405190610b4582610457565b5f6020838281520152565b3560ff811681036101195790565b903590601e1981360301821215610119570180359067ffffffffffffffff82116101195760200191813603831361011957565b929192610b9d826104ab565b91610bab6040519384610478565b829481845281830111610119578281602093845f960137010152565b818102929181159184041417156105c157565b90604082820312610119576106a291610609565b91906020610c055f926040865260408601906106a5565b930152565b356106a2816101dd565b90610c1d610af1565b50610c26610b38565b50610c318280610587565b60600135610c3e906111d7565b610c488380610587565b6080013590610c578480610587565b60c00135610c658580610587565b60e00135610c738680610587565b6101000135610c828780610587565b6101200135610c918880610587565b61014001610c9e906109df565b91610ca98980610587565b6101c001610cb690610b50565b93610cc18a80610587565b6101e001610cce90610b50565b95610cd98b80610587565b6102008101610ce791610b5e565b3690610cf292610b91565b9767ffffffffffffffff16610d0699611242565b90610d0f6112b7565b610d198480610587565b6101600135610d37906fffffffffffffffffffffffffffffffff1690565b610d40916112d3565b610d4a8480610587565b6101800135610d68906fffffffffffffffffffffffffffffffff1690565b610d71916113c8565b91610d7c8480610587565b6101a0013561271010610eda57610dc2610dba6060610d9b8780610587565b0135610db46101a0610dad8980610587565b01356105b1565b90610bc7565b612710900490565b90610dd86020610dd28780610587565b016109df565b936040610de58780610587565b0135926060610df48880610587565b0135610dfe6104c7565b94610e16610e0a61049a565b63ffffffff9099168952565b602088015260408701526060860152608085015260a084015260c083015260405192633b6f743b60e01b845260408480610e538660048301610bee565b03816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa9384156109a3575f94610ea2575b506020610e9c9101610c0a565b91929190565b610e9c919450610ecb60209160403d604011610ed3575b610ec38183610478565b810190610bda565b949150610e8f565b503d610eb9565b63a9f4c5e360e01b5f5260045ffd5b9091926001600160a01b036104a99481604051956323b872dd60e01b6020880152166024860152166044840152606483015260648252610f2a608483610478565b6114bd565b919091610f9960405192602084019063095ea7b360e01b82526001600160a01b0386166024860152604485015260448452610f6b606485610478565b5f806001600160a01b0385169286519082855af190610f886105d3565b82610ff4575b5081610fed57501590565b610fa257505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448401526104a992610f2a90610fe781606481015b03601f198101835282610478565b826114bd565b3b15919050565b8051919250811591821561100c575b5050905f610f8e565b61101f92506020809183010191016114a5565b5f80611003565b6001600160a01b035f5416330361011957565b926111cf906111c96001600160a01b03948594610fd96111be61105b836109df565b611067602085016109df565b6110e5604086013591610fd96060880135608089013560a08a013560c08b01359060e08c0135926101008d013594604051998a9860208a019c8d959263ffffffff6101009895929b9a999693816101208a019d16895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b519020926101208101359061119f61110061014083016109df565b610fd961016084013593610180810135906101a08101356111246101c08301610b50565b9061114b6111446111386101e08601610b50565b94610200810190610b5e565b3691610b91565b6020815191012093604051988997602089019b8c9460ff9460e097929a99989463ffffffff87956101008a019d8a521660208901526040880152606087015260808601521660a08401521660c08201520152565b5190206040805160208101958652908101919091529182906060820190565b519020923691610b91565b9061157f565b921691161490565b7f000000000000000000000000000000000000000000000000000000000000000090811561122e570467ffffffffffffffff811161121c5767ffffffffffffffff1690565b63e2ce941360e01b5f5260045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b97959391989694929098604051998a9960208b015260408a01526060890152608088015260a087015260c086015263ffffffff1660e085015260ff1661010084015260ff166101208301526101408201610140905261016082016112a5916104e2565b03601f19810182526106a29082610478565b604051600360f01b6020820152600281526106a2602282610478565b90600361ffff6112e28461154e565b16036113a957604051906fffffffffffffffffffffffffffffffff199060801b16602082015260108152611317603082610478565b600361ffff6113258461154e565b16036113a957805161ffff81116101195761ffff60019116019161ffff83116105c157610fd96106a292600461136595604051968795602087019061156d565b600160f81b80825260f09290921b7fffff0000000000000000000000000000000000000000000000000000000000001660018201526003810191909152019061156d565b61ffff6113b58361154e565b633a51740d60e01b5f521660045260245ffd5b90600361ffff6113d78461154e565b16036113a957604051905f60208301526fffffffffffffffffffffffffffffffff199060801b16602282015260128152611412603282610478565b600361ffff6114208461154e565b16036113a957805161ffff81116101195761ffff60019116019161ffff83116105c157610fd96106a292600461146095604051968795602087019061156d565b600160f81b815260f09190911b7fffff000000000000000000000000000000000000000000000000000000000000166001820152600360f81b6003820152019061156d565b90816020910312610119575180151581036101195790565b906001600160a01b0361151e92165f80604051936114dc604086610478565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16115186105d3565b91611635565b8051908115918215611534575b50501561011957565b61154792506020809183010191016114a5565b5f8061152b565b600281511061155e576002015190565b632d0483c560e21b5f5260045ffd5b805191908290602001825e015f815290565b6106a29161158c91611594565b9190916115e7565b9060418151145f146115c0576115bc91602082015190606060408401519301515f1a90611660565b9091565b50505f90600290565b600511156115d357565b634e487b7160e01b5f52602160045260245ffd5b6115f0816115c9565b806115f85750565b611601816115c9565b6001810361160d575f80fd5b611616816115c9565b60028103611622575f80fd5b60039061162e816115c9565b1461011957565b9192501561165157815115611648575090565b3b156101195790565b50805190811561011957602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116116d0576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa156109a3575f516001600160a01b038116156116c857905f90565b505f90600190565b505050505f9060039056fea26469706673582212207946033e3df159fada65b11ebb423bc4db0cebeabbbb5c0a18dcc0d4b5714a0364736f6c634300081e0033"}