@across-protocol/contracts 5.0.10-alpha.4 → 5.0.10

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 (70) hide show
  1. package/contracts/handlers/MulticallHandler.sol +7 -1
  2. package/contracts/libraries/SafeTransferERC20.sol +21 -0
  3. package/contracts/libraries/TronTransferLib.sol +42 -0
  4. package/contracts/periphery/SpokePoolPeriphery.sol +4 -0
  5. package/contracts/periphery/counterfactual/CounterfactualDepositSpokePool.sol +7 -3
  6. package/contracts/periphery/counterfactual/CounterfactualDepositSpokePoolTr.sol +36 -0
  7. package/contracts/periphery/counterfactual/WithdrawImplementation.sol +3 -6
  8. package/contracts/periphery/counterfactual/WithdrawImplementationTron.sol +22 -0
  9. package/contracts/sp1-helios/SP1AutoVerifier.sol +1 -1
  10. package/contracts/spoke-pools/SpokePool.sol +11 -6
  11. package/contracts/spoke-pools/Tron_SpokePool.sol +65 -0
  12. package/contracts/test/MockTronUSDT.sol +36 -0
  13. package/contracts/tron/TronCounterfactualImports.sol +4 -3
  14. package/contracts/tron/TronImports.sol +2 -2
  15. package/contracts/tron/TronPeripheryImports.sol +1 -1
  16. package/dist/broadcast/deployed-addresses.json +38 -48
  17. package/dist/evm/artifacts/AcrossMessageHandlerMock.sol/AcrossMessageHandlerMock.json +1 -1
  18. package/dist/evm/artifacts/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -1
  19. package/dist/evm/artifacts/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +1 -1
  20. package/dist/evm/artifacts/Blast_SpokePool.sol/Blast_SpokePool.json +1 -1
  21. package/dist/evm/artifacts/Boba_SpokePool.sol/Boba_SpokePool.json +1 -1
  22. package/dist/evm/artifacts/Cher_SpokePool.sol/Cher_SpokePool.json +1 -1
  23. package/dist/evm/artifacts/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -1
  24. package/dist/evm/artifacts/CounterfactualDepositSpokePoolTr.sol/CounterfactualDepositSpokePoolTr.json +1 -0
  25. package/dist/evm/artifacts/DstOFTHandler.sol/DstOFTHandler.json +1 -1
  26. package/dist/evm/artifacts/Ethereum_SpokePool.sol/Ethereum_SpokePool.json +1 -1
  27. package/dist/evm/artifacts/HubPoolTestBase.sol/MockAddressWhitelist.json +1 -1
  28. package/dist/evm/artifacts/HubPoolTestBase.sol/MockFinder.json +1 -1
  29. package/dist/evm/artifacts/HubPoolTestBase.sol/MockIdentifierWhitelist.json +1 -1
  30. package/dist/evm/artifacts/HubPoolTestBase.sol/MockLpTokenFactory.json +1 -1
  31. package/dist/evm/artifacts/HubPoolTestBase.sol/MockOptimisticOracle.json +1 -1
  32. package/dist/evm/artifacts/HubPoolTestBase.sol/MockStore.json +1 -1
  33. package/dist/evm/artifacts/Ink_SpokePool.sol/Ink_SpokePool.json +1 -1
  34. package/dist/evm/artifacts/Lens_SpokePool.sol/Lens_SpokePool.json +1 -1
  35. package/dist/evm/artifacts/Linea_SpokePool.sol/Linea_SpokePool.json +1 -1
  36. package/dist/evm/artifacts/Lisk_SpokePool.sol/Lisk_SpokePool.json +1 -1
  37. package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockCrossDomainMessenger.json +1 -1
  38. package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL1StandardBridge.json +1 -1
  39. package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL2StandardBridge.json +1 -1
  40. package/dist/evm/artifacts/MockOptimism_SpokePool.sol/MockOptimism_SpokePool.json +1 -1
  41. package/dist/evm/artifacts/MockSpokePool.sol/MockSpokePool.json +1 -1
  42. package/dist/evm/artifacts/MockSpokePoolV2.sol/MockSpokePoolV2.json +1 -1
  43. package/dist/evm/artifacts/MockTronUSDT.sol/MockTronUSDT.json +1 -0
  44. package/dist/evm/artifacts/MulticallHandler.sol/MulticallHandler.json +1 -1
  45. package/dist/evm/artifacts/OP_SpokePool.sol/OP_SpokePool.json +1 -1
  46. package/dist/evm/artifacts/Optimism_SpokePool.sol/Optimism_SpokePool.json +1 -1
  47. package/dist/evm/artifacts/Ovm_SpokePool.sol/Ovm_SpokePool.json +1 -1
  48. package/dist/evm/artifacts/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +1 -1
  49. package/dist/evm/artifacts/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +1 -1
  50. package/dist/evm/artifacts/PolygonZkEVM_SpokePool.sol/PolygonZkEVM_SpokePool.json +1 -1
  51. package/dist/evm/artifacts/Polygon_SpokePool.sol/Polygon_SpokePool.json +1 -1
  52. package/dist/evm/artifacts/SP1AutoVerifier.sol/SP1AutoVerifier.json +1 -1
  53. package/dist/evm/artifacts/Scroll_SpokePool.sol/Scroll_SpokePool.json +1 -1
  54. package/dist/evm/artifacts/SpokePool.sol/SpokePool.json +1 -1
  55. package/dist/evm/artifacts/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +1 -1
  56. package/dist/evm/artifacts/SpokePoolPeriphery.sol/SwapProxy.json +1 -1
  57. package/dist/evm/artifacts/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +1 -1
  58. package/dist/evm/artifacts/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +1 -1
  59. package/dist/evm/artifacts/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +1 -1
  60. package/dist/evm/artifacts/TronTransferLib.sol/TronTransferLib.json +1 -0
  61. package/dist/evm/artifacts/Tron_SpokePool.sol/Tron_SpokePool.json +1 -0
  62. package/dist/evm/artifacts/Universal_SpokePool.sol/Universal_SpokePool.json +1 -1
  63. package/dist/evm/artifacts/WithdrawImplementation.sol/WithdrawImplementation.json +1 -1
  64. package/dist/evm/artifacts/WithdrawImplementationTron.sol/WithdrawImplementationTron.json +1 -0
  65. package/dist/evm/artifacts/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +1 -1
  66. package/dist/evm/artifacts/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +1 -1
  67. package/dist/evm/artifacts/eraVM_EIP7702.sol/SimpleContract.json +1 -1
  68. package/dist/evm/artifacts/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +1 -1
  69. package/dist/evm/artifacts/eraVM_EIP7702.sol/TestableMockSpokePool.json +1 -1
  70. package/package.json +3 -3
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_wrappedNativeTokenAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"EMPTY_MSG_BYTES","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_RELAYER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_REPAYMENT_CHAIN_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"INFINITE_FILL_DEADLINE","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_EXCLUSIVITY_PERIOD_SECONDS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_TRANSFER_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"OFT_DST_EID","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"OFT_FEE_CAP","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SLOW_FILL_MAX_TOKENS_TO_SEND","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPDATE_BYTES32_DEPOSIT_DETAILS_HASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPDATE_DEPOSIT_DETAILS_HASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"__SpokePool_init","inputs":[{"name":"_initialDepositId","type":"uint32","internalType":"uint32"},{"name":"_crossDomainAdmin","type":"address","internalType":"address"},{"name":"_withdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"callback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"chainId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"bytes32","internalType":"bytes32"},{"name":"refundAddress","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"crossDomainAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositDeprecated_5947912356","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int64","internalType":"int64"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int64","internalType":"int64"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositNow","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"fillDeadlineOffset","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositQuoteTimeBuffer","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"depositV3","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositV3Now","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"fillDeadlineOffset","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"distributeRelayerRefunds","inputs":[{"name":"_chainId","type":"uint256","internalType":"uint256"},{"name":"amountToReturn","type":"uint256","internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","internalType":"uint256[]"},{"name":"leafId","type":"uint32","internalType":"uint32"},{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddresses","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"emergencyDeleteRootBundle","inputs":[{"name":"rootBundleId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeExternalCall","inputs":[{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"executeRelayerRefundLeaf","inputs":[{"name":"rootBundleId","type":"uint32","internalType":"uint32"},{"name":"relayerRefundLeaf","type":"tuple","internalType":"struct SpokePoolInterface.RelayerRefundLeaf","components":[{"name":"amountToReturn","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","internalType":"uint256[]"},{"name":"leafId","type":"uint32","internalType":"uint32"},{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddresses","type":"address[]","internalType":"address[]"}]},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeSlowRelayLeaf","inputs":[{"name":"slowFillLeaf","type":"tuple","internalType":"struct V3SpokePoolInterface.V3SlowFill","components":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"}]},{"name":"rootBundleId","type":"uint32","internalType":"uint32"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fill","inputs":[{"name":"orderId","type":"bytes32","internalType":"bytes32"},{"name":"originData","type":"bytes","internalType":"bytes"},{"name":"fillerData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillDeadlineBuffer","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"fillRelay","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"},{"name":"repaymentAddress","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillRelayV3Internal","inputs":[{"name":"relayExecution","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayExecutionParams","components":[{"name":"relay","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"relayHash","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"}]},{"name":"relayer","type":"bytes32","internalType":"bytes32"},{"name":"isSlowFill","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillRelayWithUpdatedDeposit","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"},{"name":"repaymentAddress","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillStatuses","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fillV3Relay","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayDataLegacy","components":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCurrentTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUnsafeDepositId","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getV3RelayHash","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_initialDepositId","type":"uint32","internalType":"uint32"},{"name":"_crossDomainAdmin","type":"address","internalType":"address"},{"name":"_hubPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"numberOfDeposits","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"oftMessengers","inputs":[{"name":"l2TokenAddress","type":"address","internalType":"address"}],"outputs":[{"name":"l2OftMessenger","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pauseDeposits","inputs":[{"name":"pause","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseFills","inputs":[{"name":"pause","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pausedDeposits","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pausedFills","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"relayRootBundle","inputs":[{"name":"relayerRefundRoot","type":"bytes32","internalType":"bytes32"},{"name":"slowRelayRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relayerRefund","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestSlowFill","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rootBundles","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"slowRelayRoot","type":"bytes32","internalType":"bytes32"},{"name":"relayerRefundRoot","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"setChainId","inputs":[{"name":"_chainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCrossDomainAdmin","inputs":[{"name":"newCrossDomainAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCurrentTime","inputs":[{"name":"time","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFillStatus","inputs":[{"name":"relayHash","type":"bytes32","internalType":"bytes32"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOftMessenger","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"messenger","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWithdrawalRecipient","inputs":[{"name":"newWithdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"speedUpDeposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"speedUpV3Deposit","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tryMulticall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct MultiCallerUpgradeable.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unsafeDeposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"depositNonce","type":"uint256","internalType":"uint256"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"verifyUpdateV3DepositMessage","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"verifyUpdateV3DepositMessageBytes32","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"withdrawalRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"wrappedNativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract WETH9Interface"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdminExternalCallExecuted","inputs":[{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BridgedToHubPool","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ClaimedRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"refundAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"EmergencyDeletedRootBundle","inputs":[{"name":"rootBundleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EnabledDepositRoute","inputs":[{"name":"originToken","type":"address","indexed":true,"internalType":"address"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ExecutedRelayerRefundRoot","inputs":[{"name":"amountToReturn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"rootBundleId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"leafId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"l2TokenAddress","type":"address","indexed":false,"internalType":"address"},{"name":"refundAddresses","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"deferredRefunds","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FilledRelay","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"repaymentChainId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"relayer","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"depositor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"messageHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"relayExecutionInfo","type":"tuple","indexed":false,"internalType":"struct V3SpokePoolInterface.V3RelayExecutionEventInfo","components":[{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessageHash","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}]}],"anonymous":false},{"type":"event","name":"FilledV3Relay","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"repaymentChainId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"relayer","type":"address","indexed":true,"internalType":"address"},{"name":"depositor","type":"address","indexed":false,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"relayExecutionInfo","type":"tuple","indexed":false,"internalType":"struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo","components":[{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}]}],"anonymous":false},{"type":"event","name":"FundsDeposited","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"quoteTimestamp","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"depositor","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"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":"PausedDeposits","inputs":[{"name":"isPaused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PausedFills","inputs":[{"name":"isPaused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PreLeafExecuteHook","inputs":[{"name":"token","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RelayedRootBundle","inputs":[{"name":"rootBundleId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"relayerRefundRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"slowRelayRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RequestedSlowFill","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"depositor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"messageHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RequestedSpeedUpDeposit","inputs":[{"name":"updatedOutputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositor","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"updatedRecipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"depositorSignature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RequestedSpeedUpV3Deposit","inputs":[{"name":"updatedOutputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"updatedRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"updatedMessage","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"depositorSignature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RequestedV3SlowFill","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"depositor","type":"address","indexed":false,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SetOFTMessenger","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"messenger","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetWithdrawalRecipient","inputs":[{"name":"newWithdrawalRecipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetXDomainAdmin","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensBridged","inputs":[{"name":"amountToReturn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"leafId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"l2TokenAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V3FundsDeposited","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"quoteTimestamp","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ClaimedMerkleLeaf","inputs":[]},{"type":"error","name":"DepositsArePaused","inputs":[]},{"type":"error","name":"DisabledRoute","inputs":[]},{"type":"error","name":"ExpiredFillDeadline","inputs":[]},{"type":"error","name":"ExternalCallExecutionFailed","inputs":[]},{"type":"error","name":"FillsArePaused","inputs":[]},{"type":"error","name":"InsufficientSpokePoolBalanceToExecuteLeaf","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidChainId","inputs":[]},{"type":"error","name":"InvalidCrossDomainAdmin","inputs":[]},{"type":"error","name":"InvalidDepositorSignature","inputs":[]},{"type":"error","name":"InvalidExclusiveRelayer","inputs":[]},{"type":"error","name":"InvalidFillDeadline","inputs":[]},{"type":"error","name":"InvalidMerkleLeaf","inputs":[]},{"type":"error","name":"InvalidMerkleProof","inputs":[]},{"type":"error","name":"InvalidOutputToken","inputs":[]},{"type":"error","name":"InvalidPayoutAdjustmentPct","inputs":[]},{"type":"error","name":"InvalidQuoteTimestamp","inputs":[]},{"type":"error","name":"InvalidSlowFillRequest","inputs":[]},{"type":"error","name":"InvalidWithdrawalRecipient","inputs":[]},{"type":"error","name":"LowLevelCallFailed","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"MessageTooShort","inputs":[]},{"type":"error","name":"MsgValueDoesNotMatchInputAmount","inputs":[]},{"type":"error","name":"NoRelayerRefundToClaim","inputs":[]},{"type":"error","name":"NoSlowFillsInExclusivityWindow","inputs":[]},{"type":"error","name":"NotEOA","inputs":[]},{"type":"error","name":"NotExclusiveRelayer","inputs":[]},{"type":"error","name":"OFTFeeUnderpaid","inputs":[]},{"type":"error","name":"OFTTokenMismatch","inputs":[]},{"type":"error","name":"OftFeeCapExceeded","inputs":[]},{"type":"error","name":"OftIncorrectAmountReceivedLD","inputs":[]},{"type":"error","name":"OftIncorrectAmountSentLD","inputs":[]},{"type":"error","name":"OftInsufficientBalanceForFee","inputs":[]},{"type":"error","name":"OftLzFeeNotZero","inputs":[]},{"type":"error","name":"RelayFilled","inputs":[]},{"type":"error","name":"RemovedFunction","inputs":[]},{"type":"error","name":"WrongERC7683OrderId","inputs":[]},{"type":"error","name":"ZeroAddressTarget","inputs":[]}],"bytecode":"0x6101403461014057601f614cc938819003918201601f19168301916001600160401b038311848410176101445780849260209460405283398101031261014057516001600160a01b0381169081900361014057306080525f60c0525f60a05260e052610e1061010052617e90610120525f5460ff8160081c166101405760ff80821603610106575b604051614b709081610159823960805181818161101e015281816113c90152611520015260a05181611730015260c051816118c0015260e05181818161078c01528181613eec0152818161450301528181614912015261499501526101005181818161169501526140ce0152610120518181816104ae0152613e970152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610087565b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461047f5780630cb84d9a1461047a5780631186ec331461047557806315348e44146103fd57806317fcb39b1461047057806319c1648c1461046b5780631b3d5559146104665780631fab657c1461046157806322f8e5661461045c57806329cb924d146104575780632e378115146104525780632e63e59a1461044d5780633659cfe614610448578063437b911614610443578063490e49ef1461043e578063493a4f84146104395780634f1ef286146104345780635285e0581461042f57806352d1902d1461042a578063541f4f1414610425578063577f51f81461042057806357f6dcb81461041b5780635dd36f9c146104165780636068d6cb1461041157806361a04d301461040c578063647c576c14610407578063670fa8ac146104025780636bbbcd2e146103fd5780636fd5c10e146103f8578063715018a6146103f3578063738b62e5146103ee5780637659f9e0146103e95780637aef642c146103e45780637b939232146103df5780637ef413e1146103da57806382e2c43f146103d557806387c3932d146103d05780638a7860ce146103cb5780638b15788e146103c65780638da5cb5b146103c157806397943aa9146103bc578063979f2bc2146103b757806399cc2968146103b25780639a8a0592146103ad578063a1244c67146103a8578063a18a096e146103a3578063a78e4b601461039e578063a86085c514610399578063ac9650d814610394578063ad5425c61461038f578063adb5a6a614610330578063b370b7f51461038a578063b4c0d7ab14610385578063b5e1bf5f14610380578063babb6aac1461037b578063c35c83fc14610376578063c7a06c1d14610371578063ceb4c9871461036c578063d7e1583a14610367578063dda5211314610362578063ddd224f11461035d578063de7eba7814610358578063deff4b2414610353578063e7b51fca1461034e578063e98a565414610349578063ea86bd4614610344578063ee2a53f81461033f578063ef0e2ff41461033a578063f2fde38b14610335578063f79f29ed146103305763fc8a584f0361000e57612bc4565b61256e565b612b87565b612b6d565b612b2f565b612a8c565b612a38565b6129cf565b6128d9565b6128a2565b612879565b612853565b61281e565b6127db565b61275f565b612734565b612651565b612626565b6125f7565b6125b5565b6124fe565b61245f565b61233f565b61224c565b612153565b61212c565b612112565b61207c565b611fb5565b611f2a565b611f03565b611e93565b611e1b565b611da3565b611c80565b611c4a565b611bb3565b611b22565b6119fd565b611956565b6118e4565b6118a4565b610753565b61186a565b611785565b611719565b6116f3565b6116b9565b611679565b6115fe565b611570565b611506565b6114df565b611387565b6112ff565b6112e1565b611214565b610ff7565b610df8565b610ca6565b610c79565b610c5f565b610b59565b610a3c565b6107d5565b61076d565b6106ed565b6104fd565b610492565b5f91031261048e57565b5f80fd5b3461048e575f36600319011261048e57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361048e57565b60e435906104f0826104d2565b565b35906104f0826104d2565b3461048e57602036600319011261048e576001600160a01b03600435610522816104d2565b165f5261087460205260206001600160a01b0360405f205416604051908152f35b608435908160070b820361048e57565b60a435908160070b820361048e57565b63ffffffff81160361048e57565b61010435906104f082610563565b61012435906104f082610563565b61014435906104f082610563565b61016435906104f082610563565b35906104f082610563565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b038211176105e357604052565b6105b4565b6101a081019081106001600160401b038211176105e357604052565b606081019081106001600160401b038211176105e357604052565b90601f801991011681019081106001600160401b038211176105e357604052565b604051906104f060c08361061f565b604051906104f06101808361061f565b604051906104f06101a08361061f565b604051906104f060808361061f565b6001600160401b0381116105e357601f01601f191660200190565b9291926106a58261067e565b916106b3604051938461061f565b82948184528183011161048e578281602093845f960137010152565b9080601f8301121561048e578160206106ea93359101610699565b90565b61010036600319011261048e576107056004356104d2565b6107106024356104d2565b610718610543565b5061072460a435610563565b60c4356001600160401b03811161048e576107439036906004016106cf565b506332ed1ba560e21b5f5260045ffd5b3461048e575f36600319011261048e5760206040515f8152f35b3461048e575f36600319011261048e5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b604090600319011261048e576004356107c8816104d2565b906024356106ea816104d2565b3461048e576107e3366107b0565b6107eb613d70565b6107f36136fa565b6001600160a01b038116918215158061088c575b61087d5761084e6001600160a01b0392610833836001600160a01b03165f5261087460205260405f2090565b906001600160a01b03166001600160a01b0319825416179055565b167f323983f5343e25b2c1396361b1b791be31484841fdfb95b8615cd02d910b1e085f80a36100186001606555565b63a63e8c6b60e01b5f5260045ffd5b50604051637e062a3560e11b8152602081600481875afa9081156108f5575f916108c6575b506001600160a01b0380831691161415610807565b6108e8915060203d6020116108ee575b6108e0818361061f565b81019061370b565b5f6108b1565b503d6108d6565b613720565b6001600160401b0381116105e35760051b60200190565b9080601f8301121561048e578135610928816108fa565b92610936604051948561061f565b81845260208085019260051b82010192831161048e57602001905b82821061095e5750505090565b8135815260209182019101610951565b9080601f8301121561048e578135610985816108fa565b92610993604051948561061f565b81845260208085019260051b82010192831161048e57602001905b8282106109bb5750505090565b6020809183356109ca816104d2565b8152019101906109ae565b9291906109e1816108fa565b936109ef604051958661061f565b602085838152019160051b810192831161048e57905b828210610a1157505050565b8135815260209182019101610a05565b9080601f8301121561048e578160206106ea933591016109d5565b606036600319011261048e57600435610a5481610563565b602435906001600160401b03821161048e5760c0600319833603011261048e57610a7c610640565b91806004013583526024810135602084015260448101356001600160401b03811161048e57610ab19060043691840101610911565b6040840152610ac2606482016105a9565b6060840152610ad3608482016104f2565b608084015260a4810135906001600160401b03821161048e576004610afb923692010161096e565b60a0830152604435916001600160401b03831161048e57610b23610018933690600401610a21565b91612bf4565b9181601f8401121561048e578235916001600160401b03831161048e576020808501948460051b01011161048e57565b3461048e57606036600319011261048e576004356001600160401b03811161048e5780360390606060031983011261048e57602435610b9781610563565b6044356001600160401b03811161048e57610bb6903690600401610b29565b919093610bc16136fa565b600484013590610182190181121561048e57610c5594610c5093610bec6004610c4994880101612de9565b95610c02610bfd6080890151613a30565b61372b565b6044610c0d88613617565b91013560208801519061016089015192610c25610640565b998a5260208a01526040890152606088015260808701525f60a087015236916109d5565b9083613a46565b613ad0565b6100186001606555565b3461048e57602036600319011261048e57600435610cbf55005b3461048e575f36600319011261048e576020610cbf54604051908152f35b908161018091031261048e5790565b3461048e57604036600319011261048e576004356001600160401b03811161048e57610cd6903690600401610c97565b602435610ce282612df4565b6001600160a01b031691610cf860208201612df4565b6001600160a01b031690610d0e60408201612df4565b6001600160a01b031690610d2460608201612df4565b6001600160a01b0316610d3960808301612df4565b6001600160a01b031660e083013560c084013560a0850135610d5e6101008701612dfe565b93610d6c6101208801612dfe565b95610d7a6101408901612dfe565b976101608101610d8991612e08565b99909a610d9461064f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015263ffffffff166101408501523690610de692610699565b61016083015261001891339190613651565b3461048e57602036600319011261048e576004356001600160401b03811161048e57610e28903690600401610c97565b610e306136fa565b60ff61086b5460e01c16610fe857610cbf5463ffffffff1690610140810190610e6b83610e5c84612dfe565b63ffffffff9182169116101590565b610fd95761012081019263ffffffff80610e8486612dfe565b9216911610610fca57610e9f610e9a3683612286565b613617565b90610eb3825f5261087260205260405f2090565b54610fbc57610ef5610eef7f3cee3e290f36226751cd0b3321b213890fe9c768e922f267fa6111836ce05c32935f5261087260205260405f2090565b60019055565b6060810135610faf60808301359260a08101359060c081013560e082013597610f2c610f266101008501359b612dfe565b91612dfe565b604084013591843593610f5b610f56610f4f602089013598610160810190612e08565b3691610699565b613c7b565b966040519a8b9a8b969394610120989563ffffffff9485939d9c9b98946101408b019e8b5260208b015260408a015260608901521660808701521660a085015260c084015260e08301526101008201520152565b0390a36100186001606555565b624be79160e21b5f5260045ffd5b63d642b7d960e01b5f5260045ffd5b630277ae7b60e21b5f5260045ffd5b633d90fc5560e11b5f5260045ffd5b3461048e57602036600319011261048e57600435611014816104d2565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680301461048e576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54160361048e5761107d613d70565b6110856125dc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110b95750610018906146cb565b6040516352d1902d60e01b8152906020826004816001600160a01b0387165afa5f928161111f575b506110ea575f80fd5b6100189261111a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f9414612e5d565b6145fa565b61114291935060203d602011611149575b61113a818361061f565b810190613841565b915f6110e1565b503d611130565b602060031982011261048e57600435906001600160401b03821161048e5761117a91600401610b29565b9091565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106111d457505050505090565b9091929394602080611205600193603f198682030187526040838b518051151584520151918185820152019061117e565b970193019301919392906111c5565b3461048e5761122236611150565b61122b816108fa565b91611239604051938461061f565b818352601f19611248836108fa565b015f5b8181106112bd5750505f5b82811061126f576040518061126b86826111a2565b0390f35b806112b761127f60019387612e64565b515f8061128d858989612e78565b9061129d60405180938193612e8f565b0390305af4906112ab612e9c565b60208201529015159052565b01611256565b6020906040516112cc816105c8565b5f81526060838201528282880101520161124b565b3461048e575f36600319011261048e5760206040516301e133808152f35b3461048e57604036600319011261048e5760243560043561131e613d70565b6113266136fa565b61086c54680100000000000000008110156105e35780600163ffffffff920161086c558361135382612b0c565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b604036600319011261048e5760043561139f816104d2565b6024356001600160401b03811161048e576113be9036906004016106cf565b906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680301461048e576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54160361048e57611428613d70565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561145c5761001891506146cb565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f91816114be575b5061148c575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0361048e57610018916001916145fa565b6114d891925060203d6020116111495761113a818361061f565b905f611483565b3461048e575f36600319011261048e5760206001600160a01b036108695416604051908152f35b3461048e575f36600319011261048e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361048e5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b61012036600319011261048e576115886004356104d2565b6115936024356104d2565b61159e6044356104d2565b6115a6610553565b506115b260c435610563565b60e4356001600160401b03811161048e576107439036906004016106cf565b9181601f8401121561048e578235916001600160401b03831161048e576020838186019501011161048e57565b3461048e5760c036600319011261048e5760043561161b816104d2565b6024356044359160643561162e816104d2565b6084356001600160401b03811161048e5761164d9036906004016115d1565b9160a435956001600160401b03871161048e576116716100189736906004016115d1565b969095612f1e565b3461048e575f36600319011261048e57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461048e57604036600319011261048e57602435600435600382101561048e576116e282612e4e565b5f5261087260205260405f20555f80f35b3461048e575f36600319011261048e57602060ff61086b5460e81c166040519015158152f35b3461048e575f36600319011261048e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b606090600319011261048e5760043561176b81610563565b90602435611778816104d2565b906044356106ea816104d2565b3461048e576117e261179636611753565b5f5493929091906117c860ff600887901c16156117b2565b1590565b8096819761185c575b811561183c575b50612e5d565b846117d9600160ff195f5416175f55565b61182557612f95565b6117e857005b6117f661ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b61183761010061ff00195f5416175f55565b612f95565b303b1591508161184e575b505f6117c2565b60ff1660011490505f611847565b600160ff82161091506117bb565b3461048e575f36600319011261048e5760206040517f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f8152f35b3461048e575f36600319011261048e57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461048e575f36600319011261048e576118fc613d70565b5f6001600160a01b03610c8c546001600160a01b03198116610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b8015150361048e57565b604435906104f08261193f565b3461048e57602036600319011261048e577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae4921960206004356119968161193f565b61199e613d70565b6119a66136fa565b151561086b547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e81b8360e81b1691161761086b55604051908152a16001606555005b9060206106ea92818152019061117e565b3461048e57602036600319011261048e576004356001600160401b03811161048e57611a2d9036906004016115d1565b611a35613d70565b611a3d6136fa565b810160408282031261048e57813591611a55836104d2565b6020810135916001600160401b03831161048e576001600160a01b0392611a7c92016106cf565b91168015611b13576004825110611b04575f8083516020850182855af190611aa2612e9c565b9115611af5577f41a941b8313293eca483f41d8faa2498e005e6d7700e2e93f41d3cb7e70a897d611adc61126b94604051918291826119ec565b0390a2611ae96001606555565b604051918291826119ec565b6348ebf0a960e11b5f5260045ffd5b637f5e6be560e01b5f5260045ffd5b634e93b52160e11b5f5260045ffd5b61016036600319011261048e57600435611b3b816104d2565b602435611b47816104d2565b60443591611b54836104d2565b606435611b60816104d2565b60843560e43560c43560a435611b75836104d2565b611b7d610571565b93611b8661057f565b9561014435996001600160401b038b1161048e57611bab6100189b36906004016115d1565b9a9099613090565b61018036600319011261048e57600435611bcc816104d2565b602435611bd8816104d2565b60443591611be5836104d2565b606435611bf1816104d2565b60843560a43560c435611c026104e3565b90611c0b610571565b92611c1461057f565b94611c1d61058d565b96610164359a6001600160401b038c1161048e57611c426100189c36906004016115d1565b9b909a6130b5565b3461048e57606036600319011261048e576020611c78600435611c6c816104d2565b602435604435916131db565b604051908152f35b3461048e57606036600319011261048e576004356024356001600160401b03811161048e57611cb39036906004016115d1565b906044356001600160401b03811161048e57611cd39036906004016115d1565b919093611cde61348b565b604051611d0381611cf56020820194898887613219565b03601f19810183528261061f565b51902003611d94575f93611d1e828695611d279401906127f9565b92810190613236565b51611d5e611d3c335b6001600160a01b031690565b91611cf560405193849260208401966337bfd2c960e21b885260248501613300565b5190305af4611d6b612e9c565b9015611d7357005b60405163b8fe37a760e01b8152908190611d9090600483016119ec565b0390fd5b630f0c8f4760e11b5f5260045ffd5b3461048e5760c036600319011261048e576024356004356044356001600160401b03811161048e57611dd9903690600401610911565b606435611de581610563565b60843591611df2836104d2565b60a435946001600160401b03861161048e57611e1561001896369060040161096e565b94613322565b3461048e57602036600319011261048e57600435611e37613d70565b611e3f6136fa565b611e4881612b0c565b611e80576001815f80935501557f7c1af0646963afc3343245b103731965735a893347bfa0d58a5dc77a77ae691c5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b6101a036600319011261048e5760443560243560043560643560843560a4356101043560e43560c435611ec461057f565b93611ecd61058d565b95611ed661059b565b97610184359b6001600160401b038d1161048e57611efb6100189d36906004016115d1565b9c909b613333565b3461048e575f36600319011261048e5760206001600160a01b03610c8c5416604051908152f35b3461048e5760e036600319011261048e576004356001600160401b03811161048e57611f5a903690600401610c97565b602435604435916064356084359060a4356001600160401b03811161048e57611f879036906004016115d1565b92909160c435966001600160401b03881161048e57611fad6100189836906004016115d1565b9790966133ab565b3461048e57611fc336611753565b909160ff5f5460081c161561048e57611ff99063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192612008828561061f565b600984526020808501926820a1a927a9a996ab1960b91b845261202d8151918261061f565b6005815201640312e302e360dc1b815260ff5f5460081c161561048e576005612077936100189651902091209061047f556104805561206a614103565b612072614112565b614126565b61417e565b3461048e57602036600319011261048e577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e60206004356120bc8161193f565b6120c4613d70565b6120cc6136fa565b151561086b547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e01b8360e01b1691161761086b55604051908152a16001606555005b3461048e575f36600319011261048e576020611c7861348b565b3461048e575f36600319011261048e57602063ffffffff61086b5460c01c16604051908152f35b3461048e57604036600319011261048e5760043560243561217382614318565b6001600160a01b03821691825f526108736020526121a460405f20336001600160a01b03165f5260205260405f2090565b5492831561223d576121ed5f916121ba84614318565b6121d733916001600160a01b03165f5261087360205260405f2090565b906001600160a01b03165f5260205260405f2090565b5561220d836121fe611d3084613a30565b61220785613a30565b906141d6565b60405192835233927f6c172ea51018fb2eb2118f3f8a507c4df71eb519b8c0052834dc3c920182fef490602090a4005b6336542bf760e21b5f5260045ffd5b3461048e575f36600319011261048e5760206040517ffafff4a89cb727c4f11a474c303e417b3057d7e735633ec7a1aab4d27ff2283c8152f35b9190916101808184031261048e5761229c61064f565b92813584526020820135602085015260408201356040850152606082013560608501526080820135608085015260a082013560a085015260c082013560c085015260e082013560e085015261010082013561010085015261230061012083016105a9565b61012085015261231361014083016105a9565b6101408501526101608201356001600160401b03811161048e5761233792016106cf565b610160830152565b3461048e57606036600319011261048e576004356001600160401b03811161048e5760c0600319823603011261048e57612377610640565b81600401356001600160401b03811161048e5761239a9060043691850101612286565b815260248201356020820152604482013560408201526064820135606082015260848201356001600160401b03811161048e57610018926123e360a492600436918401016106cf565b6080840152013560a08201526024356123fa611949565b91613bd8565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061243257505050505090565b9091929394602080612450600193603f19868203018752895161117e565b97019301930191939290612423565b3461048e5761246d36611150565b9061247782613499565b915f5b81811061248f576040518061126b8682612400565b5f8061249c838587612e78565b906124ac60405180938193612e8f565b0390305af46124b9612e9c565b90156124df57906001916124cd8287612e64565b526124d88186612e64565b500161247a565b604481511061048e5780602480600461048e94015183010191016134e2565b61018036600319011261048e576044356024356004356064356084356101043560e43560c43560a43561253084610563565b61253861057f565b9461254161058d565b96610164359a6001600160401b038c1161048e576125666100189c36906004016115d1565b9b909a613544565b3461048e5760206125ac6001600160a01b03612589366107b0565b91165f52610873835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b3461048e575f36600319011261048e5760206001600160a01b0361086a5416604051908152f35b604051906125eb60208361061f565b5f808352366020840137565b3461048e575f36600319011261048e5761126b6126126125dc565b60405191829160208352602083019061117e565b3461048e575f36600319011261048e576020604051701d6329f1c35ca4bfabb9f56100000000008152f35b3461048e5760c036600319011261048e576004356024356044356064356084356001600160401b03811161048e5761268d9036906004016115d1565b60a493919335906001600160401b03821161048e577f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26946126d561272a9336906004016115d1565b9290916126e06136fa565b6126e98a614318565b61271e8a8a89896126f861348b565b612703368989610699565b936001600160a01b03612717368d8d610699565b9616613c90565b60405196879687612eeb565b0390a36001606555005b3461048e57602036600319011261048e576004355f52610872602052602060405f2054604051908152f35b3461048e5760e036600319011261048e5760043561277c816104d2565b60243590604435608435606435612792826104d2565b60a4356001600160401b03811161048e576127b19036906004016106cf565b9260c435956001600160401b03871161048e576127d56100189736906004016106cf565b956135ff565b3461048e575f36600319011261048e57602060405163ffffffff8152f35b9060208282031261048e5781356001600160401b03811161048e576106ea9201612286565b3461048e57602036600319011261048e576004356001600160401b03811161048e57611c78610e9a6020923690600401612286565b3461048e575f36600319011261048e57602060ff61086b5460e01c166040519015158152f35b3461048e575f36600319011261048e5760206040516ec097ce7bc90715b34b9f10000000008152f35b3461048e57602036600319011261048e576128d26004356128c2816104d2565b6128ca613d70565b6120726136fa565b6001606555005b3461048e57606036600319011261048e576004356001600160401b03811161048e57612909903690600401612286565b60243590604435906129196136fa565b60ff61086b5460e01c16610fe85761294f61293c61014083015163ffffffff1690565b610cbf5463ffffffff9081169116101590565b806129b0575b6129a157610c559261296682613617565b60c083015160208401519061016085015192612980610640565b958652602086015260408501526060840152608083015260a0820152613b4c565b630c3a9b9d60e41b5f5260045ffd5b506129be6040820151613a30565b6001600160a01b0316331415612955565b3461048e5760e036600319011261048e5760243560043560443560843560643560a4356001600160401b03811161048e57612a0e9036906004016106cf565b9260c435956001600160401b03871161048e57612a326100189736906004016106cf565b956136b5565b602036600319011261048e576004356001600160401b03811161048e575f612a65819236906004016106cf565b612a6d6136fa565b60208151910134305af1612a7f612e9c565b501561048e576001606555005b61016036600319011261048e576044356024356004356064356101043560e43560c43560a435608435612abe85610563565b6101243595612acc87610563565b61014435996001600160401b038b1161048e57612af06100189b36906004016115d1565b9a90996136d6565b634e487b7160e01b5f52603260045260245ffd5b61086c54811015612b2a5761086c5f52600360205f20910201905f90565b612af8565b3461048e57602036600319011261048e5760043561086c5481101561048e57612b59604091612b0c565b506001815491015482519182526020820152f35b3461048e57602036600319011261048e57600435610cbe55005b3461048e57602036600319011261048e57600435612ba4816104d2565b612bac613d70565b6001600160a01b0381161561048e5761001890613d85565b3461048e57602036600319011261048e576128d2600435612be4816104d2565b612bec613d70565b6120776136fa565b9190612bfe6136fa565b60808101612c16610bfd82516001600160a01b031690565b60208201928351612c2561348b565b03612d1d576117ae612c4591846001612c3d89612b0c565b500154613761565b612d0e5763ffffffff7ff4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e91612d016060850195612c8f612c89885163ffffffff1690565b896137e5565b8051958051612ceb612cdd612ccc604085019a8c612cb38d51915163ffffffff1690565b8a516001600160a01b03169160a089019788519461385d565b9351945199519a5163ffffffff1690565b95516001600160a01b031690565b90519086604051978897169b1699339487612d9b565b0390a46104f06001606555565b63582f497d60e11b5f5260045ffd5b633d23e4d160e11b5f5260045ffd5b90602080835192838152019201905f5b818110612d495750505090565b8251845260209384019390920191600101612d3c565b90602080835192838152019201905f5b818110612d7c5750505090565b82516001600160a01b0316845260209384019390920191600101612d6f565b949695919260a0946001600160a01b03612dc78196612ddb958a5260c060208b015260c08a0190612d2c565b921660408801528682036060880152612d5f565b951515608085015216910152565b6106ea903690612286565b356106ea816104d2565b356106ea81610563565b903590601e198136030182121561048e57018035906001600160401b03821161048e5760200191813603831361048e57565b634e487b7160e01b5f52602160045260245ffd5b60031115612e5857565b612e3a565b1561048e57565b8051821015612b2a5760209160051b010190565b90821015612b2a5761117a9160051b810190612e08565b908092918237015f815290565b3d15612ec6573d90612ead8261067e565b91612ebb604051938461061f565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b94929093612f10926106ea979587526020870152608060408701526080860191612ecb565b926060818503910152612ecb565b92957f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26956001600160a01b039584612f8285612f90979c969b8a612f6061348b565b91168094612f6f368989610699565b92612f7b368c8c610699565b948d613c90565b604051978897169a87612eeb565b0390a3565b91909160ff5f5460081c161561048e57612fae33613d85565b60ff5f5460081c161561048e57612fe29063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192612ff1828561061f565b600984526020808501926820a1a927a9a996ab1960b91b84526130168151918261061f565b6005815201640312e302e360dc1b815260ff5f5460081c161561048e576005612077936130539651902091209061047f556104805561206a614103565b6104f042610cbf55565b634e487b7160e01b5f52601160045260245ffd5b9063ffffffff8091169116019063ffffffff821161308b57565b61305d565b96949290916104f09b9a99989694926130b363ffffffff610cbf54169889613071565b985b9593919b999897969492909b6130c96136fa565b61086b5460ff8160e81c166131cc5760c01c63ffffffff16966130eb886135e8565b6131129063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b61311a61065f565b9d6001600160a01b038f921682526001600160a01b031690602001526001600160a01b031660408d01526001600160a01b031660608c015260808b015260a08a015260c08901526001600160a01b031660e088015263ffffffff16610100870152610120860190613190919063ffffffff169052565b63ffffffff1661014085015263ffffffff1661016084015236906131b392610699565b6101808201526131c290613e2f565b6104f06001606555565b630b4cba3160e31b5f5260045ffd5b916040519160208301936bffffffffffffffffffffffff199060601b168452603483015260548201526054815261321360748261061f565b51902090565b93929160209161323191604087526040870191612ecb565b930152565b9081602091031261048e5760405190602082018281106001600160401b038211176105e35760405235815290565b906101806101606106ea93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c085015260e081015160e08501526101008101516101008501526132de61012082015161012086019063ffffffff169052565b6101408181015163ffffffff169085015201519181610160820152019061117e565b61331860409295949395606083526060830190613264565b9460208201520152565b90613330959493929161385d565b50565b9c9a99989796959493929190966133486136fa565b60ff61086b5460e81c166131cc57613361908e336131db565b96604051809e613370826105e8565b81526020015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015263ffffffff16610120860152613190565b9792909596949391966133bc6136fa565b60ff61086b5460e01c16610fe8576133da61293c6101408b01612dfe565b8061346c575b6129a1576131c298613461613467976133fc610e9a3685612286565b99613405610640565b9a6134103686612286565b8c5260208c01528560408c01528660608c015261342e36868b610699565b60808c015260a08b01526134596134458435613a30565b9860e0610100860135950135953691610699565b963691610699565b95613c90565b613b4c565b5061347a60408a0135613a30565b6001600160a01b03163314156133e0565b610cbe54806106ea57504690565b906134a3826108fa565b6134b0604051918261061f565b82815280926134c1601f19916108fa565b01905f5b8281106134d157505050565b8060606020809385010152016134c5565b60208183031261048e578051906001600160401b03821161048e570181601f8201121561048e578051906135158261067e565b92613523604051948561061f565b8284526020838301011161048e57815f9260208093018386015e8301015290565b9b999897969492909593916135576136fa565b61086b5460ff8160e81c166131cc5760c01c63ffffffff1696613579886135e8565b6135a09063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6135a861065f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff90811661010088015216610120860152613190565b63ffffffff1663ffffffff811461308b5760010190565b9291906001600160a01b036104f09796951693613c90565b61361f61348b565b613213604051809261363d6020830195604087526060840190613264565b90604083015203601f19810183528261061f565b91909161365c6136fa565b60ff61086b5460e01c16610fe85761367f61293c61014083015163ffffffff1690565b80613696575b6129a1576131c29261296682613617565b506136a46040820151613a30565b6001600160a01b0316331415613685565b906001600160a01b036104f09796959493926136d081614318565b16613c90565b9a989795929693909491966136f563ffffffff610cbf54169788613071565b976135575b60026065541461048e576002606555565b9081602091031261048e57516106ea816104d2565b6040513d5f823e3d90fd5b60207fbf5a3af3d17ceac90c3b9679ade47cac7b436a621a5d486daae6ae96dfd511a1916001600160a01b0360405191168152a1565b6106ea92916040516137dc81611cf5602082019460208652805160408401526020810151606084015260a06137a6604083015160c06080870152610100860190612d2c565b606083015163ffffffff168583015260808301516001600160a01b031660c0860152910151838203603f190160e0850152612d5f565b51902091614217565b6137f0600291612b0c565b500162ffffff8260081c1691825f5281602052600160ff60405f205492161b808092161461383257825f528160205260405f205417915f5260205260405f2055565b63954476d960e01b5f5260045ffd5b9081602091031261048e575190565b9190820180921161308b57565b91959495939092935f9681519081815103613a2157816138dc575b50505082613887575b50505050565b63ffffffff6138be611d3083611d307ffa7fa7cf6d7dde5f9be65a67e6a1a747e7aa864dcd2d793353c722d80fbbb35795886142da565b6040805195865233602087015290959190911693a45f808080613881565b6040516370a0823160e01b81523060048201526020816024816001600160a01b0389165afa9081156108f5575f91613a02575b505f5f5b84811061392257505050613878565b61392c8187612e64565b5161393a575b600101613913565b90613950906139498388612e64565b5190613850565b908282116139f35761398a6117ae61397861396b8488612e64565b516001600160a01b031690565b613982848a612e64565b51908a614268565b15613932579a5061399b8b86612e64565b516139e96139e18d6139cc61396b6139c58c6001600160a01b03165f5261087360205260405f2090565b9289612e64565b6001600160a01b03165f5260205260405f2090565b918254613850565b905560019a613932565b632ddaa83160e11b5f5260045ffd5b613a1b915060203d6020116111495761113a818361061f565b5f61390f565b6319a5316760e31b5f5260045ffd5b6001600160a01b0390613a4281614318565b1690565b916117ae91613aca938051906137dc613a886040613a6261348b565b9301519460405194613a7386610604565b85526020850193845260408501958652612b0c565b505493604051928391613aaf602084019660208852516060604086015260a0850190613264565b9151606084015251608083015203601f19810183528261061f565b612d0e57565b805163ffffffff6101208201511663ffffffff610cbf54911610610fca576020820151906002613b09835f5261087260205260405f2090565b5414613b3d576104f0926002613b2a6001945f5261087260205260405f2090565b55613b3860025f84846143c5565b6144c7565b630479306360e51b5f5260045ffd5b90815163ffffffff6101208201511663ffffffff610cbf54911610610fca576020830151926001613b86855f5261087260205260405f2090565b5403613bd1576001935b6002613ba5825f5261087260205260405f2090565b5414613b3d576104f0945f946002613bc9613b38945f5261087260205260405f2090565b5584846143c5565b5f93613b90565b919091805190613bf061012083015163ffffffff1690565b63ffffffff610cbf54911610610fca5760208101518315613c535760025b6002613c23835f5261087260205260405f2090565b5414613b3d576104f095613c4c613c46613b38945f5261087260205260405f2090565b60029055565b84846143c5565b6001613c68825f5261087260205260405f2090565b5403613c75576001613c0e565b5f613c0e565b80519081613c895750505f90565b6020012090565b93926042936104f0979660208151910120906040519260208401947f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f86526040850152856060850152608084015260a083015260c082015260c08152613cf760e08261061f565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e855260408401526060830152608082015260808152613d4f60a08261061f565b519020906040519161190160f01b835260028301526022820152209061472c565b6001600160a01b03610c8c5416330361048e57565b6001600160a01b0380610c8c54921691826001600160a01b0319821617610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b9190820391821161308b57565b9692610140989563ffffffff9586949285936106ea9e9d9a958c5260208c015260408b015260608a01521660808801521660a08601521660c084015260e083015261010082015281610120820152019061117e565b613e398151614318565b606081018051156140f557610cbf54610120830191613e68613e5f845163ffffffff1690565b63ffffffff1690565b8083109081156140bc575b506140ad57610140840193613e8c855163ffffffff1690565b63ffffffff613ebd817f00000000000000000000000000000000000000000000000000000000000000001686613850565b91161161409e5761016081015163ffffffff16928380614058575b505060408101918251926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168094148061404f575b15613fff5760808301513403613ff057833b1561048e575f60049460405195868092630d0e30db60e41b825234905af19081156108f5577f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad394613fd192613fd6575b505b5191519260808101519060a081015160c082015197613fb0613fa56101008501519b5163ffffffff1690565b9b5163ffffffff1690565b83519b60208501519361018060e0870151960151966040519a8b9a8b613dda565b0390a4565b80613fe45f613fea9361061f565b80610484565b5f613f77565b636452a35d60e01b5f5260045ffd5b925034613ff057613fd18361404a61403b611d307f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad39751613a30565b60808601519030903390614818565b613f79565b50341515613f15565b6301e133801015614085575b5060e081015115614076575f80613ed8565b63495d907f60e01b5f5260045ffd5b9263ffffffff61409792941690613071565b915f614064565b63582e388960e01b5f5260045ffd5b63f722177f60e01b5f5260045ffd5b6140c7915083613dcd565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016105f613e73565b6231010160e51b5f5260045ffd5b60ff5f5460081c161561048e57565b60ff5f5460081c161561048e576001606555565b6001600160a01b0316801561416f57806001600160a01b0319610869541617610869557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b63ba97b39d60e01b5f5260045ffd5b6001600160a01b031680156141c757806001600160a01b031961086a54161761086a557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b635b03092b60e11b5f5260045ffd5b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526104f09161421260648361061f565b614859565b929091905f915b8451831015614260576142318386612e64565b51908181101561424f575f52602052600160405f205b92019161421e565b905f52602052600160405f20614247565b915092501490565b60405163a9059cbb60e01b60208281019182526001600160a01b039094166024830152604482019490945290925f916142a48160648101611cf5565b519082855af1903d5f5190836142bb575b50505090565b919250906142d057503b15155b5f80806142b5565b60019150146142c8565b604080519182526001600160a01b039290921660208201527fb6e6ae61a8fa98a339088353bc7a76c8c580b2efd09210a80bfccabe05d9ae479190a1565b60a01c61432157565b6379ec0ed760e11b5f5260045ffd5b61433982612e4e565b52565b9a98969492909c9b99979593916101e08c019d8c5260208c015260408b015260608a0152608089015263ffffffff1660a088015263ffffffff1660c087015260e08601526101008501526101208401526101408301528051610160830152602081015161018083015260408101516101a083015260600151906143be82612e4e565b6101c00152565b7f44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208909392936060830151613fd160808501519260a08601519660c08701519660a08301519860e0820151986101008301519a61442961012085015163ffffffff1690565b61014085015163ffffffff169160408601519386519561448d61445561016060208b01519a0151613c7b565b9960608c01519b604061446b6080830151613c7b565b91015190602061447961066f565b9e8f528e015260408d015260608c01614330565b6040519c8d9c8d61433c565b906106ea94936080936001600160a01b0380931684526020840152166040820152816060820152019061117e565b9060806144d5910151613a30565b9160806040830151926144eb6060820151613a30565b92846001600160a01b03871691856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684145f146145dc5750156145c8575b61454691506001600160a01b0385166148ed565b01519081511515806145be575b61455d5750505050565b6001600160a01b0316803b1561048e57614593935f809460405196879586948593633a5be8cb60e01b8552339160048601614499565b03925af180156108f5576145aa575b808080613881565b80613fe45f6145b89361061f565b5f6145a2565b50803b1515614553565b6145d59130903390614818565b5f84614532565b906145f1576145ec923390614818565b614546565b6145ec926141d6565b91614604836146cb565b6001600160a01b0383167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115908115916146c3575b50614647575050565b613330915f806040519361465c60608661061f565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46146bd612e9c565b91614a94565b90505f61463e565b803b1561048e576001600160a01b03166001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b9190916147398284614a63565b9390926005851015612e585761476294159384614802575b508315614777575b50505015151590565b61476857565b63938a182160e01b5f5260045ffd5b5f935090611cf56147af8594936040519283916020830195630b135d3f60e11b8752602484015260406044840152606483019061117e565b51915afa6147bb612e9c565b816147f4575b816147d0575b505f8080614759565b90506147ed630b135d3f60e11b9160208082518301019101613841565b145f6147c7565b9050602081511015906147c1565b6001600160a01b0384811691161493505f614751565b9091926001600160a01b036104f09481604051956323b872dd60e01b602088015216602486015216604484015260648301526064825261421260848361061f565b906001600160a01b036148b492165f806040519361487860408661061f565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16146bd612e9c565b80519081159182156148ca575b50501561048e57565b819250906020918101031261048e57602001516148e68161193f565b5f806148c1565b906001600160a01b038216803b1580156149ba575b1561498657506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b1561048e57604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156108f5576104f093614972575b50614a3b565b80613fe45f6149809361061f565b5f61496c565b6104f092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166141d6565b506149c4816149c9565b614902565b803b6149d48161067e565b906149e2604051928361061f565b8082525f6020830180943c5190516001600160e81b03198116919060038210614a1c575b50506001600160e81b03191661ef0160f01b1490565b6001600160e81b0319600392830390921b82901b161690505f80614a06565b81471061048e575f8080936001600160a01b038294165af1614a5b612e9c565b501561048e57565b9060418151145f14614a8b5761117a91602082015190606060408401519301515f1a90614abf565b50505f90600290565b91925015614ab057815115614aa7575090565b3b1561048e5790565b50805190811561048e57602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614b2f576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa156108f5575f516001600160a01b03811615614b2757905f90565b505f90600190565b505050505f9060039056fea26469706673582212202b671488600080cf524ad33bb56be9c3637f713ddb9d64f8ad71d6517d3feda164736f6c634300081e0033"}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_wrappedNativeTokenAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"EMPTY_MSG_BYTES","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_RELAYER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EMPTY_REPAYMENT_CHAIN_ID","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"INFINITE_FILL_DEADLINE","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_EXCLUSIVITY_PERIOD_SECONDS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_TRANSFER_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"OFT_DST_EID","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"OFT_FEE_CAP","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SLOW_FILL_MAX_TOKENS_TO_SEND","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPDATE_BYTES32_DEPOSIT_DETAILS_HASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPDATE_DEPOSIT_DETAILS_HASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"__SpokePool_init","inputs":[{"name":"_initialDepositId","type":"uint32","internalType":"uint32"},{"name":"_crossDomainAdmin","type":"address","internalType":"address"},{"name":"_withdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"callback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"chainId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"bytes32","internalType":"bytes32"},{"name":"refundAddress","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"crossDomainAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositDeprecated_5947912356","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int64","internalType":"int64"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int64","internalType":"int64"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositNow","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"fillDeadlineOffset","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositQuoteTimeBuffer","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"depositV3","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositV3Now","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"fillDeadlineOffset","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"distributeRelayerRefunds","inputs":[{"name":"_chainId","type":"uint256","internalType":"uint256"},{"name":"amountToReturn","type":"uint256","internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","internalType":"uint256[]"},{"name":"leafId","type":"uint32","internalType":"uint32"},{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddresses","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"emergencyDeleteRootBundle","inputs":[{"name":"rootBundleId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeExternalCall","inputs":[{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"executeRelayerRefundLeaf","inputs":[{"name":"rootBundleId","type":"uint32","internalType":"uint32"},{"name":"relayerRefundLeaf","type":"tuple","internalType":"struct SpokePoolInterface.RelayerRefundLeaf","components":[{"name":"amountToReturn","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","internalType":"uint256[]"},{"name":"leafId","type":"uint32","internalType":"uint32"},{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddresses","type":"address[]","internalType":"address[]"}]},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeSlowRelayLeaf","inputs":[{"name":"slowFillLeaf","type":"tuple","internalType":"struct V3SpokePoolInterface.V3SlowFill","components":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"}]},{"name":"rootBundleId","type":"uint32","internalType":"uint32"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fill","inputs":[{"name":"orderId","type":"bytes32","internalType":"bytes32"},{"name":"originData","type":"bytes","internalType":"bytes"},{"name":"fillerData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillDeadlineBuffer","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"fillRelay","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"},{"name":"repaymentAddress","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillRelayV3Internal","inputs":[{"name":"relayExecution","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayExecutionParams","components":[{"name":"relay","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"relayHash","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"}]},{"name":"relayer","type":"bytes32","internalType":"bytes32"},{"name":"isSlowFill","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillRelayWithUpdatedDeposit","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"},{"name":"repaymentAddress","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fillStatuses","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fillV3Relay","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayDataLegacy","components":[{"name":"depositor","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"exclusiveRelayer","type":"address","internalType":"address"},{"name":"inputToken","type":"address","internalType":"address"},{"name":"outputToken","type":"address","internalType":"address"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"name":"repaymentChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCurrentTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"address","internalType":"address"},{"name":"refundAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUnsafeDepositId","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getV3RelayHash","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_initialDepositId","type":"uint32","internalType":"uint32"},{"name":"_crossDomainAdmin","type":"address","internalType":"address"},{"name":"_hubPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"numberOfDeposits","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"oftMessengers","inputs":[{"name":"l2TokenAddress","type":"address","internalType":"address"}],"outputs":[{"name":"l2OftMessenger","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pauseDeposits","inputs":[{"name":"pause","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseFills","inputs":[{"name":"pause","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pausedDeposits","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pausedFills","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"relayRootBundle","inputs":[{"name":"relayerRefundRoot","type":"bytes32","internalType":"bytes32"},{"name":"slowRelayRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relayerRefund","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestSlowFill","inputs":[{"name":"relayData","type":"tuple","internalType":"struct V3SpokePoolInterface.V3RelayData","components":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rootBundles","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"slowRelayRoot","type":"bytes32","internalType":"bytes32"},{"name":"relayerRefundRoot","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"setChainId","inputs":[{"name":"_chainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCrossDomainAdmin","inputs":[{"name":"newCrossDomainAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCurrentTime","inputs":[{"name":"time","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFillStatus","inputs":[{"name":"relayHash","type":"bytes32","internalType":"bytes32"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOftMessenger","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"messenger","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWithdrawalRecipient","inputs":[{"name":"newWithdrawalRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"speedUpDeposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"speedUpV3Deposit","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tryMulticall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct MultiCallerUpgradeable.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unsafeDeposit","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"inputToken","type":"bytes32","internalType":"bytes32"},{"name":"outputToken","type":"bytes32","internalType":"bytes32"},{"name":"inputAmount","type":"uint256","internalType":"uint256"},{"name":"outputAmount","type":"uint256","internalType":"uint256"},{"name":"destinationChainId","type":"uint256","internalType":"uint256"},{"name":"exclusiveRelayer","type":"bytes32","internalType":"bytes32"},{"name":"depositNonce","type":"uint256","internalType":"uint256"},{"name":"quoteTimestamp","type":"uint32","internalType":"uint32"},{"name":"fillDeadline","type":"uint32","internalType":"uint32"},{"name":"exclusivityParameter","type":"uint32","internalType":"uint32"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"verifyUpdateV3DepositMessage","inputs":[{"name":"depositor","type":"address","internalType":"address"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"verifyUpdateV3DepositMessageBytes32","inputs":[{"name":"depositor","type":"bytes32","internalType":"bytes32"},{"name":"depositId","type":"uint256","internalType":"uint256"},{"name":"originChainId","type":"uint256","internalType":"uint256"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"depositorSignature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"withdrawalRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"wrappedNativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract WETH9Interface"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AdminExternalCallExecuted","inputs":[{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BridgedToHubPool","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ClaimedRelayerRefund","inputs":[{"name":"l2TokenAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"refundAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"EmergencyDeletedRootBundle","inputs":[{"name":"rootBundleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EnabledDepositRoute","inputs":[{"name":"originToken","type":"address","indexed":true,"internalType":"address"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ExecutedRelayerRefundRoot","inputs":[{"name":"amountToReturn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"refundAmounts","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"rootBundleId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"leafId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"l2TokenAddress","type":"address","indexed":false,"internalType":"address"},{"name":"refundAddresses","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"deferredRefunds","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FilledRelay","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"repaymentChainId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"relayer","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"depositor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"messageHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"relayExecutionInfo","type":"tuple","indexed":false,"internalType":"struct V3SpokePoolInterface.V3RelayExecutionEventInfo","components":[{"name":"updatedRecipient","type":"bytes32","internalType":"bytes32"},{"name":"updatedMessageHash","type":"bytes32","internalType":"bytes32"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}]}],"anonymous":false},{"type":"event","name":"FilledV3Relay","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"repaymentChainId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"relayer","type":"address","indexed":true,"internalType":"address"},{"name":"depositor","type":"address","indexed":false,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"relayExecutionInfo","type":"tuple","indexed":false,"internalType":"struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo","components":[{"name":"updatedRecipient","type":"address","internalType":"address"},{"name":"updatedMessage","type":"bytes","internalType":"bytes"},{"name":"updatedOutputAmount","type":"uint256","internalType":"uint256"},{"name":"fillType","type":"uint8","internalType":"enum V3SpokePoolInterface.FillType"}]}],"anonymous":false},{"type":"event","name":"FundsDeposited","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"quoteTimestamp","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"depositor","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"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":"PausedDeposits","inputs":[{"name":"isPaused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PausedFills","inputs":[{"name":"isPaused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PreLeafExecuteHook","inputs":[{"name":"token","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RelayedRootBundle","inputs":[{"name":"rootBundleId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"relayerRefundRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"slowRelayRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RequestedSlowFill","inputs":[{"name":"inputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"outputToken","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"depositor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"recipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"messageHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RequestedSpeedUpDeposit","inputs":[{"name":"updatedOutputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"depositId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositor","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"updatedRecipient","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"updatedMessage","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"depositorSignature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RequestedSpeedUpV3Deposit","inputs":[{"name":"updatedOutputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"updatedRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"updatedMessage","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"depositorSignature","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RequestedV3SlowFill","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"originChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"depositor","type":"address","indexed":false,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SetOFTMessenger","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"messenger","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetWithdrawalRecipient","inputs":[{"name":"newWithdrawalRecipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetXDomainAdmin","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensBridged","inputs":[{"name":"amountToReturn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"leafId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"l2TokenAddress","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V3FundsDeposited","inputs":[{"name":"inputToken","type":"address","indexed":false,"internalType":"address"},{"name":"outputToken","type":"address","indexed":false,"internalType":"address"},{"name":"inputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"outputAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"destinationChainId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"depositId","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"quoteTimestamp","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fillDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"exclusivityDeadline","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"},{"name":"exclusiveRelayer","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ClaimedMerkleLeaf","inputs":[]},{"type":"error","name":"DepositsArePaused","inputs":[]},{"type":"error","name":"DisabledRoute","inputs":[]},{"type":"error","name":"ExpiredFillDeadline","inputs":[]},{"type":"error","name":"ExternalCallExecutionFailed","inputs":[]},{"type":"error","name":"FillsArePaused","inputs":[]},{"type":"error","name":"InsufficientSpokePoolBalanceToExecuteLeaf","inputs":[]},{"type":"error","name":"InvalidBytes32","inputs":[]},{"type":"error","name":"InvalidChainId","inputs":[]},{"type":"error","name":"InvalidCrossDomainAdmin","inputs":[]},{"type":"error","name":"InvalidDepositorSignature","inputs":[]},{"type":"error","name":"InvalidExclusiveRelayer","inputs":[]},{"type":"error","name":"InvalidFillDeadline","inputs":[]},{"type":"error","name":"InvalidMerkleLeaf","inputs":[]},{"type":"error","name":"InvalidMerkleProof","inputs":[]},{"type":"error","name":"InvalidOutputToken","inputs":[]},{"type":"error","name":"InvalidPayoutAdjustmentPct","inputs":[]},{"type":"error","name":"InvalidQuoteTimestamp","inputs":[]},{"type":"error","name":"InvalidSlowFillRequest","inputs":[]},{"type":"error","name":"InvalidWithdrawalRecipient","inputs":[]},{"type":"error","name":"LowLevelCallFailed","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"MessageTooShort","inputs":[]},{"type":"error","name":"MsgValueDoesNotMatchInputAmount","inputs":[]},{"type":"error","name":"NoRelayerRefundToClaim","inputs":[]},{"type":"error","name":"NoSlowFillsInExclusivityWindow","inputs":[]},{"type":"error","name":"NotEOA","inputs":[]},{"type":"error","name":"NotExclusiveRelayer","inputs":[]},{"type":"error","name":"OFTFeeUnderpaid","inputs":[]},{"type":"error","name":"OFTTokenMismatch","inputs":[]},{"type":"error","name":"OftFeeCapExceeded","inputs":[]},{"type":"error","name":"OftIncorrectAmountReceivedLD","inputs":[]},{"type":"error","name":"OftIncorrectAmountSentLD","inputs":[]},{"type":"error","name":"OftInsufficientBalanceForFee","inputs":[]},{"type":"error","name":"OftLzFeeNotZero","inputs":[]},{"type":"error","name":"RelayFilled","inputs":[]},{"type":"error","name":"RemovedFunction","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"WrongERC7683OrderId","inputs":[]},{"type":"error","name":"ZeroAddressTarget","inputs":[]}],"bytecode":"0x6101403461014057601f614cff38819003918201601f19168301916001600160401b038311848410176101445780849260209460405283398101031261014057516001600160a01b0381169081900361014057306080525f60c0525f60a05260e052610e1061010052617e90610120525f5460ff8160081c166101405760ff80821603610106575b604051614ba69081610159823960805181818161101e015281816113c90152611520015260a05181611730015260c051816118c0015260e05181818161078c01528181613ee9015281816145430152818161494801526149cb01526101005181818161169501526140cb0152610120518181816104ae0152613e940152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610087565b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461047f5780630cb84d9a1461047a5780631186ec331461047557806315348e44146103fd57806317fcb39b1461047057806319c1648c1461046b5780631b3d5559146104665780631fab657c1461046157806322f8e5661461045c57806329cb924d146104575780632e378115146104525780632e63e59a1461044d5780633659cfe614610448578063437b911614610443578063490e49ef1461043e578063493a4f84146104395780634f1ef286146104345780635285e0581461042f57806352d1902d1461042a578063541f4f1414610425578063577f51f81461042057806357f6dcb81461041b5780635dd36f9c146104165780636068d6cb1461041157806361a04d301461040c578063647c576c14610407578063670fa8ac146104025780636bbbcd2e146103fd5780636fd5c10e146103f8578063715018a6146103f3578063738b62e5146103ee5780637659f9e0146103e95780637aef642c146103e45780637b939232146103df5780637ef413e1146103da57806382e2c43f146103d557806387c3932d146103d05780638a7860ce146103cb5780638b15788e146103c65780638da5cb5b146103c157806397943aa9146103bc578063979f2bc2146103b757806399cc2968146103b25780639a8a0592146103ad578063a1244c67146103a8578063a18a096e146103a3578063a78e4b601461039e578063a86085c514610399578063ac9650d814610394578063ad5425c61461038f578063adb5a6a614610330578063b370b7f51461038a578063b4c0d7ab14610385578063b5e1bf5f14610380578063babb6aac1461037b578063c35c83fc14610376578063c7a06c1d14610371578063ceb4c9871461036c578063d7e1583a14610367578063dda5211314610362578063ddd224f11461035d578063de7eba7814610358578063deff4b2414610353578063e7b51fca1461034e578063e98a565414610349578063ea86bd4614610344578063ee2a53f81461033f578063ef0e2ff41461033a578063f2fde38b14610335578063f79f29ed146103305763fc8a584f0361000e57612bc1565b61256b565b612b84565b612b6a565b612b2c565b612a89565b612a35565b6129cc565b6128d6565b61289f565b612876565b612850565b61281b565b6127d8565b61275c565b612731565b61264e565b612623565b6125f4565b6125b2565b6124fb565b61245c565b61233c565b612249565b612153565b61212c565b612112565b61207c565b611fb5565b611f2a565b611f03565b611e93565b611e1b565b611da3565b611c80565b611c4a565b611bb3565b611b22565b6119fd565b611956565b6118e4565b6118a4565b610753565b61186a565b611785565b611719565b6116f3565b6116b9565b611679565b6115fe565b611570565b611506565b6114df565b611387565b6112ff565b6112e1565b611214565b610ff7565b610df8565b610ca6565b610c79565b610c5f565b610b59565b610a3c565b6107d5565b61076d565b6106ed565b6104fd565b610492565b5f91031261048e57565b5f80fd5b3461048e575f36600319011261048e57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b0381160361048e57565b60e435906104f0826104d2565b565b35906104f0826104d2565b3461048e57602036600319011261048e576001600160a01b03600435610522816104d2565b165f5261087460205260206001600160a01b0360405f205416604051908152f35b608435908160070b820361048e57565b60a435908160070b820361048e57565b63ffffffff81160361048e57565b61010435906104f082610563565b61012435906104f082610563565b61014435906104f082610563565b61016435906104f082610563565b35906104f082610563565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b038211176105e357604052565b6105b4565b6101a081019081106001600160401b038211176105e357604052565b606081019081106001600160401b038211176105e357604052565b90601f801991011681019081106001600160401b038211176105e357604052565b604051906104f060c08361061f565b604051906104f06101808361061f565b604051906104f06101a08361061f565b604051906104f060808361061f565b6001600160401b0381116105e357601f01601f191660200190565b9291926106a58261067e565b916106b3604051938461061f565b82948184528183011161048e578281602093845f960137010152565b9080601f8301121561048e578160206106ea93359101610699565b90565b61010036600319011261048e576107056004356104d2565b6107106024356104d2565b610718610543565b5061072460a435610563565b60c4356001600160401b03811161048e576107439036906004016106cf565b506332ed1ba560e21b5f5260045ffd5b3461048e575f36600319011261048e5760206040515f8152f35b3461048e575f36600319011261048e5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b604090600319011261048e576004356107c8816104d2565b906024356106ea816104d2565b3461048e576107e3366107b0565b6107eb613d6d565b6107f36136f7565b6001600160a01b038116918215158061088c575b61087d5761084e6001600160a01b0392610833836001600160a01b03165f5261087460205260405f2090565b906001600160a01b03166001600160a01b0319825416179055565b167f323983f5343e25b2c1396361b1b791be31484841fdfb95b8615cd02d910b1e085f80a36100186001606555565b63a63e8c6b60e01b5f5260045ffd5b50604051637e062a3560e11b8152602081600481875afa9081156108f5575f916108c6575b506001600160a01b0380831691161415610807565b6108e8915060203d6020116108ee575b6108e0818361061f565b810190613708565b5f6108b1565b503d6108d6565b61371d565b6001600160401b0381116105e35760051b60200190565b9080601f8301121561048e578135610928816108fa565b92610936604051948561061f565b81845260208085019260051b82010192831161048e57602001905b82821061095e5750505090565b8135815260209182019101610951565b9080601f8301121561048e578135610985816108fa565b92610993604051948561061f565b81845260208085019260051b82010192831161048e57602001905b8282106109bb5750505090565b6020809183356109ca816104d2565b8152019101906109ae565b9291906109e1816108fa565b936109ef604051958661061f565b602085838152019160051b810192831161048e57905b828210610a1157505050565b8135815260209182019101610a05565b9080601f8301121561048e578160206106ea933591016109d5565b606036600319011261048e57600435610a5481610563565b602435906001600160401b03821161048e5760c0600319833603011261048e57610a7c610640565b91806004013583526024810135602084015260448101356001600160401b03811161048e57610ab19060043691840101610911565b6040840152610ac2606482016105a9565b6060840152610ad3608482016104f2565b608084015260a4810135906001600160401b03821161048e576004610afb923692010161096e565b60a0830152604435916001600160401b03831161048e57610b23610018933690600401610a21565b91612bf1565b9181601f8401121561048e578235916001600160401b03831161048e576020808501948460051b01011161048e57565b3461048e57606036600319011261048e576004356001600160401b03811161048e5780360390606060031983011261048e57602435610b9781610563565b6044356001600160401b03811161048e57610bb6903690600401610b29565b919093610bc16136f7565b600484013590610182190181121561048e57610c5594610c5093610bec6004610c4994880101612de6565b95610c02610bfd6080890151613a2d565b613728565b6044610c0d88613614565b91013560208801519061016089015192610c25610640565b998a5260208a01526040890152606088015260808701525f60a087015236916109d5565b9083613a43565b613acd565b6100186001606555565b3461048e57602036600319011261048e57600435610cbf55005b3461048e575f36600319011261048e576020610cbf54604051908152f35b908161018091031261048e5790565b3461048e57604036600319011261048e576004356001600160401b03811161048e57610cd6903690600401610c97565b602435610ce282612df1565b6001600160a01b031691610cf860208201612df1565b6001600160a01b031690610d0e60408201612df1565b6001600160a01b031690610d2460608201612df1565b6001600160a01b0316610d3960808301612df1565b6001600160a01b031660e083013560c084013560a0850135610d5e6101008701612dfb565b93610d6c6101208801612dfb565b95610d7a6101408901612dfb565b976101608101610d8991612e05565b99909a610d9461064f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015263ffffffff166101408501523690610de692610699565b6101608301526100189133919061364e565b3461048e57602036600319011261048e576004356001600160401b03811161048e57610e28903690600401610c97565b610e306136f7565b60ff61086b5460e01c16610fe857610cbf5463ffffffff1690610140810190610e6b83610e5c84612dfb565b63ffffffff9182169116101590565b610fd95761012081019263ffffffff80610e8486612dfb565b9216911610610fca57610e9f610e9a3683612283565b613614565b90610eb3825f5261087260205260405f2090565b54610fbc57610ef5610eef7f3cee3e290f36226751cd0b3321b213890fe9c768e922f267fa6111836ce05c32935f5261087260205260405f2090565b60019055565b6060810135610faf60808301359260a08101359060c081013560e082013597610f2c610f266101008501359b612dfb565b91612dfb565b604084013591843593610f5b610f56610f4f602089013598610160810190612e05565b3691610699565b613c78565b966040519a8b9a8b969394610120989563ffffffff9485939d9c9b98946101408b019e8b5260208b015260408a015260608901521660808701521660a085015260c084015260e08301526101008201520152565b0390a36100186001606555565b624be79160e21b5f5260045ffd5b63d642b7d960e01b5f5260045ffd5b630277ae7b60e21b5f5260045ffd5b633d90fc5560e11b5f5260045ffd5b3461048e57602036600319011261048e57600435611014816104d2565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680301461048e576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54160361048e5761107d613d6d565b6110856125d9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110b957506100189061470d565b6040516352d1902d60e01b8152906020826004816001600160a01b0387165afa5f928161111f575b506110ea575f80fd5b6100189261111a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f9414612e5a565b61463c565b61114291935060203d602011611149575b61113a818361061f565b81019061383e565b915f6110e1565b503d611130565b602060031982011261048e57600435906001600160401b03821161048e5761117a91600401610b29565b9091565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106111d457505050505090565b9091929394602080611205600193603f198682030187526040838b518051151584520151918185820152019061117e565b970193019301919392906111c5565b3461048e5761122236611150565b61122b816108fa565b91611239604051938461061f565b818352601f19611248836108fa565b015f5b8181106112bd5750505f5b82811061126f576040518061126b86826111a2565b0390f35b806112b761127f60019387612e61565b515f8061128d858989612e75565b9061129d60405180938193612e8c565b0390305af4906112ab612e99565b60208201529015159052565b01611256565b6020906040516112cc816105c8565b5f81526060838201528282880101520161124b565b3461048e575f36600319011261048e5760206040516301e133808152f35b3461048e57604036600319011261048e5760243560043561131e613d6d565b6113266136f7565b61086c54680100000000000000008110156105e35780600163ffffffff920161086c558361135382612b09565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b604036600319011261048e5760043561139f816104d2565b6024356001600160401b03811161048e576113be9036906004016106cf565b906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680301461048e576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54160361048e57611428613d6d565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561145c57610018915061470d565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f91816114be575b5061148c575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0361048e576100189160019161463c565b6114d891925060203d6020116111495761113a818361061f565b905f611483565b3461048e575f36600319011261048e5760206001600160a01b036108695416604051908152f35b3461048e575f36600319011261048e576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361048e5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b61012036600319011261048e576115886004356104d2565b6115936024356104d2565b61159e6044356104d2565b6115a6610553565b506115b260c435610563565b60e4356001600160401b03811161048e576107439036906004016106cf565b9181601f8401121561048e578235916001600160401b03831161048e576020838186019501011161048e57565b3461048e5760c036600319011261048e5760043561161b816104d2565b6024356044359160643561162e816104d2565b6084356001600160401b03811161048e5761164d9036906004016115d1565b9160a435956001600160401b03871161048e576116716100189736906004016115d1565b969095612f1b565b3461048e575f36600319011261048e57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461048e57604036600319011261048e57602435600435600382101561048e576116e282612e4b565b5f5261087260205260405f20555f80f35b3461048e575f36600319011261048e57602060ff61086b5460e81c166040519015158152f35b3461048e575f36600319011261048e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b606090600319011261048e5760043561176b81610563565b90602435611778816104d2565b906044356106ea816104d2565b3461048e576117e261179636611753565b5f5493929091906117c860ff600887901c16156117b2565b1590565b8096819761185c575b811561183c575b50612e5a565b846117d9600160ff195f5416175f55565b61182557612f92565b6117e857005b6117f661ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b61183761010061ff00195f5416175f55565b612f92565b303b1591508161184e575b505f6117c2565b60ff1660011490505f611847565b600160ff82161091506117bb565b3461048e575f36600319011261048e5760206040517f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f8152f35b3461048e575f36600319011261048e57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461048e575f36600319011261048e576118fc613d6d565b5f6001600160a01b03610c8c546001600160a01b03198116610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b8015150361048e57565b604435906104f08261193f565b3461048e57602036600319011261048e577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae4921960206004356119968161193f565b61199e613d6d565b6119a66136f7565b151561086b547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e81b8360e81b1691161761086b55604051908152a16001606555005b9060206106ea92818152019061117e565b3461048e57602036600319011261048e576004356001600160401b03811161048e57611a2d9036906004016115d1565b611a35613d6d565b611a3d6136f7565b810160408282031261048e57813591611a55836104d2565b6020810135916001600160401b03831161048e576001600160a01b0392611a7c92016106cf565b91168015611b13576004825110611b04575f8083516020850182855af190611aa2612e99565b9115611af5577f41a941b8313293eca483f41d8faa2498e005e6d7700e2e93f41d3cb7e70a897d611adc61126b94604051918291826119ec565b0390a2611ae96001606555565b604051918291826119ec565b6348ebf0a960e11b5f5260045ffd5b637f5e6be560e01b5f5260045ffd5b634e93b52160e11b5f5260045ffd5b61016036600319011261048e57600435611b3b816104d2565b602435611b47816104d2565b60443591611b54836104d2565b606435611b60816104d2565b60843560e43560c43560a435611b75836104d2565b611b7d610571565b93611b8661057f565b9561014435996001600160401b038b1161048e57611bab6100189b36906004016115d1565b9a909961308d565b61018036600319011261048e57600435611bcc816104d2565b602435611bd8816104d2565b60443591611be5836104d2565b606435611bf1816104d2565b60843560a43560c435611c026104e3565b90611c0b610571565b92611c1461057f565b94611c1d61058d565b96610164359a6001600160401b038c1161048e57611c426100189c36906004016115d1565b9b909a6130b2565b3461048e57606036600319011261048e576020611c78600435611c6c816104d2565b602435604435916131d8565b604051908152f35b3461048e57606036600319011261048e576004356024356001600160401b03811161048e57611cb39036906004016115d1565b906044356001600160401b03811161048e57611cd39036906004016115d1565b919093611cde613488565b604051611d0381611cf56020820194898887613216565b03601f19810183528261061f565b51902003611d94575f93611d1e828695611d279401906127f6565b92810190613233565b51611d5e611d3c335b6001600160a01b031690565b91611cf560405193849260208401966337bfd2c960e21b8852602485016132fd565b5190305af4611d6b612e99565b9015611d7357005b60405163b8fe37a760e01b8152908190611d9090600483016119ec565b0390fd5b630f0c8f4760e11b5f5260045ffd5b3461048e5760c036600319011261048e576024356004356044356001600160401b03811161048e57611dd9903690600401610911565b606435611de581610563565b60843591611df2836104d2565b60a435946001600160401b03861161048e57611e1561001896369060040161096e565b9461331f565b3461048e57602036600319011261048e57600435611e37613d6d565b611e3f6136f7565b611e4881612b09565b611e80576001815f80935501557f7c1af0646963afc3343245b103731965735a893347bfa0d58a5dc77a77ae691c5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b6101a036600319011261048e5760443560243560043560643560843560a4356101043560e43560c435611ec461057f565b93611ecd61058d565b95611ed661059b565b97610184359b6001600160401b038d1161048e57611efb6100189d36906004016115d1565b9c909b613330565b3461048e575f36600319011261048e5760206001600160a01b03610c8c5416604051908152f35b3461048e5760e036600319011261048e576004356001600160401b03811161048e57611f5a903690600401610c97565b602435604435916064356084359060a4356001600160401b03811161048e57611f879036906004016115d1565b92909160c435966001600160401b03881161048e57611fad6100189836906004016115d1565b9790966133a8565b3461048e57611fc336611753565b909160ff5f5460081c161561048e57611ff99063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192612008828561061f565b600984526020808501926820a1a927a9a996ab1960b91b845261202d8151918261061f565b6005815201640312e302e360dc1b815260ff5f5460081c161561048e576005612077936100189651902091209061047f556104805561206a614100565b61207261410f565b614123565b61417b565b3461048e57602036600319011261048e577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e60206004356120bc8161193f565b6120c4613d6d565b6120cc6136f7565b151561086b547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e01b8360e01b1691161761086b55604051908152a16001606555005b3461048e575f36600319011261048e576020611c78613488565b3461048e575f36600319011261048e57602063ffffffff61086b5460c01c16604051908152f35b3461048e57604036600319011261048e5760043560243561217382614358565b6001600160a01b03821691825f526108736020526121a460405f20336001600160a01b03165f5260205260405f2090565b5492831561223a576121ed5f916121ba84614358565b6121d733916001600160a01b03165f5261087360205260405f2090565b906001600160a01b03165f5260205260405f2090565b5561220a836121fb83613a2d565b61220485613a2d565b906141d3565b60405192835233927f6c172ea51018fb2eb2118f3f8a507c4df71eb519b8c0052834dc3c920182fef490602090a4005b6336542bf760e21b5f5260045ffd5b3461048e575f36600319011261048e5760206040517ffafff4a89cb727c4f11a474c303e417b3057d7e735633ec7a1aab4d27ff2283c8152f35b9190916101808184031261048e5761229961064f565b92813584526020820135602085015260408201356040850152606082013560608501526080820135608085015260a082013560a085015260c082013560c085015260e082013560e08501526101008201356101008501526122fd61012083016105a9565b61012085015261231061014083016105a9565b6101408501526101608201356001600160401b03811161048e5761233492016106cf565b610160830152565b3461048e57606036600319011261048e576004356001600160401b03811161048e5760c0600319823603011261048e57612374610640565b81600401356001600160401b03811161048e576123979060043691850101612283565b815260248201356020820152604482013560408201526064820135606082015260848201356001600160401b03811161048e57610018926123e060a492600436918401016106cf565b6080840152013560a08201526024356123f7611949565b91613bd5565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061242f57505050505090565b909192939460208061244d600193603f19868203018752895161117e565b97019301930191939290612420565b3461048e5761246a36611150565b9061247482613496565b915f5b81811061248c576040518061126b86826123fd565b5f80612499838587612e75565b906124a960405180938193612e8c565b0390305af46124b6612e99565b90156124dc57906001916124ca8287612e61565b526124d58186612e61565b5001612477565b604481511061048e5780602480600461048e94015183010191016134df565b61018036600319011261048e576044356024356004356064356084356101043560e43560c43560a43561252d84610563565b61253561057f565b9461253e61058d565b96610164359a6001600160401b038c1161048e576125636100189c36906004016115d1565b9b909a613541565b3461048e5760206125a96001600160a01b03612586366107b0565b91165f52610873835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b3461048e575f36600319011261048e5760206001600160a01b0361086a5416604051908152f35b604051906125e860208361061f565b5f808352366020840137565b3461048e575f36600319011261048e5761126b61260f6125d9565b60405191829160208352602083019061117e565b3461048e575f36600319011261048e576020604051701d6329f1c35ca4bfabb9f56100000000008152f35b3461048e5760c036600319011261048e576004356024356044356064356084356001600160401b03811161048e5761268a9036906004016115d1565b60a493919335906001600160401b03821161048e577f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26946126d26127279336906004016115d1565b9290916126dd6136f7565b6126e68a614358565b61271b8a8a89896126f5613488565b612700368989610699565b936001600160a01b03612714368d8d610699565b9616613c8d565b60405196879687612ee8565b0390a36001606555005b3461048e57602036600319011261048e576004355f52610872602052602060405f2054604051908152f35b3461048e5760e036600319011261048e57600435612779816104d2565b6024359060443560843560643561278f826104d2565b60a4356001600160401b03811161048e576127ae9036906004016106cf565b9260c435956001600160401b03871161048e576127d26100189736906004016106cf565b956135fc565b3461048e575f36600319011261048e57602060405163ffffffff8152f35b9060208282031261048e5781356001600160401b03811161048e576106ea9201612283565b3461048e57602036600319011261048e576004356001600160401b03811161048e57611c78610e9a6020923690600401612283565b3461048e575f36600319011261048e57602060ff61086b5460e01c166040519015158152f35b3461048e575f36600319011261048e5760206040516ec097ce7bc90715b34b9f10000000008152f35b3461048e57602036600319011261048e576128cf6004356128bf816104d2565b6128c7613d6d565b6120726136f7565b6001606555005b3461048e57606036600319011261048e576004356001600160401b03811161048e57612906903690600401612283565b60243590604435906129166136f7565b60ff61086b5460e01c16610fe85761294c61293961014083015163ffffffff1690565b610cbf5463ffffffff9081169116101590565b806129ad575b61299e57610c559261296382613614565b60c08301516020840151906101608501519261297d610640565b958652602086015260408501526060840152608083015260a0820152613b49565b630c3a9b9d60e41b5f5260045ffd5b506129bb6040820151613a2d565b6001600160a01b0316331415612952565b3461048e5760e036600319011261048e5760243560043560443560843560643560a4356001600160401b03811161048e57612a0b9036906004016106cf565b9260c435956001600160401b03871161048e57612a2f6100189736906004016106cf565b956136b2565b602036600319011261048e576004356001600160401b03811161048e575f612a62819236906004016106cf565b612a6a6136f7565b60208151910134305af1612a7c612e99565b501561048e576001606555005b61016036600319011261048e576044356024356004356064356101043560e43560c43560a435608435612abb85610563565b6101243595612ac987610563565b61014435996001600160401b038b1161048e57612aed6100189b36906004016115d1565b9a90996136d3565b634e487b7160e01b5f52603260045260245ffd5b61086c54811015612b275761086c5f52600360205f20910201905f90565b612af5565b3461048e57602036600319011261048e5760043561086c5481101561048e57612b56604091612b09565b506001815491015482519182526020820152f35b3461048e57602036600319011261048e57600435610cbe55005b3461048e57602036600319011261048e57600435612ba1816104d2565b612ba9613d6d565b6001600160a01b0381161561048e5761001890613d82565b3461048e57602036600319011261048e576128cf600435612be1816104d2565b612be9613d6d565b6120776136f7565b9190612bfb6136f7565b60808101612c13610bfd82516001600160a01b031690565b60208201928351612c22613488565b03612d1a576117ae612c4291846001612c3a89612b09565b50015461375e565b612d0b5763ffffffff7ff4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e91612cfe6060850195612c8c612c86885163ffffffff1690565b896137e2565b8051958051612ce8612cda612cc9604085019a8c612cb08d51915163ffffffff1690565b8a516001600160a01b03169160a089019788519461385a565b9351945199519a5163ffffffff1690565b95516001600160a01b031690565b90519086604051978897169b1699339487612d98565b0390a46104f06001606555565b63582f497d60e11b5f5260045ffd5b633d23e4d160e11b5f5260045ffd5b90602080835192838152019201905f5b818110612d465750505090565b8251845260209384019390920191600101612d39565b90602080835192838152019201905f5b818110612d795750505090565b82516001600160a01b0316845260209384019390920191600101612d6c565b949695919260a0946001600160a01b03612dc48196612dd8958a5260c060208b015260c08a0190612d29565b921660408801528682036060880152612d5c565b951515608085015216910152565b6106ea903690612283565b356106ea816104d2565b356106ea81610563565b903590601e198136030182121561048e57018035906001600160401b03821161048e5760200191813603831361048e57565b634e487b7160e01b5f52602160045260245ffd5b60031115612e5557565b612e37565b1561048e57565b8051821015612b275760209160051b010190565b90821015612b275761117a9160051b810190612e05565b908092918237015f815290565b3d15612ec3573d90612eaa8261067e565b91612eb8604051938461061f565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b94929093612f0d926106ea979587526020870152608060408701526080860191612ec8565b926060818503910152612ec8565b92957f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26956001600160a01b039584612f7f85612f8d979c969b8a612f5d613488565b91168094612f6c368989610699565b92612f78368c8c610699565b948d613c8d565b604051978897169a87612ee8565b0390a3565b91909160ff5f5460081c161561048e57612fab33613d82565b60ff5f5460081c161561048e57612fdf9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6040805192612fee828561061f565b600984526020808501926820a1a927a9a996ab1960b91b84526130138151918261061f565b6005815201640312e302e360dc1b815260ff5f5460081c161561048e576005612077936130509651902091209061047f556104805561206a614100565b6104f042610cbf55565b634e487b7160e01b5f52601160045260245ffd5b9063ffffffff8091169116019063ffffffff821161308857565b61305a565b96949290916104f09b9a99989694926130b063ffffffff610cbf5416988961306e565b985b9593919b999897969492909b6130c66136f7565b61086b5460ff8160e81c166131c95760c01c63ffffffff16966130e8886135e5565b61310f9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b61311761065f565b9d6001600160a01b038f921682526001600160a01b031690602001526001600160a01b031660408d01526001600160a01b031660608c015260808b015260a08a015260c08901526001600160a01b031660e088015263ffffffff1661010087015261012086019061318d919063ffffffff169052565b63ffffffff1661014085015263ffffffff1661016084015236906131b092610699565b6101808201526131bf90613e2c565b6104f06001606555565b630b4cba3160e31b5f5260045ffd5b916040519160208301936bffffffffffffffffffffffff199060601b168452603483015260548201526054815261321060748261061f565b51902090565b93929160209161322e91604087526040870191612ec8565b930152565b9081602091031261048e5760405190602082018281106001600160401b038211176105e35760405235815290565b906101806101606106ea93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c085015260e081015160e08501526101008101516101008501526132db61012082015161012086019063ffffffff169052565b6101408181015163ffffffff169085015201519181610160820152019061117e565b61331560409295949395606083526060830190613261565b9460208201520152565b9061332d959493929161385a565b50565b9c9a99989796959493929190966133456136f7565b60ff61086b5460e81c166131c95761335e908e336131d8565b96604051809e61336d826105e8565b81526020015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015263ffffffff1661012086015261318d565b9792909596949391966133b96136f7565b60ff61086b5460e01c16610fe8576133d76129396101408b01612dfb565b80613469575b61299e576131bf9861345e613464976133f9610e9a3685612283565b99613402610640565b9a61340d3686612283565b8c5260208c01528560408c01528660608c015261342b36868b610699565b60808c015260a08b01526134566134428435613a2d565b9860e0610100860135950135953691610699565b963691610699565b95613c8d565b613b49565b5061347760408a0135613a2d565b6001600160a01b03163314156133dd565b610cbe54806106ea57504690565b906134a0826108fa565b6134ad604051918261061f565b82815280926134be601f19916108fa565b01905f5b8281106134ce57505050565b8060606020809385010152016134c2565b60208183031261048e578051906001600160401b03821161048e570181601f8201121561048e578051906135128261067e565b92613520604051948561061f565b8284526020838301011161048e57815f9260208093018386015e8301015290565b9b999897969492909593916135546136f7565b61086b5460ff8160e81c166131c95760c01c63ffffffff1696613576886135e5565b61359d9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6135a561065f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015261318d565b63ffffffff1663ffffffff81146130885760010190565b9291906001600160a01b036104f09796951693613c8d565b61361c613488565b613210604051809261363a6020830195604087526060840190613261565b90604083015203601f19810183528261061f565b9190916136596136f7565b60ff61086b5460e01c16610fe85761367c61293961014083015163ffffffff1690565b80613693575b61299e576131bf9261296382613614565b506136a16040820151613a2d565b6001600160a01b0316331415613682565b906001600160a01b036104f09796959493926136cd81614358565b16613c8d565b9a989795929693909491966136f263ffffffff610cbf5416978861306e565b976135545b60026065541461048e576002606555565b9081602091031261048e57516106ea816104d2565b6040513d5f823e3d90fd5b60207fbf5a3af3d17ceac90c3b9679ade47cac7b436a621a5d486daae6ae96dfd511a1916001600160a01b0360405191168152a1565b6106ea92916040516137d981611cf5602082019460208652805160408401526020810151606084015260a06137a3604083015160c06080870152610100860190612d29565b606083015163ffffffff168583015260808301516001600160a01b031660c0860152910151838203603f190160e0850152612d5c565b51902091614259565b6137ed600291612b09565b500162ffffff8260081c1691825f5281602052600160ff60405f205492161b808092161461382f57825f528160205260405f205417915f5260205260405f2055565b63954476d960e01b5f5260045ffd5b9081602091031261048e575190565b9190820180921161308857565b91959495939092935f9681519081815103613a1e57816138d9575b50505082613884575b50505050565b63ffffffff6138bb611d3083611d307ffa7fa7cf6d7dde5f9be65a67e6a1a747e7aa864dcd2d793353c722d80fbbb357958861431a565b6040805195865233602087015290959190911693a45f80808061387e565b6040516370a0823160e01b81523060048201526020816024816001600160a01b0389165afa9081156108f5575f916139ff575b505f5f5b84811061391f57505050613875565b6139298187612e61565b51613937575b600101613910565b9061394d906139468388612e61565b519061384d565b908282116139f0576139876117ae6139756139688488612e61565b516001600160a01b031690565b61397f848a612e61565b51908a6142aa565b1561392f579a506139988b86612e61565b516139e66139de8d6139c96139686139c28c6001600160a01b03165f5261087360205260405f2090565b9289612e61565b6001600160a01b03165f5260205260405f2090565b91825461384d565b905560019a61392f565b632ddaa83160e11b5f5260045ffd5b613a18915060203d6020116111495761113a818361061f565b5f61390c565b6319a5316760e31b5f5260045ffd5b6001600160a01b0390613a3f81614358565b1690565b916117ae91613ac7938051906137d9613a856040613a5f613488565b9301519460405194613a7086610604565b85526020850193845260408501958652612b09565b505493604051928391613aac602084019660208852516060604086015260a0850190613261565b9151606084015251608083015203601f19810183528261061f565b612d0b57565b805163ffffffff6101208201511663ffffffff610cbf54911610610fca576020820151906002613b06835f5261087260205260405f2090565b5414613b3a576104f0926002613b276001945f5261087260205260405f2090565b55613b3560025f8484614405565b614507565b630479306360e51b5f5260045ffd5b90815163ffffffff6101208201511663ffffffff610cbf54911610610fca576020830151926001613b83855f5261087260205260405f2090565b5403613bce576001935b6002613ba2825f5261087260205260405f2090565b5414613b3a576104f0945f946002613bc6613b35945f5261087260205260405f2090565b558484614405565b5f93613b8d565b919091805190613bed61012083015163ffffffff1690565b63ffffffff610cbf54911610610fca5760208101518315613c505760025b6002613c20835f5261087260205260405f2090565b5414613b3a576104f095613c49613c43613b35945f5261087260205260405f2090565b60029055565b8484614405565b6001613c65825f5261087260205260405f2090565b5403613c72576001613c0b565b5f613c0b565b80519081613c865750505f90565b6020012090565b93926042936104f0979660208151910120906040519260208401947f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f86526040850152856060850152608084015260a083015260c082015260c08152613cf460e08261061f565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e855260408401526060830152608082015260808152613d4c60a08261061f565b519020906040519161190160f01b835260028301526022820152209061476e565b6001600160a01b03610c8c5416330361048e57565b6001600160a01b0380610c8c54921691826001600160a01b0319821617610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b9190820391821161308857565b9692610140989563ffffffff9586949285936106ea9e9d9a958c5260208c015260408b015260608a01521660808801521660a08601521660c084015260e083015261010082015281610120820152019061117e565b613e368151614358565b606081018051156140f257610cbf54610120830191613e65613e5c845163ffffffff1690565b63ffffffff1690565b8083109081156140b9575b506140aa57610140840193613e89855163ffffffff1690565b63ffffffff613eba817f0000000000000000000000000000000000000000000000000000000000000000168661384d565b91161161409b5761016081015163ffffffff16928380614055575b505060408101918251926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168094148061404c575b15613ffc5760808301513403613fed57833b1561048e575f60049460405195868092630d0e30db60e41b825234905af19081156108f5577f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad394613fce92613fd3575b505b5191519260808101519060a081015160c082015197613fad613fa26101008501519b5163ffffffff1690565b9b5163ffffffff1690565b83519b60208501519361018060e0870151960151966040519a8b9a8b613dd7565b0390a4565b80613fe15f613fe79361061f565b80610484565b5f613f74565b636452a35d60e01b5f5260045ffd5b925034613fed57613fce83614047614038611d307f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad39751613a2d565b6080860151903090339061485a565b613f76565b50341515613f12565b6301e133801015614082575b5060e081015115614073575f80613ed5565b63495d907f60e01b5f5260045ffd5b9263ffffffff6140949294169061306e565b915f614061565b63582e388960e01b5f5260045ffd5b63f722177f60e01b5f5260045ffd5b6140c4915083613dca565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016105f613e70565b6231010160e51b5f5260045ffd5b60ff5f5460081c161561048e57565b60ff5f5460081c161561048e576001606555565b6001600160a01b0316801561416c57806001600160a01b0319610869541617610869557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b63ba97b39d60e01b5f5260045ffd5b6001600160a01b031680156141c457806001600160a01b031961086a54161761086a557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b635b03092b60e11b5f5260045ffd5b6001600160a01b0316916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af160015f511481161561423a575b6040919091521561421f5750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b6001811516614250573d15833b15151616614211565b503d5f823e3d90fd5b929091905f915b84518310156142a2576142738386612e61565b519081811015614291575f52602052600160405f205b920191614260565b905f52602052600160405f20614289565b915092501490565b916020915f91604051906001600160a01b038583019363a9059cbb60e01b85521660248301526044820152604481526142e460648261061f565b519082855af1903d5f5190836142fb575b50505090565b9192509061431057503b15155b5f80806142f5565b6001915014614308565b604080519182526001600160a01b039290921660208201527fb6e6ae61a8fa98a339088353bc7a76c8c580b2efd09210a80bfccabe05d9ae479190a1565b60a01c61436157565b6379ec0ed760e11b5f5260045ffd5b61437982612e4b565b52565b9a98969492909c9b99979593916101e08c019d8c5260208c015260408b015260608a0152608089015263ffffffff1660a088015263ffffffff1660c087015260e08601526101008501526101208401526101408301528051610160830152602081015161018083015260408101516101a083015260600151906143fe82612e4b565b6101c00152565b7f44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208909392936060830151613fce60808501519260a08601519660c08701519660a08301519860e0820151986101008301519a61446961012085015163ffffffff1690565b61014085015163ffffffff16916040860151938651956144cd61449561016060208b01519a0151613c78565b9960608c01519b60406144ab6080830151613c78565b9101519060206144b961066f565b9e8f528e015260408d015260608c01614370565b6040519c8d9c8d61437c565b906106ea94936080936001600160a01b0380931684526020840152166040820152816060820152019061117e565b906080614515910151613a2d565b91608060408301519261452b6060820151613a2d565b92846001600160a01b03871691856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684145f1461461c575015614608575b61458691506001600160a01b038516614923565b01519081511515806145fe575b61459d5750505050565b6001600160a01b0316803b1561048e576145d3935f809460405196879586948593633a5be8cb60e01b85523391600486016144d9565b03925af180156108f5576145ea575b80808061387e565b80613fe15f6145f89361061f565b5f6145e2565b50803b1515614593565b614615913090339061485a565b5f84614572565b906146315761462c92339061485a565b614586565b61462c9250876141d3565b916146468361470d565b6001600160a01b0383167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a281511590811591614705575b50614689575050565b61332d915f806040519361469e60608661061f565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46146ff612e99565b91614aca565b90505f614680565b803b1561048e576001600160a01b03166001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b91909161477b8284614a99565b9390926005851015612e55576147a494159384614844575b5083156147b9575b50505015151590565b6147aa57565b63938a182160e01b5f5260045ffd5b5f935090611cf56147f18594936040519283916020830195630b135d3f60e11b8752602484015260406044840152606483019061117e565b51915afa6147fd612e99565b81614836575b81614812575b505f808061479b565b905061482f630b135d3f60e11b916020808251830101910161383e565b145f614809565b905060208151101590614803565b6001600160a01b0384811691161493505f614793565b5f6001600160a01b0381926148e79682604051978160208a01986323b872dd60e01b8a521660248a015216604488015260648701526064865261489e60848761061f565b1692604051946148af60408761061f565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16146ff612e99565b805180159081156148fe575b506104f09150612e5a565b6020915082908101031261048e5760206104f091015161491d8161193f565b5f6148f3565b906001600160a01b038216803b1580156149f0575b156149bc57506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b1561048e57604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156108f5576104f0936149a8575b50614a71565b80613fe15f6149b69361061f565b5f6149a2565b6104f092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166141d3565b506149fa816149ff565b614938565b803b614a0a8161067e565b90614a18604051928361061f565b8082525f6020830180943c5190516001600160e81b03198116919060038210614a52575b50506001600160e81b03191661ef0160f01b1490565b6001600160e81b0319600392830390921b82901b161690505f80614a3c565b81471061048e575f8080936001600160a01b038294165af1614a91612e99565b501561048e57565b9060418151145f14614ac15761117a91602082015190606060408401519301515f1a90614af5565b50505f90600290565b91925015614ae657815115614add575090565b3b1561048e5790565b50805190811561048e57602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614b65576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa156108f5575f516001600160a01b03811615614b5d57905f90565b505f90600190565b505050505f9060039056fea2646970667358221220bd184460e44fa9a600f2cb65ec9d8d9a770c256965f4d68190ef626214ee8eef64736f6c634300081e0033"}