@across-protocol/contracts 5.0.11-alpha.4 → 5.0.12-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/external/interfaces/CCTPInterfaces.sol +18 -0
- package/contracts/handlers/MulticallHandler.sol +7 -1
- package/contracts/interfaces/SponsoredCCTPInterface.sol +11 -0
- package/contracts/libraries/SafeTransferERC20.sol +21 -0
- package/contracts/libraries/SponsoredCCTPQuoteLib.sol +22 -0
- package/contracts/libraries/TronTransferLib.sol +42 -0
- package/contracts/periphery/SpokePoolPeriphery.sol +4 -0
- package/contracts/periphery/counterfactual/CounterfactualDepositSpokePool.sol +7 -3
- package/contracts/periphery/counterfactual/CounterfactualDepositSpokePoolTr.sol +36 -0
- package/contracts/periphery/counterfactual/WithdrawImplementation.sol +3 -6
- package/contracts/periphery/counterfactual/WithdrawImplementationTron.sol +22 -0
- package/contracts/periphery/mintburn/ArbitraryEVMFlowExecutor.sol +38 -15
- package/contracts/periphery/mintburn/sponsored-cctp/SponsoredCCTPDstPeriphery.sol +41 -12
- package/contracts/sp1-helios/SP1AutoVerifier.sol +1 -1
- package/contracts/spoke-pools/SpokePool.sol +11 -6
- package/contracts/spoke-pools/Tron_SpokePool.sol +65 -0
- package/contracts/test/MockCCTP.sol +10 -0
- package/contracts/test/MockTronUSDT.sol +36 -0
- package/contracts/tron/TronCounterfactualImports.sol +4 -3
- package/contracts/tron/TronImports.sol +2 -2
- package/contracts/tron/TronPeripheryImports.sol +1 -1
- package/dist/broadcast/deployed-addresses.json +186 -121
- package/dist/evm/artifacts/AcrossMessageHandlerMock.sol/AcrossMessageHandlerMock.json +1 -1
- package/dist/evm/artifacts/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -1
- package/dist/evm/artifacts/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +1 -1
- package/dist/evm/artifacts/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +1 -1
- package/dist/evm/artifacts/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +1 -1
- package/dist/evm/artifacts/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +1 -1
- package/dist/evm/artifacts/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +1 -1
- package/dist/evm/artifacts/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +1 -1
- package/dist/evm/artifacts/Base_Adapter.sol/Base_Adapter.json +1 -1
- package/dist/evm/artifacts/Blast_Adapter.sol/Blast_Adapter.json +1 -1
- package/dist/evm/artifacts/Blast_SpokePool.sol/Blast_SpokePool.json +1 -1
- package/dist/evm/artifacts/Boba_SpokePool.sol/Boba_SpokePool.json +1 -1
- package/dist/evm/artifacts/CCTPInterfaces.sol/ITokenMessengerV2.json +1 -1
- package/dist/evm/artifacts/CCTPInterfaces.sol/ITokenMinter.json +1 -1
- package/dist/evm/artifacts/Cher_SpokePool.sol/Cher_SpokePool.json +1 -1
- package/dist/evm/artifacts/CircleCCTPAdapter.sol/CircleDomainIds.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositSpokePoolTr.sol/CounterfactualDepositSpokePoolTr.json +1 -0
- package/dist/evm/artifacts/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +1 -1
- package/dist/evm/artifacts/DstOFTHandler.sol/DstOFTHandler.json +1 -1
- package/dist/evm/artifacts/Ethereum_SpokePool.sol/Ethereum_SpokePool.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockAddressWhitelist.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockFinder.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockIdentifierWhitelist.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockLpTokenFactory.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockOptimisticOracle.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockStore.json +1 -1
- package/dist/evm/artifacts/Ink_SpokePool.sol/Ink_SpokePool.json +1 -1
- package/dist/evm/artifacts/Lens_SpokePool.sol/Lens_SpokePool.json +1 -1
- package/dist/evm/artifacts/Linea_Adapter.sol/Linea_Adapter.json +1 -1
- package/dist/evm/artifacts/Linea_SpokePool.sol/Linea_SpokePool.json +1 -1
- package/dist/evm/artifacts/Lisk_Adapter.sol/Lisk_Adapter.json +1 -1
- package/dist/evm/artifacts/Lisk_SpokePool.sol/Lisk_SpokePool.json +1 -1
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockCrossDomainMessenger.json +1 -1
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL1StandardBridge.json +1 -1
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL2StandardBridge.json +1 -1
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessageTransmitter.json +1 -1
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessenger.json +1 -1
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessengerV2.json +1 -1
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMinter.json +1 -1
- package/dist/evm/artifacts/MockOptimism_SpokePool.sol/MockOptimism_SpokePool.json +1 -1
- package/dist/evm/artifacts/MockSpokePool.sol/MockSpokePool.json +1 -1
- package/dist/evm/artifacts/MockSpokePoolV2.sol/MockSpokePoolV2.json +1 -1
- package/dist/evm/artifacts/MockTronUSDT.sol/MockTronUSDT.json +1 -0
- package/dist/evm/artifacts/Mode_Adapter.sol/Mode_Adapter.json +1 -1
- package/dist/evm/artifacts/MulticallHandler.sol/MulticallHandler.json +1 -1
- package/dist/evm/artifacts/OP_Adapter.sol/OP_Adapter.json +1 -1
- package/dist/evm/artifacts/OP_SpokePool.sol/OP_SpokePool.json +1 -1
- package/dist/evm/artifacts/Optimism_Adapter.sol/Optimism_Adapter.json +1 -1
- package/dist/evm/artifacts/Optimism_SpokePool.sol/Optimism_SpokePool.json +1 -1
- package/dist/evm/artifacts/Ovm_SpokePool.sol/Ovm_SpokePool.json +1 -1
- package/dist/evm/artifacts/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +1 -1
- package/dist/evm/artifacts/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +1 -1
- package/dist/evm/artifacts/PolygonZkEVM_SpokePool.sol/PolygonZkEVM_SpokePool.json +1 -1
- package/dist/evm/artifacts/Polygon_Adapter.sol/Polygon_Adapter.json +1 -1
- package/dist/evm/artifacts/Polygon_SpokePool.sol/Polygon_SpokePool.json +1 -1
- package/dist/evm/artifacts/SP1AutoVerifier.sol/SP1AutoVerifier.json +1 -1
- package/dist/evm/artifacts/Scroll_SpokePool.sol/Scroll_SpokePool.json +1 -1
- package/dist/evm/artifacts/Solana_Adapter.sol/Solana_Adapter.json +1 -1
- package/dist/evm/artifacts/SpokePool.sol/SpokePool.json +1 -1
- package/dist/evm/artifacts/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +1 -1
- package/dist/evm/artifacts/SpokePoolPeriphery.sol/SwapProxy.json +1 -1
- package/dist/evm/artifacts/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +1 -1
- package/dist/evm/artifacts/SponsoredCCTPInterface.sol/SponsoredCCTPInterface.json +1 -1
- package/dist/evm/artifacts/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/TronTransferLib.sol/TronTransferLib.json +1 -0
- package/dist/evm/artifacts/Tron_SpokePool.sol/Tron_SpokePool.json +1 -0
- package/dist/evm/artifacts/Universal_Adapter.sol/Universal_Adapter.json +1 -1
- package/dist/evm/artifacts/Universal_SpokePool.sol/Universal_SpokePool.json +1 -1
- package/dist/evm/artifacts/WithdrawImplementation.sol/WithdrawImplementation.json +1 -1
- package/dist/evm/artifacts/WithdrawImplementationTron.sol/WithdrawImplementationTron.json +1 -0
- package/dist/evm/artifacts/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +1 -1
- package/dist/evm/artifacts/ZkStack_Adapter.sol/ZkStack_Adapter.json +1 -1
- package/dist/evm/artifacts/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +1 -1
- package/dist/evm/artifacts/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +1 -1
- package/dist/evm/artifacts/Zora_Adapter.sol/Zora_Adapter.json +1 -1
- package/dist/evm/artifacts/eraVM_EIP7702.sol/SimpleContract.json +1 -1
- package/dist/evm/artifacts/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +1 -1
- package/dist/evm/artifacts/eraVM_EIP7702.sol/TestableMockSpokePool.json +1 -1
- 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":"emitEvent","inputs":[],"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":"reinitialize","inputs":[{"name":"_hubPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"NewEvent","inputs":[{"name":"value","type":"bool","indexed":false,"internalType":"bool"}],"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":"0x6101403461014057601f614dc338819003918201601f19168301916001600160401b038311848410176101445780849260209460405283398101031261014057516001600160a01b0381169081900361014057306080525f60c0525f60a05260e052610e1061010052617e90610120525f5460ff8160081c166101405760ff80821603610106575b604051614c6a9081610159823960805181818161103e015281816113e90152611540015260a05181611750015260c051816118e5015260e0518181816107ac01528181613fe6015281816145fd01528181614a0c0152614a8f0152610100518181816116b501526141c80152610120518181816104ce0152613f910152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610087565b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461049f5780630cb84d9a1461049a5780631186ec331461049557806315348e441461041d57806317fcb39b1461049057806319c1648c1461048b5780631b3d5559146104865780631fab657c1461048157806322f8e5661461047c57806329cb924d146104775780632e378115146104725780632e63e59a1461046d5780633659cfe614610468578063437b911614610463578063490e49ef1461045e578063493a4f84146104595780634f1ef286146104545780635285e0581461044f57806352d1902d1461044a578063541f4f1414610445578063577f51f81461044057806357f6dcb81461043b5780635dd36f9c146104365780636068d6cb1461043157806361a04d301461042c578063647c576c14610427578063670fa8ac146104225780636bbbcd2e1461041d5780636fd5c10e14610418578063715018a614610413578063738b62e51461040e5780637659f9e0146104095780637aef642c146104045780637b0cb839146103ff5780637b939232146103fa5780637ef413e1146103f557806382e2c43f146103f057806387c3932d146103eb5780638a7860ce146103e65780638b15788e146103e15780638da5cb5b146103dc57806397943aa9146103d7578063979f2bc2146103d257806399cc2968146103cd5780639a8a0592146103c8578063a1244c67146103c3578063a18a096e146103be578063a78e4b60146103b9578063a86085c5146103b4578063ac9650d8146103af578063ad5425c6146103aa578063adb5a6a61461034b578063b370b7f5146103a5578063b4c0d7ab146103a0578063b5e1bf5f1461039b578063babb6aac14610396578063c35c83fc14610391578063c7a06c1d1461038c578063ceb4c98714610387578063d7e1583a14610382578063dda521131461037d578063ddd224f114610378578063de7eba7814610373578063deff4b241461036e578063e7b51fca14610369578063e98a565414610364578063ea86bd461461035f578063ee2a53f81461035a578063ef0e2ff414610355578063f2fde38b14610350578063f79f29ed1461034b578063f7e7d1fd146103465763fc8a584f0361000e57612cbe565b612c26565b6125d0565b612be9565b612bcf565b612b91565b612aee565b612a9a565b612a31565b61293b565b612904565b6128db565b6128b5565b612880565b61283d565b6127c1565b612796565b6126b3565b612688565b612659565b612617565b612560565b6124c1565b6123a1565b6122ae565b6121b5565b61218e565b612174565b6120de565b612017565b611f8c565b611f65565b611ef5565b611e7d565b611e05565b611ce2565b611cac565b611c15565b611bd8565b611b47565b611a22565b61197b565b611909565b6118c9565b610773565b61188f565b6117a5565b611739565b611713565b6116d9565b611699565b61161e565b611590565b611526565b6114ff565b6113a7565b61131f565b611301565b611234565b611017565b610e18565b610cc6565b610c99565b610c7f565b610b79565b610a5c565b6107f5565b61078d565b61070d565b61051d565b6104b2565b5f9103126104ae57565b5f80fd5b346104ae575f3660031901126104ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b038116036104ae57565b60e43590610510826104f2565b565b3590610510826104f2565b346104ae5760203660031901126104ae576001600160a01b03600435610542816104f2565b165f5261087460205260206001600160a01b0360405f205416604051908152f35b608435908160070b82036104ae57565b60a435908160070b82036104ae57565b63ffffffff8116036104ae57565b610104359061051082610583565b610124359061051082610583565b610144359061051082610583565b610164359061051082610583565b359061051082610583565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761060357604052565b6105d4565b6101a081019081106001600160401b0382111761060357604052565b606081019081106001600160401b0382111761060357604052565b90601f801991011681019081106001600160401b0382111761060357604052565b6040519061051060c08361063f565b604051906105106101808361063f565b604051906105106101a08361063f565b6040519061051060808361063f565b6001600160401b03811161060357601f01601f191660200190565b9291926106c58261069e565b916106d3604051938461063f565b8294818452818301116104ae578281602093845f960137010152565b9080601f830112156104ae5781602061070a933591016106b9565b90565b6101003660031901126104ae576107256004356104f2565b6107306024356104f2565b610738610563565b5061074460a435610583565b60c4356001600160401b0381116104ae576107639036906004016106ef565b506332ed1ba560e21b5f5260045ffd5b346104ae575f3660031901126104ae5760206040515f8152f35b346104ae575f3660031901126104ae5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b60409060031901126104ae576004356107e8816104f2565b9060243561070a816104f2565b346104ae57610803366107d0565b61080b613e6a565b6108136137f4565b6001600160a01b03811691821515806108ac575b61089d5761086e6001600160a01b0392610853836001600160a01b03165f5261087460205260405f2090565b906001600160a01b03166001600160a01b0319825416179055565b167f323983f5343e25b2c1396361b1b791be31484841fdfb95b8615cd02d910b1e085f80a36100186001606555565b63a63e8c6b60e01b5f5260045ffd5b50604051637e062a3560e11b8152602081600481875afa908115610915575f916108e6575b506001600160a01b0380831691161415610827565b610908915060203d60201161090e575b610900818361063f565b810190613805565b5f6108d1565b503d6108f6565b61381a565b6001600160401b0381116106035760051b60200190565b9080601f830112156104ae5781356109488161091a565b92610956604051948561063f565b81845260208085019260051b8201019283116104ae57602001905b82821061097e5750505090565b8135815260209182019101610971565b9080601f830112156104ae5781356109a58161091a565b926109b3604051948561063f565b81845260208085019260051b8201019283116104ae57602001905b8282106109db5750505090565b6020809183356109ea816104f2565b8152019101906109ce565b929190610a018161091a565b93610a0f604051958661063f565b602085838152019160051b81019283116104ae57905b828210610a3157505050565b8135815260209182019101610a25565b9080601f830112156104ae5781602061070a933591016109f5565b60603660031901126104ae57600435610a7481610583565b602435906001600160401b0382116104ae5760c060031983360301126104ae57610a9c610660565b91806004013583526024810135602084015260448101356001600160401b0381116104ae57610ad19060043691840101610931565b6040840152610ae2606482016105c9565b6060840152610af360848201610512565b608084015260a4810135906001600160401b0382116104ae576004610b1b923692010161098e565b60a0830152604435916001600160401b0383116104ae57610b43610018933690600401610a41565b91612cee565b9181601f840112156104ae578235916001600160401b0383116104ae576020808501948460051b0101116104ae57565b346104ae5760603660031901126104ae576004356001600160401b0381116104ae578036039060606003198301126104ae57602435610bb781610583565b6044356001600160401b0381116104ae57610bd6903690600401610b49565b919093610be16137f4565b60048401359061018219018112156104ae57610c7594610c7093610c0c6004610c6994880101612ee3565b95610c22610c1d6080890151613b2a565b613825565b6044610c2d88613711565b91013560208801519061016089015192610c45610660565b998a5260208a01526040890152606088015260808701525f60a087015236916109f5565b9083613b40565b613bca565b6100186001606555565b346104ae5760203660031901126104ae57600435610cbf55005b346104ae575f3660031901126104ae576020610cbf54604051908152f35b90816101809103126104ae5790565b346104ae5760403660031901126104ae576004356001600160401b0381116104ae57610cf6903690600401610cb7565b602435610d0282612eee565b6001600160a01b031691610d1860208201612eee565b6001600160a01b031690610d2e60408201612eee565b6001600160a01b031690610d4460608201612eee565b6001600160a01b0316610d5960808301612eee565b6001600160a01b031660e083013560c084013560a0850135610d7e6101008701612ef8565b93610d8c6101208801612ef8565b95610d9a6101408901612ef8565b976101608101610da991612f02565b99909a610db461066f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015263ffffffff166101408501523690610e06926106b9565b6101608301526100189133919061374b565b346104ae5760203660031901126104ae576004356001600160401b0381116104ae57610e48903690600401610cb7565b610e506137f4565b60ff61086b5460e01c1661100857610cbf5463ffffffff1690610140810190610e8b83610e7c84612ef8565b63ffffffff9182169116101590565b610ff95761012081019263ffffffff80610ea486612ef8565b9216911610610fea57610ebf610eba36836122e8565b613711565b90610ed3825f5261087260205260405f2090565b54610fdc57610f15610f0f7f3cee3e290f36226751cd0b3321b213890fe9c768e922f267fa6111836ce05c32935f5261087260205260405f2090565b60019055565b6060810135610fcf60808301359260a08101359060c081013560e082013597610f4c610f466101008501359b612ef8565b91612ef8565b604084013591843593610f7b610f76610f6f602089013598610160810190612f02565b36916106b9565b613d75565b966040519a8b9a8b969394610120989563ffffffff9485939d9c9b98946101408b019e8b5260208b015260408a015260608901521660808701521660a085015260c084015260e08301526101008201520152565b0390a36100186001606555565b624be79160e21b5f5260045ffd5b63d642b7d960e01b5f5260045ffd5b630277ae7b60e21b5f5260045ffd5b633d90fc5560e11b5f5260045ffd5b346104ae5760203660031901126104ae57600435611034816104f2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168030146104ae576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416036104ae5761109d613e6a565b6110a561263e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110d95750610018906147c5565b6040516352d1902d60e01b8152906020826004816001600160a01b0387165afa5f928161113f575b5061110a575f80fd5b6100189261113a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f9414612f57565b6146f4565b61116291935060203d602011611169575b61115a818361063f565b81019061393b565b915f611101565b503d611150565b60206003198201126104ae57600435906001600160401b0382116104ae5761119a91600401610b49565b9091565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106111f457505050505090565b9091929394602080611225600193603f198682030187526040838b518051151584520151918185820152019061119e565b970193019301919392906111e5565b346104ae5761124236611170565b61124b8161091a565b91611259604051938461063f565b818352601f196112688361091a565b015f5b8181106112dd5750505f5b82811061128f576040518061128b86826111c2565b0390f35b806112d761129f60019387612f5e565b515f806112ad858989612f72565b906112bd60405180938193612f89565b0390305af4906112cb612f96565b60208201529015159052565b01611276565b6020906040516112ec816105e8565b5f81526060838201528282880101520161126b565b346104ae575f3660031901126104ae5760206040516301e133808152f35b346104ae5760403660031901126104ae5760243560043561133e613e6a565b6113466137f4565b61086c54680100000000000000008110156106035780600163ffffffff920161086c558361137382612b6e565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b60403660031901126104ae576004356113bf816104f2565b6024356001600160401b0381116104ae576113de9036906004016106ef565b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168030146104ae576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416036104ae57611448613e6a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561147c5761001891506147c5565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f91816114de575b506114ac575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc036104ae57610018916001916146f4565b6114f891925060203d6020116111695761115a818361063f565b905f6114a3565b346104ae575f3660031901126104ae5760206001600160a01b036108695416604051908152f35b346104ae575f3660031901126104ae576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104ae5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b6101203660031901126104ae576115a86004356104f2565b6115b36024356104f2565b6115be6044356104f2565b6115c6610573565b506115d260c435610583565b60e4356001600160401b0381116104ae576107639036906004016106ef565b9181601f840112156104ae578235916001600160401b0383116104ae57602083818601950101116104ae57565b346104ae5760c03660031901126104ae5760043561163b816104f2565b6024356044359160643561164e816104f2565b6084356001600160401b0381116104ae5761166d9036906004016115f1565b9160a435956001600160401b0387116104ae576116916100189736906004016115f1565b969095613018565b346104ae575f3660031901126104ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104ae5760403660031901126104ae5760243560043560038210156104ae5761170282612f48565b5f5261087260205260405f20555f80f35b346104ae575f3660031901126104ae57602060ff61086b5460e81c166040519015158152f35b346104ae575f3660031901126104ae5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b60609060031901126104ae5760043561178b81610583565b90602435611798816104f2565b9060443561070a816104f2565b346104ae576118026117b636611773565b5f5493929091906117e860ff600887901c16156117d2565b1590565b80968197611881575b8115611861575b50612f57565b846117f9600160ff195f5416175f55565b61184a5761308f565b61180857005b61181661ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1005b61185c61010061ff00195f5416175f55565b61308f565b303b15915081611873575b505f6117e2565b60ff1660011490505f61186c565b600160ff82161091506117db565b346104ae575f3660031901126104ae5760206040517f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f8152f35b346104ae575f3660031901126104ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104ae575f3660031901126104ae57611921613e6a565b5f6001600160a01b03610c8c546001600160a01b03198116610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b801515036104ae57565b6044359061051082611964565b346104ae5760203660031901126104ae577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae4921960206004356119bb81611964565b6119c3613e6a565b6119cb6137f4565b151561086b547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e81b8360e81b1691161761086b55604051908152a16001606555005b90602061070a92818152019061119e565b346104ae5760203660031901126104ae576004356001600160401b0381116104ae57611a529036906004016115f1565b611a5a613e6a565b611a626137f4565b81016040828203126104ae57813591611a7a836104f2565b6020810135916001600160401b0383116104ae576001600160a01b0392611aa192016106ef565b91168015611b38576004825110611b29575f8083516020850182855af190611ac7612f96565b9115611b1a577f41a941b8313293eca483f41d8faa2498e005e6d7700e2e93f41d3cb7e70a897d611b0161128b9460405191829182611a11565b0390a2611b0e6001606555565b60405191829182611a11565b6348ebf0a960e11b5f5260045ffd5b637f5e6be560e01b5f5260045ffd5b634e93b52160e11b5f5260045ffd5b6101603660031901126104ae57600435611b60816104f2565b602435611b6c816104f2565b60443591611b79836104f2565b606435611b85816104f2565b60843560e43560c43560a435611b9a836104f2565b611ba2610591565b93611bab61059f565b9561014435996001600160401b038b116104ae57611bd06100189b36906004016115f1565b9a909961318a565b346104ae575f3660031901126104ae577fc40e7ebe8d73fd5a0cb54204770418c5a137493f190ccec1bb558170cd0bf49a602060405160018152a1005b6101803660031901126104ae57600435611c2e816104f2565b602435611c3a816104f2565b60443591611c47836104f2565b606435611c53816104f2565b60843560a43560c435611c64610503565b90611c6d610591565b92611c7661059f565b94611c7f6105ad565b96610164359a6001600160401b038c116104ae57611ca46100189c36906004016115f1565b9b909a6131af565b346104ae5760603660031901126104ae576020611cda600435611cce816104f2565b602435604435916132d5565b604051908152f35b346104ae5760603660031901126104ae576004356024356001600160401b0381116104ae57611d159036906004016115f1565b906044356001600160401b0381116104ae57611d359036906004016115f1565b919093611d40613585565b604051611d6581611d576020820194898887613313565b03601f19810183528261063f565b51902003611df6575f93611d80828695611d8994019061285b565b92810190613330565b51611dc0611d9e335b6001600160a01b031690565b91611d5760405193849260208401966337bfd2c960e21b8852602485016133fa565b5190305af4611dcd612f96565b9015611dd557005b60405163b8fe37a760e01b8152908190611df29060048301611a11565b0390fd5b630f0c8f4760e11b5f5260045ffd5b346104ae5760c03660031901126104ae576024356004356044356001600160401b0381116104ae57611e3b903690600401610931565b606435611e4781610583565b60843591611e54836104f2565b60a435946001600160401b0386116104ae57611e7761001896369060040161098e565b9461341c565b346104ae5760203660031901126104ae57600435611e99613e6a565b611ea16137f4565b611eaa81612b6e565b611ee2576001815f80935501557f7c1af0646963afc3343245b103731965735a893347bfa0d58a5dc77a77ae691c5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b6101a03660031901126104ae5760443560243560043560643560843560a4356101043560e43560c435611f2661059f565b93611f2f6105ad565b95611f386105bb565b97610184359b6001600160401b038d116104ae57611f5d6100189d36906004016115f1565b9c909b61342d565b346104ae575f3660031901126104ae5760206001600160a01b03610c8c5416604051908152f35b346104ae5760e03660031901126104ae576004356001600160401b0381116104ae57611fbc903690600401610cb7565b602435604435916064356084359060a4356001600160401b0381116104ae57611fe99036906004016115f1565b92909160c435966001600160401b0388116104ae5761200f6100189836906004016115f1565b9790966134a5565b346104ae5761202536611773565b909160ff5f5460081c16156104ae5761205b9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b604080519261206a828561063f565b600984526020808501926820a1a927a9a996ab1960b91b845261208f8151918261063f565b6005815201640312e302e360dc1b815260ff5f5460081c16156104ae5760056120d9936100189651902091209061047f55610480556120cc6141fd565b6120d461420c565b614220565b614278565b346104ae5760203660031901126104ae577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e602060043561211e81611964565b612126613e6a565b61212e6137f4565b151561086b547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e01b8360e01b1691161761086b55604051908152a16001606555005b346104ae575f3660031901126104ae576020611cda613585565b346104ae575f3660031901126104ae57602063ffffffff61086b5460c01c16604051908152f35b346104ae5760403660031901126104ae576004356024356121d582614412565b6001600160a01b03821691825f5261087360205261220660405f20336001600160a01b03165f5260205260405f2090565b5492831561229f5761224f5f9161221c84614412565b61223933916001600160a01b03165f5261087360205260405f2090565b906001600160a01b03165f5260205260405f2090565b5561226f83612260611d9284613b2a565b61226985613b2a565b906142d0565b60405192835233927f6c172ea51018fb2eb2118f3f8a507c4df71eb519b8c0052834dc3c920182fef490602090a4005b6336542bf760e21b5f5260045ffd5b346104ae575f3660031901126104ae5760206040517ffafff4a89cb727c4f11a474c303e417b3057d7e735633ec7a1aab4d27ff2283c8152f35b919091610180818403126104ae576122fe61066f565b92813584526020820135602085015260408201356040850152606082013560608501526080820135608085015260a082013560a085015260c082013560c085015260e082013560e085015261010082013561010085015261236261012083016105c9565b61012085015261237561014083016105c9565b6101408501526101608201356001600160401b0381116104ae5761239992016106ef565b610160830152565b346104ae5760603660031901126104ae576004356001600160401b0381116104ae5760c060031982360301126104ae576123d9610660565b81600401356001600160401b0381116104ae576123fc90600436918501016122e8565b815260248201356020820152604482013560408201526064820135606082015260848201356001600160401b0381116104ae576100189261244560a492600436918401016106ef565b6080840152013560a082015260243561245c61196e565b91613cd2565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061249457505050505090565b90919293946020806124b2600193603f19868203018752895161119e565b97019301930191939290612485565b346104ae576124cf36611170565b906124d982613593565b915f5b8181106124f1576040518061128b8682612462565b5f806124fe838587612f72565b9061250e60405180938193612f89565b0390305af461251b612f96565b9015612541579060019161252f8287612f5e565b5261253a8186612f5e565b50016124dc565b60448151106104ae578060248060046104ae94015183010191016135dc565b6101803660031901126104ae576044356024356004356064356084356101043560e43560c43560a43561259284610583565b61259a61059f565b946125a36105ad565b96610164359a6001600160401b038c116104ae576125c86100189c36906004016115f1565b9b909a61363e565b346104ae57602061260e6001600160a01b036125eb366107d0565b91165f52610873835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b346104ae575f3660031901126104ae5760206001600160a01b0361086a5416604051908152f35b6040519061264d60208361063f565b5f808352366020840137565b346104ae575f3660031901126104ae5761128b61267461263e565b60405191829160208352602083019061119e565b346104ae575f3660031901126104ae576020604051701d6329f1c35ca4bfabb9f56100000000008152f35b346104ae5760c03660031901126104ae576004356024356044356064356084356001600160401b0381116104ae576126ef9036906004016115f1565b60a493919335906001600160401b0382116104ae577f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c269461273761278c9336906004016115f1565b9290916127426137f4565b61274b8a614412565b6127808a8a898961275a613585565b6127653689896106b9565b936001600160a01b03612779368d8d6106b9565b9616613d8a565b60405196879687612fe5565b0390a36001606555005b346104ae5760203660031901126104ae576004355f52610872602052602060405f2054604051908152f35b346104ae5760e03660031901126104ae576004356127de816104f2565b602435906044356084356064356127f4826104f2565b60a4356001600160401b0381116104ae576128139036906004016106ef565b9260c435956001600160401b0387116104ae576128376100189736906004016106ef565b956136f9565b346104ae575f3660031901126104ae57602060405163ffffffff8152f35b906020828203126104ae5781356001600160401b0381116104ae5761070a92016122e8565b346104ae5760203660031901126104ae576004356001600160401b0381116104ae57611cda610eba60209236906004016122e8565b346104ae575f3660031901126104ae57602060ff61086b5460e01c166040519015158152f35b346104ae575f3660031901126104ae5760206040516ec097ce7bc90715b34b9f10000000008152f35b346104ae5760203660031901126104ae57612934600435612924816104f2565b61292c613e6a565b6120d46137f4565b6001606555005b346104ae5760603660031901126104ae576004356001600160401b0381116104ae5761296b9036906004016122e8565b602435906044359061297b6137f4565b60ff61086b5460e01c16611008576129b161299e61014083015163ffffffff1690565b610cbf5463ffffffff9081169116101590565b80612a12575b612a0357610c75926129c882613711565b60c0830151602084015190610160850151926129e2610660565b958652602086015260408501526060840152608083015260a0820152613c46565b630c3a9b9d60e41b5f5260045ffd5b50612a206040820151613b2a565b6001600160a01b03163314156129b7565b346104ae5760e03660031901126104ae5760243560043560443560843560643560a4356001600160401b0381116104ae57612a709036906004016106ef565b9260c435956001600160401b0387116104ae57612a946100189736906004016106ef565b956137af565b60203660031901126104ae576004356001600160401b0381116104ae575f612ac7819236906004016106ef565b612acf6137f4565b60208151910134305af1612ae1612f96565b50156104ae576001606555005b6101603660031901126104ae576044356024356004356064356101043560e43560c43560a435608435612b2085610583565b6101243595612b2e87610583565b61014435996001600160401b038b116104ae57612b526100189b36906004016115f1565b9a90996137d0565b634e487b7160e01b5f52603260045260245ffd5b61086c54811015612b8c5761086c5f52600360205f20910201905f90565b612b5a565b346104ae5760203660031901126104ae5760043561086c548110156104ae57612bbb604091612b6e565b506001815491015482519182526020820152f35b346104ae5760203660031901126104ae57600435610cbe55005b346104ae5760203660031901126104ae57600435612c06816104f2565b612c0e613e6a565b6001600160a01b038116156104ae5761001890613e7f565b346104ae5760203660031901126104ae57600435612c43816104f2565b5f549060ff8260081c161580612cb1575b156104ae5761ffff1991909116610102175f55612c7090614278565b612c7e61ff00195f54165f55565b604051600281527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498908060208101611845565b50600260ff831610612c54565b346104ae5760203660031901126104ae57612934600435612cde816104f2565b612ce6613e6a565b6120d96137f4565b9190612cf86137f4565b60808101612d10610c1d82516001600160a01b031690565b60208201928351612d1f613585565b03612e17576117ce612d3f91846001612d3789612b6e565b50015461385b565b612e085763ffffffff7ff4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e91612dfb6060850195612d89612d83885163ffffffff1690565b896138df565b8051958051612de5612dd7612dc6604085019a8c612dad8d51915163ffffffff1690565b8a516001600160a01b03169160a0890197885194613957565b9351945199519a5163ffffffff1690565b95516001600160a01b031690565b90519086604051978897169b1699339487612e95565b0390a46105106001606555565b63582f497d60e11b5f5260045ffd5b633d23e4d160e11b5f5260045ffd5b90602080835192838152019201905f5b818110612e435750505090565b8251845260209384019390920191600101612e36565b90602080835192838152019201905f5b818110612e765750505090565b82516001600160a01b0316845260209384019390920191600101612e69565b949695919260a0946001600160a01b03612ec18196612ed5958a5260c060208b015260c08a0190612e26565b921660408801528682036060880152612e59565b951515608085015216910152565b61070a9036906122e8565b3561070a816104f2565b3561070a81610583565b903590601e19813603018212156104ae57018035906001600160401b0382116104ae576020019181360383136104ae57565b634e487b7160e01b5f52602160045260245ffd5b60031115612f5257565b612f34565b156104ae57565b8051821015612b8c5760209160051b010190565b90821015612b8c5761119a9160051b810190612f02565b908092918237015f815290565b3d15612fc0573d90612fa78261069e565b91612fb5604051938461063f565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b9492909361300a9261070a979587526020870152608060408701526080860191612fc5565b926060818503910152612fc5565b92957f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26956001600160a01b03958461307c8561308a979c969b8a61305a613585565b911680946130693689896106b9565b92613075368c8c6106b9565b948d613d8a565b604051978897169a87612fe5565b0390a3565b91909160ff5f5460081c16156104ae576130a833613e7f565b60ff5f5460081c16156104ae576130dc9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b60408051926130eb828561063f565b600984526020808501926820a1a927a9a996ab1960b91b84526131108151918261063f565b6005815201640312e302e360dc1b815260ff5f5460081c16156104ae5760056120d99361314d9651902091209061047f55610480556120cc6141fd565b61051042610cbf55565b634e487b7160e01b5f52601160045260245ffd5b9063ffffffff8091169116019063ffffffff821161318557565b613157565b96949290916105109b9a99989694926131ad63ffffffff610cbf5416988961316b565b985b9593919b999897969492909b6131c36137f4565b61086b5460ff8160e81c166132c65760c01c63ffffffff16966131e5886136e2565b61320c9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b61321461067f565b9d6001600160a01b038f921682526001600160a01b031690602001526001600160a01b031660408d01526001600160a01b031660608c015260808b015260a08a015260c08901526001600160a01b031660e088015263ffffffff1661010087015261012086019061328a919063ffffffff169052565b63ffffffff1661014085015263ffffffff1661016084015236906132ad926106b9565b6101808201526132bc90613f29565b6105106001606555565b630b4cba3160e31b5f5260045ffd5b916040519160208301936bffffffffffffffffffffffff199060601b168452603483015260548201526054815261330d60748261063f565b51902090565b93929160209161332b91604087526040870191612fc5565b930152565b908160209103126104ae5760405190602082018281106001600160401b038211176106035760405235815290565b9061018061016061070a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c085015260e081015160e08501526101008101516101008501526133d861012082015161012086019063ffffffff169052565b6101408181015163ffffffff169085015201519181610160820152019061119e565b6134126040929594939560608352606083019061335e565b9460208201520152565b9061342a9594939291613957565b50565b9c9a99989796959493929190966134426137f4565b60ff61086b5460e81c166132c65761345b908e336132d5565b96604051809e61346a82610608565b81526020015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015263ffffffff1661012086015261328a565b9792909596949391966134b66137f4565b60ff61086b5460e01c16611008576134d461299e6101408b01612ef8565b80613566575b612a03576132bc9861355b613561976134f6610eba36856122e8565b996134ff610660565b9a61350a36866122e8565b8c5260208c01528560408c01528660608c015261352836868b6106b9565b60808c015260a08b015261355361353f8435613b2a565b9860e06101008601359501359536916106b9565b9636916106b9565b95613d8a565b613c46565b5061357460408a0135613b2a565b6001600160a01b03163314156134da565b610cbe548061070a57504690565b9061359d8261091a565b6135aa604051918261063f565b82815280926135bb601f199161091a565b01905f5b8281106135cb57505050565b8060606020809385010152016135bf565b6020818303126104ae578051906001600160401b0382116104ae570181601f820112156104ae5780519061360f8261069e565b9261361d604051948561063f565b828452602083830101116104ae57815f9260208093018386015e8301015290565b9b999897969492909593916136516137f4565b61086b5460ff8160e81c166132c65760c01c63ffffffff1696613673886136e2565b61369a9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b6136a261067f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015261328a565b63ffffffff1663ffffffff81146131855760010190565b9291906001600160a01b036105109796951693613d8a565b613719613585565b61330d6040518092613737602083019560408752606084019061335e565b90604083015203601f19810183528261063f565b9190916137566137f4565b60ff61086b5460e01c166110085761377961299e61014083015163ffffffff1690565b80613790575b612a03576132bc926129c882613711565b5061379e6040820151613b2a565b6001600160a01b031633141561377f565b906001600160a01b036105109796959493926137ca81614412565b16613d8a565b9a989795929693909491966137ef63ffffffff610cbf5416978861316b565b976136515b6002606554146104ae576002606555565b908160209103126104ae575161070a816104f2565b6040513d5f823e3d90fd5b60207fbf5a3af3d17ceac90c3b9679ade47cac7b436a621a5d486daae6ae96dfd511a1916001600160a01b0360405191168152a1565b61070a92916040516138d681611d57602082019460208652805160408401526020810151606084015260a06138a0604083015160c06080870152610100860190612e26565b606083015163ffffffff168583015260808301516001600160a01b031660c0860152910151838203603f190160e0850152612e59565b51902091614311565b6138ea600291612b6e565b500162ffffff8260081c1691825f5281602052600160ff60405f205492161b808092161461392c57825f528160205260405f205417915f5260205260405f2055565b63954476d960e01b5f5260045ffd5b908160209103126104ae575190565b9190820180921161318557565b91959495939092935f9681519081815103613b1b57816139d6575b50505082613981575b50505050565b63ffffffff6139b8611d9283611d927ffa7fa7cf6d7dde5f9be65a67e6a1a747e7aa864dcd2d793353c722d80fbbb35795886143d4565b6040805195865233602087015290959190911693a45f80808061397b565b6040516370a0823160e01b81523060048201526020816024816001600160a01b0389165afa908115610915575f91613afc575b505f5f5b848110613a1c57505050613972565b613a268187612f5e565b51613a34575b600101613a0d565b90613a4a90613a438388612f5e565b519061394a565b90828211613aed57613a846117ce613a72613a658488612f5e565b516001600160a01b031690565b613a7c848a612f5e565b51908a614362565b15613a2c579a50613a958b86612f5e565b51613ae3613adb8d613ac6613a65613abf8c6001600160a01b03165f5261087360205260405f2090565b9289612f5e565b6001600160a01b03165f5260205260405f2090565b91825461394a565b905560019a613a2c565b632ddaa83160e11b5f5260045ffd5b613b15915060203d6020116111695761115a818361063f565b5f613a09565b6319a5316760e31b5f5260045ffd5b6001600160a01b0390613b3c81614412565b1690565b916117ce91613bc4938051906138d6613b826040613b5c613585565b9301519460405194613b6d86610624565b85526020850193845260408501958652612b6e565b505493604051928391613ba9602084019660208852516060604086015260a085019061335e565b9151606084015251608083015203601f19810183528261063f565b612e0857565b805163ffffffff6101208201511663ffffffff610cbf54911610610fea576020820151906002613c03835f5261087260205260405f2090565b5414613c3757610510926002613c246001945f5261087260205260405f2090565b55613c3260025f84846144bf565b6145c1565b630479306360e51b5f5260045ffd5b90815163ffffffff6101208201511663ffffffff610cbf54911610610fea576020830151926001613c80855f5261087260205260405f2090565b5403613ccb576001935b6002613c9f825f5261087260205260405f2090565b5414613c3757610510945f946002613cc3613c32945f5261087260205260405f2090565b5584846144bf565b5f93613c8a565b919091805190613cea61012083015163ffffffff1690565b63ffffffff610cbf54911610610fea5760208101518315613d4d5760025b6002613d1d835f5261087260205260405f2090565b5414613c375761051095613d46613d40613c32945f5261087260205260405f2090565b60029055565b84846144bf565b6001613d62825f5261087260205260405f2090565b5403613d6f576001613d08565b5f613d08565b80519081613d835750505f90565b6020012090565b9392604293610510979660208151910120906040519260208401947f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f86526040850152856060850152608084015260a083015260c082015260c08152613df160e08261063f565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e855260408401526060830152608082015260808152613e4960a08261063f565b519020906040519161190160f01b8352600283015260228201522090614826565b6001600160a01b03610c8c541633036104ae57565b6001600160a01b0380610c8c54921691826001600160a01b0319821617610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b9190820391821161318557565b9692610140989563ffffffff95869492859361070a9e9d9a958c5260208c015260408b015260608a01521660808801521660a08601521660c084015260e083015261010082015281610120820152019061119e565b613f338151614412565b606081018051156141ef57610cbf54610120830191613f62613f59845163ffffffff1690565b63ffffffff1690565b8083109081156141b6575b506141a757610140840193613f86855163ffffffff1690565b63ffffffff613fb7817f0000000000000000000000000000000000000000000000000000000000000000168661394a565b9116116141985761016081015163ffffffff16928380614152575b505060408101918251926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680941480614149575b156140f957608083015134036140ea57833b156104ae575f60049460405195868092630d0e30db60e41b825234905af1908115610915577f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3946140cb926140d0575b505b5191519260808101519060a081015160c0820151976140aa61409f6101008501519b5163ffffffff1690565b9b5163ffffffff1690565b83519b60208501519361018060e0870151960151966040519a8b9a8b613ed4565b0390a4565b806140de5f6140e49361063f565b806104a4565b5f614071565b636452a35d60e01b5f5260045ffd5b9250346140ea576140cb83614144614135611d927f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad39751613b2a565b60808601519030903390614912565b614073565b5034151561400f565b6301e13380101561417f575b5060e081015115614170575f80613fd2565b63495d907f60e01b5f5260045ffd5b9263ffffffff6141919294169061316b565b915f61415e565b63582e388960e01b5f5260045ffd5b63f722177f60e01b5f5260045ffd5b6141c1915083613ec7565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016105f613f6d565b6231010160e51b5f5260045ffd5b60ff5f5460081c16156104ae57565b60ff5f5460081c16156104ae576001606555565b6001600160a01b0316801561426957806001600160a01b0319610869541617610869557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b63ba97b39d60e01b5f5260045ffd5b6001600160a01b031680156142c157806001600160a01b031961086a54161761086a557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b635b03092b60e11b5f5260045ffd5b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526105109161430c60648361063f565b614953565b929091905f915b845183101561435a5761432b8386612f5e565b519081811015614349575f52602052600160405f205b920191614318565b905f52602052600160405f20614341565b915092501490565b60405163a9059cbb60e01b60208281019182526001600160a01b039094166024830152604482019490945290925f9161439e8160648101611d57565b519082855af1903d5f5190836143b5575b50505090565b919250906143ca57503b15155b5f80806143af565b60019150146143c2565b604080519182526001600160a01b039290921660208201527fb6e6ae61a8fa98a339088353bc7a76c8c580b2efd09210a80bfccabe05d9ae479190a1565b60a01c61441b57565b6379ec0ed760e11b5f5260045ffd5b61443382612f48565b52565b9a98969492909c9b99979593916101e08c019d8c5260208c015260408b015260608a0152608089015263ffffffff1660a088015263ffffffff1660c087015260e08601526101008501526101208401526101408301528051610160830152602081015161018083015260408101516101a083015260600151906144b882612f48565b6101c00152565b7f44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa7503746901372089093929360608301516140cb60808501519260a08601519660c08701519660a08301519860e0820151986101008301519a61452361012085015163ffffffff1690565b61014085015163ffffffff169160408601519386519561458761454f61016060208b01519a0151613d75565b9960608c01519b60406145656080830151613d75565b91015190602061457361068f565b9e8f528e015260408d015260608c0161442a565b6040519c8d9c8d614436565b9061070a94936080936001600160a01b0380931684526020840152166040820152816060820152019061119e565b9060806145cf910151613b2a565b9160806040830151926145e56060820151613b2a565b92846001600160a01b03871691856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684145f146146d65750156146c2575b61464091506001600160a01b0385166149e7565b01519081511515806146b8575b6146575750505050565b6001600160a01b0316803b156104ae5761468d935f809460405196879586948593633a5be8cb60e01b8552339160048601614593565b03925af18015610915576146a4575b80808061397b565b806140de5f6146b29361063f565b5f61469c565b50803b151561464d565b6146cf9130903390614912565b5f8461462c565b906146eb576146e6923390614912565b614640565b6146e6926142d0565b916146fe836147c5565b6001600160a01b0383167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115908115916147bd575b50614741575050565b61342a915f806040519361475660608661063f565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46147b7612f96565b91614b8e565b90505f614738565b803b156104ae576001600160a01b03166001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b9190916148338284614b5d565b9390926005851015612f525761485c941593846148fc575b508315614871575b50505015151590565b61486257565b63938a182160e01b5f5260045ffd5b5f935090611d576148a98594936040519283916020830195630b135d3f60e11b8752602484015260406044840152606483019061119e565b51915afa6148b5612f96565b816148ee575b816148ca575b505f8080614853565b90506148e7630b135d3f60e11b916020808251830101910161393b565b145f6148c1565b9050602081511015906148bb565b6001600160a01b0384811691161493505f61484b565b9091926001600160a01b036105109481604051956323b872dd60e01b602088015216602486015216604484015260648301526064825261430c60848361063f565b906001600160a01b036149ae92165f806040519361497260408661063f565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af16147b7612f96565b80519081159182156149c4575b5050156104ae57565b81925090602091810103126104ae57602001516149e081611964565b5f806149bb565b906001600160a01b038216803b158015614ab4575b15614a8057506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b156104ae57604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156109155761051093614a6c575b50614b35565b806140de5f614a7a9361063f565b5f614a66565b61051092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166142d0565b50614abe81614ac3565b6149fc565b803b614ace8161069e565b90614adc604051928361063f565b8082525f6020830180943c5190516001600160e81b03198116919060038210614b16575b50506001600160e81b03191661ef0160f01b1490565b6001600160e81b0319600392830390921b82901b161690505f80614b00565b8147106104ae575f8080936001600160a01b038294165af1614b55612f96565b50156104ae57565b9060418151145f14614b855761119a91602082015190606060408401519301515f1a90614bb9565b50505f90600290565b91925015614baa57815115614ba1575090565b3b156104ae5790565b5080519081156104ae57602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614c29576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15610915575f516001600160a01b03811615614c2157905f90565b505f90600190565b505050505f9060039056fea264697066735822122040549abd8c57891add07530fe4a7d9179a250dfb9b2f83f62228eda27793f05b64736f6c634300081e0033"}
|
|
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":"emitEvent","inputs":[],"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":"reinitialize","inputs":[{"name":"_hubPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"NewEvent","inputs":[{"name":"value","type":"bool","indexed":false,"internalType":"bool"}],"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":"0x6101403461014057601f614df938819003918201601f19168301916001600160401b038311848410176101445780849260209460405283398101031261014057516001600160a01b0381169081900361014057306080525f60c0525f60a05260e052610e1061010052617e90610120525f5460ff8160081c166101405760ff80821603610106575b604051614ca09081610159823960805181818161103e015281816113e90152611540015260a05181611750015260c051816118e5015260e0518181816107ac01528181613fe30152818161463d01528181614a420152614ac50152610100518181816116b501526141c50152610120518181816104ce0152613f8e0152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610087565b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461049f5780630cb84d9a1461049a5780631186ec331461049557806315348e441461041d57806317fcb39b1461049057806319c1648c1461048b5780631b3d5559146104865780631fab657c1461048157806322f8e5661461047c57806329cb924d146104775780632e378115146104725780632e63e59a1461046d5780633659cfe614610468578063437b911614610463578063490e49ef1461045e578063493a4f84146104595780634f1ef286146104545780635285e0581461044f57806352d1902d1461044a578063541f4f1414610445578063577f51f81461044057806357f6dcb81461043b5780635dd36f9c146104365780636068d6cb1461043157806361a04d301461042c578063647c576c14610427578063670fa8ac146104225780636bbbcd2e1461041d5780636fd5c10e14610418578063715018a614610413578063738b62e51461040e5780637659f9e0146104095780637aef642c146104045780637b0cb839146103ff5780637b939232146103fa5780637ef413e1146103f557806382e2c43f146103f057806387c3932d146103eb5780638a7860ce146103e65780638b15788e146103e15780638da5cb5b146103dc57806397943aa9146103d7578063979f2bc2146103d257806399cc2968146103cd5780639a8a0592146103c8578063a1244c67146103c3578063a18a096e146103be578063a78e4b60146103b9578063a86085c5146103b4578063ac9650d8146103af578063ad5425c6146103aa578063adb5a6a61461034b578063b370b7f5146103a5578063b4c0d7ab146103a0578063b5e1bf5f1461039b578063babb6aac14610396578063c35c83fc14610391578063c7a06c1d1461038c578063ceb4c98714610387578063d7e1583a14610382578063dda521131461037d578063ddd224f114610378578063de7eba7814610373578063deff4b241461036e578063e7b51fca14610369578063e98a565414610364578063ea86bd461461035f578063ee2a53f81461035a578063ef0e2ff414610355578063f2fde38b14610350578063f79f29ed1461034b578063f7e7d1fd146103465763fc8a584f0361000e57612cbb565b612c23565b6125cd565b612be6565b612bcc565b612b8e565b612aeb565b612a97565b612a2e565b612938565b612901565b6128d8565b6128b2565b61287d565b61283a565b6127be565b612793565b6126b0565b612685565b612656565b612614565b61255d565b6124be565b61239e565b6122ab565b6121b5565b61218e565b612174565b6120de565b612017565b611f8c565b611f65565b611ef5565b611e7d565b611e05565b611ce2565b611cac565b611c15565b611bd8565b611b47565b611a22565b61197b565b611909565b6118c9565b610773565b61188f565b6117a5565b611739565b611713565b6116d9565b611699565b61161e565b611590565b611526565b6114ff565b6113a7565b61131f565b611301565b611234565b611017565b610e18565b610cc6565b610c99565b610c7f565b610b79565b610a5c565b6107f5565b61078d565b61070d565b61051d565b6104b2565b5f9103126104ae57565b5f80fd5b346104ae575f3660031901126104ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b038116036104ae57565b60e43590610510826104f2565b565b3590610510826104f2565b346104ae5760203660031901126104ae576001600160a01b03600435610542816104f2565b165f5261087460205260206001600160a01b0360405f205416604051908152f35b608435908160070b82036104ae57565b60a435908160070b82036104ae57565b63ffffffff8116036104ae57565b610104359061051082610583565b610124359061051082610583565b610144359061051082610583565b610164359061051082610583565b359061051082610583565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761060357604052565b6105d4565b6101a081019081106001600160401b0382111761060357604052565b606081019081106001600160401b0382111761060357604052565b90601f801991011681019081106001600160401b0382111761060357604052565b6040519061051060c08361063f565b604051906105106101808361063f565b604051906105106101a08361063f565b6040519061051060808361063f565b6001600160401b03811161060357601f01601f191660200190565b9291926106c58261069e565b916106d3604051938461063f565b8294818452818301116104ae578281602093845f960137010152565b9080601f830112156104ae5781602061070a933591016106b9565b90565b6101003660031901126104ae576107256004356104f2565b6107306024356104f2565b610738610563565b5061074460a435610583565b60c4356001600160401b0381116104ae576107639036906004016106ef565b506332ed1ba560e21b5f5260045ffd5b346104ae575f3660031901126104ae5760206040515f8152f35b346104ae575f3660031901126104ae5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b60409060031901126104ae576004356107e8816104f2565b9060243561070a816104f2565b346104ae57610803366107d0565b61080b613e67565b6108136137f1565b6001600160a01b03811691821515806108ac575b61089d5761086e6001600160a01b0392610853836001600160a01b03165f5261087460205260405f2090565b906001600160a01b03166001600160a01b0319825416179055565b167f323983f5343e25b2c1396361b1b791be31484841fdfb95b8615cd02d910b1e085f80a36100186001606555565b63a63e8c6b60e01b5f5260045ffd5b50604051637e062a3560e11b8152602081600481875afa908115610915575f916108e6575b506001600160a01b0380831691161415610827565b610908915060203d60201161090e575b610900818361063f565b810190613802565b5f6108d1565b503d6108f6565b613817565b6001600160401b0381116106035760051b60200190565b9080601f830112156104ae5781356109488161091a565b92610956604051948561063f565b81845260208085019260051b8201019283116104ae57602001905b82821061097e5750505090565b8135815260209182019101610971565b9080601f830112156104ae5781356109a58161091a565b926109b3604051948561063f565b81845260208085019260051b8201019283116104ae57602001905b8282106109db5750505090565b6020809183356109ea816104f2565b8152019101906109ce565b929190610a018161091a565b93610a0f604051958661063f565b602085838152019160051b81019283116104ae57905b828210610a3157505050565b8135815260209182019101610a25565b9080601f830112156104ae5781602061070a933591016109f5565b60603660031901126104ae57600435610a7481610583565b602435906001600160401b0382116104ae5760c060031983360301126104ae57610a9c610660565b91806004013583526024810135602084015260448101356001600160401b0381116104ae57610ad19060043691840101610931565b6040840152610ae2606482016105c9565b6060840152610af360848201610512565b608084015260a4810135906001600160401b0382116104ae576004610b1b923692010161098e565b60a0830152604435916001600160401b0383116104ae57610b43610018933690600401610a41565b91612ceb565b9181601f840112156104ae578235916001600160401b0383116104ae576020808501948460051b0101116104ae57565b346104ae5760603660031901126104ae576004356001600160401b0381116104ae578036039060606003198301126104ae57602435610bb781610583565b6044356001600160401b0381116104ae57610bd6903690600401610b49565b919093610be16137f1565b60048401359061018219018112156104ae57610c7594610c7093610c0c6004610c6994880101612ee0565b95610c22610c1d6080890151613b27565b613822565b6044610c2d8861370e565b91013560208801519061016089015192610c45610660565b998a5260208a01526040890152606088015260808701525f60a087015236916109f5565b9083613b3d565b613bc7565b6100186001606555565b346104ae5760203660031901126104ae57600435610cbf55005b346104ae575f3660031901126104ae576020610cbf54604051908152f35b90816101809103126104ae5790565b346104ae5760403660031901126104ae576004356001600160401b0381116104ae57610cf6903690600401610cb7565b602435610d0282612eeb565b6001600160a01b031691610d1860208201612eeb565b6001600160a01b031690610d2e60408201612eeb565b6001600160a01b031690610d4460608201612eeb565b6001600160a01b0316610d5960808301612eeb565b6001600160a01b031660e083013560c084013560a0850135610d7e6101008701612ef5565b93610d8c6101208801612ef5565b95610d9a6101408901612ef5565b976101608101610da991612eff565b99909a610db461066f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff9081166101008801521661012086015263ffffffff166101408501523690610e06926106b9565b61016083015261001891339190613748565b346104ae5760203660031901126104ae576004356001600160401b0381116104ae57610e48903690600401610cb7565b610e506137f1565b60ff61086b5460e01c1661100857610cbf5463ffffffff1690610140810190610e8b83610e7c84612ef5565b63ffffffff9182169116101590565b610ff95761012081019263ffffffff80610ea486612ef5565b9216911610610fea57610ebf610eba36836122e5565b61370e565b90610ed3825f5261087260205260405f2090565b54610fdc57610f15610f0f7f3cee3e290f36226751cd0b3321b213890fe9c768e922f267fa6111836ce05c32935f5261087260205260405f2090565b60019055565b6060810135610fcf60808301359260a08101359060c081013560e082013597610f4c610f466101008501359b612ef5565b91612ef5565b604084013591843593610f7b610f76610f6f602089013598610160810190612eff565b36916106b9565b613d72565b966040519a8b9a8b969394610120989563ffffffff9485939d9c9b98946101408b019e8b5260208b015260408a015260608901521660808701521660a085015260c084015260e08301526101008201520152565b0390a36100186001606555565b624be79160e21b5f5260045ffd5b63d642b7d960e01b5f5260045ffd5b630277ae7b60e21b5f5260045ffd5b633d90fc5560e11b5f5260045ffd5b346104ae5760203660031901126104ae57600435611034816104f2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168030146104ae576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416036104ae5761109d613e67565b6110a561263b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110d9575061001890614807565b6040516352d1902d60e01b8152906020826004816001600160a01b0387165afa5f928161113f575b5061110a575f80fd5b6100189261113a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f9414612f54565b614736565b61116291935060203d602011611169575b61115a818361063f565b810190613938565b915f611101565b503d611150565b60206003198201126104ae57600435906001600160401b0382116104ae5761119a91600401610b49565b9091565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106111f457505050505090565b9091929394602080611225600193603f198682030187526040838b518051151584520151918185820152019061119e565b970193019301919392906111e5565b346104ae5761124236611170565b61124b8161091a565b91611259604051938461063f565b818352601f196112688361091a565b015f5b8181106112dd5750505f5b82811061128f576040518061128b86826111c2565b0390f35b806112d761129f60019387612f5b565b515f806112ad858989612f6f565b906112bd60405180938193612f86565b0390305af4906112cb612f93565b60208201529015159052565b01611276565b6020906040516112ec816105e8565b5f81526060838201528282880101520161126b565b346104ae575f3660031901126104ae5760206040516301e133808152f35b346104ae5760403660031901126104ae5760243560043561133e613e67565b6113466137f1565b61086c54680100000000000000008110156106035780600163ffffffff920161086c558361137382612b6b565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b60403660031901126104ae576004356113bf816104f2565b6024356001600160401b0381116104ae576113de9036906004016106ef565b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168030146104ae576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416036104ae57611448613e67565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561147c576100189150614807565b6040516352d1902d60e01b81526020816004816001600160a01b0386165afa5f91816114de575b506114ac575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc036104ae5761001891600191614736565b6114f891925060203d6020116111695761115a818361063f565b905f6114a3565b346104ae575f3660031901126104ae5760206001600160a01b036108695416604051908152f35b346104ae575f3660031901126104ae576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104ae5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b6101203660031901126104ae576115a86004356104f2565b6115b36024356104f2565b6115be6044356104f2565b6115c6610573565b506115d260c435610583565b60e4356001600160401b0381116104ae576107639036906004016106ef565b9181601f840112156104ae578235916001600160401b0383116104ae57602083818601950101116104ae57565b346104ae5760c03660031901126104ae5760043561163b816104f2565b6024356044359160643561164e816104f2565b6084356001600160401b0381116104ae5761166d9036906004016115f1565b9160a435956001600160401b0387116104ae576116916100189736906004016115f1565b969095613015565b346104ae575f3660031901126104ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104ae5760403660031901126104ae5760243560043560038210156104ae5761170282612f45565b5f5261087260205260405f20555f80f35b346104ae575f3660031901126104ae57602060ff61086b5460e81c166040519015158152f35b346104ae575f3660031901126104ae5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b60609060031901126104ae5760043561178b81610583565b90602435611798816104f2565b9060443561070a816104f2565b346104ae576118026117b636611773565b5f5493929091906117e860ff600887901c16156117d2565b1590565b80968197611881575b8115611861575b50612f54565b846117f9600160ff195f5416175f55565b61184a5761308c565b61180857005b61181661ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1005b61185c61010061ff00195f5416175f55565b61308c565b303b15915081611873575b505f6117e2565b60ff1660011490505f61186c565b600160ff82161091506117db565b346104ae575f3660031901126104ae5760206040517f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f8152f35b346104ae575f3660031901126104ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104ae575f3660031901126104ae57611921613e67565b5f6001600160a01b03610c8c546001600160a01b03198116610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b801515036104ae57565b6044359061051082611964565b346104ae5760203660031901126104ae577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae4921960206004356119bb81611964565b6119c3613e67565b6119cb6137f1565b151561086b547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e81b8360e81b1691161761086b55604051908152a16001606555005b90602061070a92818152019061119e565b346104ae5760203660031901126104ae576004356001600160401b0381116104ae57611a529036906004016115f1565b611a5a613e67565b611a626137f1565b81016040828203126104ae57813591611a7a836104f2565b6020810135916001600160401b0383116104ae576001600160a01b0392611aa192016106ef565b91168015611b38576004825110611b29575f8083516020850182855af190611ac7612f93565b9115611b1a577f41a941b8313293eca483f41d8faa2498e005e6d7700e2e93f41d3cb7e70a897d611b0161128b9460405191829182611a11565b0390a2611b0e6001606555565b60405191829182611a11565b6348ebf0a960e11b5f5260045ffd5b637f5e6be560e01b5f5260045ffd5b634e93b52160e11b5f5260045ffd5b6101603660031901126104ae57600435611b60816104f2565b602435611b6c816104f2565b60443591611b79836104f2565b606435611b85816104f2565b60843560e43560c43560a435611b9a836104f2565b611ba2610591565b93611bab61059f565b9561014435996001600160401b038b116104ae57611bd06100189b36906004016115f1565b9a9099613187565b346104ae575f3660031901126104ae577fc40e7ebe8d73fd5a0cb54204770418c5a137493f190ccec1bb558170cd0bf49a602060405160018152a1005b6101803660031901126104ae57600435611c2e816104f2565b602435611c3a816104f2565b60443591611c47836104f2565b606435611c53816104f2565b60843560a43560c435611c64610503565b90611c6d610591565b92611c7661059f565b94611c7f6105ad565b96610164359a6001600160401b038c116104ae57611ca46100189c36906004016115f1565b9b909a6131ac565b346104ae5760603660031901126104ae576020611cda600435611cce816104f2565b602435604435916132d2565b604051908152f35b346104ae5760603660031901126104ae576004356024356001600160401b0381116104ae57611d159036906004016115f1565b906044356001600160401b0381116104ae57611d359036906004016115f1565b919093611d40613582565b604051611d6581611d576020820194898887613310565b03601f19810183528261063f565b51902003611df6575f93611d80828695611d89940190612858565b9281019061332d565b51611dc0611d9e335b6001600160a01b031690565b91611d5760405193849260208401966337bfd2c960e21b8852602485016133f7565b5190305af4611dcd612f93565b9015611dd557005b60405163b8fe37a760e01b8152908190611df29060048301611a11565b0390fd5b630f0c8f4760e11b5f5260045ffd5b346104ae5760c03660031901126104ae576024356004356044356001600160401b0381116104ae57611e3b903690600401610931565b606435611e4781610583565b60843591611e54836104f2565b60a435946001600160401b0386116104ae57611e7761001896369060040161098e565b94613419565b346104ae5760203660031901126104ae57600435611e99613e67565b611ea16137f1565b611eaa81612b6b565b611ee2576001815f80935501557f7c1af0646963afc3343245b103731965735a893347bfa0d58a5dc77a77ae691c5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b6101a03660031901126104ae5760443560243560043560643560843560a4356101043560e43560c435611f2661059f565b93611f2f6105ad565b95611f386105bb565b97610184359b6001600160401b038d116104ae57611f5d6100189d36906004016115f1565b9c909b61342a565b346104ae575f3660031901126104ae5760206001600160a01b03610c8c5416604051908152f35b346104ae5760e03660031901126104ae576004356001600160401b0381116104ae57611fbc903690600401610cb7565b602435604435916064356084359060a4356001600160401b0381116104ae57611fe99036906004016115f1565b92909160c435966001600160401b0388116104ae5761200f6100189836906004016115f1565b9790966134a2565b346104ae5761202536611773565b909160ff5f5460081c16156104ae5761205b9063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b604080519261206a828561063f565b600984526020808501926820a1a927a9a996ab1960b91b845261208f8151918261063f565b6005815201640312e302e360dc1b815260ff5f5460081c16156104ae5760056120d9936100189651902091209061047f55610480556120cc6141fa565b6120d4614209565b61421d565b614275565b346104ae5760203660031901126104ae577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e602060043561211e81611964565b612126613e67565b61212e6137f1565b151561086b547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff60e01b8360e01b1691161761086b55604051908152a16001606555005b346104ae575f3660031901126104ae576020611cda613582565b346104ae575f3660031901126104ae57602063ffffffff61086b5460c01c16604051908152f35b346104ae5760403660031901126104ae576004356024356121d582614452565b6001600160a01b03821691825f5261087360205261220660405f20336001600160a01b03165f5260205260405f2090565b5492831561229c5761224f5f9161221c84614452565b61223933916001600160a01b03165f5261087360205260405f2090565b906001600160a01b03165f5260205260405f2090565b5561226c8361225d83613b27565b61226685613b27565b906142cd565b60405192835233927f6c172ea51018fb2eb2118f3f8a507c4df71eb519b8c0052834dc3c920182fef490602090a4005b6336542bf760e21b5f5260045ffd5b346104ae575f3660031901126104ae5760206040517ffafff4a89cb727c4f11a474c303e417b3057d7e735633ec7a1aab4d27ff2283c8152f35b919091610180818403126104ae576122fb61066f565b92813584526020820135602085015260408201356040850152606082013560608501526080820135608085015260a082013560a085015260c082013560c085015260e082013560e085015261010082013561010085015261235f61012083016105c9565b61012085015261237261014083016105c9565b6101408501526101608201356001600160401b0381116104ae5761239692016106ef565b610160830152565b346104ae5760603660031901126104ae576004356001600160401b0381116104ae5760c060031982360301126104ae576123d6610660565b81600401356001600160401b0381116104ae576123f990600436918501016122e5565b815260248201356020820152604482013560408201526064820135606082015260848201356001600160401b0381116104ae576100189261244260a492600436918401016106ef565b6080840152013560a082015260243561245961196e565b91613ccf565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061249157505050505090565b90919293946020806124af600193603f19868203018752895161119e565b97019301930191939290612482565b346104ae576124cc36611170565b906124d682613590565b915f5b8181106124ee576040518061128b868261245f565b5f806124fb838587612f6f565b9061250b60405180938193612f86565b0390305af4612518612f93565b901561253e579060019161252c8287612f5b565b526125378186612f5b565b50016124d9565b60448151106104ae578060248060046104ae94015183010191016135d9565b6101803660031901126104ae576044356024356004356064356084356101043560e43560c43560a43561258f84610583565b61259761059f565b946125a06105ad565b96610164359a6001600160401b038c116104ae576125c56100189c36906004016115f1565b9b909a61363b565b346104ae57602061260b6001600160a01b036125e8366107d0565b91165f52610873835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b346104ae575f3660031901126104ae5760206001600160a01b0361086a5416604051908152f35b6040519061264a60208361063f565b5f808352366020840137565b346104ae575f3660031901126104ae5761128b61267161263b565b60405191829160208352602083019061119e565b346104ae575f3660031901126104ae576020604051701d6329f1c35ca4bfabb9f56100000000008152f35b346104ae5760c03660031901126104ae576004356024356044356064356084356001600160401b0381116104ae576126ec9036906004016115f1565b60a493919335906001600160401b0382116104ae577f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26946127346127899336906004016115f1565b92909161273f6137f1565b6127488a614452565b61277d8a8a8989612757613582565b6127623689896106b9565b936001600160a01b03612776368d8d6106b9565b9616613d87565b60405196879687612fe2565b0390a36001606555005b346104ae5760203660031901126104ae576004355f52610872602052602060405f2054604051908152f35b346104ae5760e03660031901126104ae576004356127db816104f2565b602435906044356084356064356127f1826104f2565b60a4356001600160401b0381116104ae576128109036906004016106ef565b9260c435956001600160401b0387116104ae576128346100189736906004016106ef565b956136f6565b346104ae575f3660031901126104ae57602060405163ffffffff8152f35b906020828203126104ae5781356001600160401b0381116104ae5761070a92016122e5565b346104ae5760203660031901126104ae576004356001600160401b0381116104ae57611cda610eba60209236906004016122e5565b346104ae575f3660031901126104ae57602060ff61086b5460e01c166040519015158152f35b346104ae575f3660031901126104ae5760206040516ec097ce7bc90715b34b9f10000000008152f35b346104ae5760203660031901126104ae57612931600435612921816104f2565b612929613e67565b6120d46137f1565b6001606555005b346104ae5760603660031901126104ae576004356001600160401b0381116104ae576129689036906004016122e5565b60243590604435906129786137f1565b60ff61086b5460e01c16611008576129ae61299b61014083015163ffffffff1690565b610cbf5463ffffffff9081169116101590565b80612a0f575b612a0057610c75926129c58261370e565b60c0830151602084015190610160850151926129df610660565b958652602086015260408501526060840152608083015260a0820152613c43565b630c3a9b9d60e41b5f5260045ffd5b50612a1d6040820151613b27565b6001600160a01b03163314156129b4565b346104ae5760e03660031901126104ae5760243560043560443560843560643560a4356001600160401b0381116104ae57612a6d9036906004016106ef565b9260c435956001600160401b0387116104ae57612a916100189736906004016106ef565b956137ac565b60203660031901126104ae576004356001600160401b0381116104ae575f612ac4819236906004016106ef565b612acc6137f1565b60208151910134305af1612ade612f93565b50156104ae576001606555005b6101603660031901126104ae576044356024356004356064356101043560e43560c43560a435608435612b1d85610583565b6101243595612b2b87610583565b61014435996001600160401b038b116104ae57612b4f6100189b36906004016115f1565b9a90996137cd565b634e487b7160e01b5f52603260045260245ffd5b61086c54811015612b895761086c5f52600360205f20910201905f90565b612b57565b346104ae5760203660031901126104ae5760043561086c548110156104ae57612bb8604091612b6b565b506001815491015482519182526020820152f35b346104ae5760203660031901126104ae57600435610cbe55005b346104ae5760203660031901126104ae57600435612c03816104f2565b612c0b613e67565b6001600160a01b038116156104ae5761001890613e7c565b346104ae5760203660031901126104ae57600435612c40816104f2565b5f549060ff8260081c161580612cae575b156104ae5761ffff1991909116610102175f55612c6d90614275565b612c7b61ff00195f54165f55565b604051600281527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498908060208101611845565b50600260ff831610612c51565b346104ae5760203660031901126104ae57612931600435612cdb816104f2565b612ce3613e67565b6120d96137f1565b9190612cf56137f1565b60808101612d0d610c1d82516001600160a01b031690565b60208201928351612d1c613582565b03612e14576117ce612d3c91846001612d3489612b6b565b500154613858565b612e055763ffffffff7ff4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e91612df86060850195612d86612d80885163ffffffff1690565b896138dc565b8051958051612de2612dd4612dc3604085019a8c612daa8d51915163ffffffff1690565b8a516001600160a01b03169160a0890197885194613954565b9351945199519a5163ffffffff1690565b95516001600160a01b031690565b90519086604051978897169b1699339487612e92565b0390a46105106001606555565b63582f497d60e11b5f5260045ffd5b633d23e4d160e11b5f5260045ffd5b90602080835192838152019201905f5b818110612e405750505090565b8251845260209384019390920191600101612e33565b90602080835192838152019201905f5b818110612e735750505090565b82516001600160a01b0316845260209384019390920191600101612e66565b949695919260a0946001600160a01b03612ebe8196612ed2958a5260c060208b015260c08a0190612e23565b921660408801528682036060880152612e56565b951515608085015216910152565b61070a9036906122e5565b3561070a816104f2565b3561070a81610583565b903590601e19813603018212156104ae57018035906001600160401b0382116104ae576020019181360383136104ae57565b634e487b7160e01b5f52602160045260245ffd5b60031115612f4f57565b612f31565b156104ae57565b8051821015612b895760209160051b010190565b90821015612b895761119a9160051b810190612eff565b908092918237015f815290565b3d15612fbd573d90612fa48261069e565b91612fb2604051938461063f565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b949290936130079261070a979587526020870152608060408701526080860191612fc2565b926060818503910152612fc2565b92957f45e04bc8f121ba11466985789ca2822a91109f31bb8ac85504a37b7eaf873c26956001600160a01b03958461307985613087979c969b8a613057613582565b911680946130663689896106b9565b92613072368c8c6106b9565b948d613d87565b604051978897169a87612fe2565b0390a3565b91909160ff5f5460081c16156104ae576130a533613e7c565b60ff5f5460081c16156104ae576130d99063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b60408051926130e8828561063f565b600984526020808501926820a1a927a9a996ab1960b91b845261310d8151918261063f565b6005815201640312e302e360dc1b815260ff5f5460081c16156104ae5760056120d99361314a9651902091209061047f55610480556120cc6141fa565b61051042610cbf55565b634e487b7160e01b5f52601160045260245ffd5b9063ffffffff8091169116019063ffffffff821161318257565b613154565b96949290916105109b9a99989694926131aa63ffffffff610cbf54169889613168565b985b9593919b999897969492909b6131c06137f1565b61086b5460ff8160e81c166132c35760c01c63ffffffff16966131e2886136df565b6132099063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b61321161067f565b9d6001600160a01b038f921682526001600160a01b031690602001526001600160a01b031660408d01526001600160a01b031660608c015260808b015260a08a015260c08901526001600160a01b031660e088015263ffffffff16610100870152610120860190613287919063ffffffff169052565b63ffffffff1661014085015263ffffffff1661016084015236906132aa926106b9565b6101808201526132b990613f26565b6105106001606555565b630b4cba3160e31b5f5260045ffd5b916040519160208301936bffffffffffffffffffffffff199060601b168452603483015260548201526054815261330a60748261063f565b51902090565b93929160209161332891604087526040870191612fc2565b930152565b908160209103126104ae5760405190602082018281106001600160401b038211176106035760405235815290565b9061018061016061070a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c085015260e081015160e08501526101008101516101008501526133d561012082015161012086019063ffffffff169052565b6101408181015163ffffffff169085015201519181610160820152019061119e565b61340f6040929594939560608352606083019061335b565b9460208201520152565b906134279594939291613954565b50565b9c9a999897969594939291909661343f6137f1565b60ff61086b5460e81c166132c357613458908e336132d2565b96604051809e61346782610608565b81526020015260408d015260608c015260808b015260a08a015260c089015260e088015261010087015263ffffffff16610120860152613287565b9792909596949391966134b36137f1565b60ff61086b5460e01c16611008576134d161299b6101408b01612ef5565b80613563575b612a00576132b99861355861355e976134f3610eba36856122e5565b996134fc610660565b9a61350736866122e5565b8c5260208c01528560408c01528660608c015261352536868b6106b9565b60808c015260a08b015261355061353c8435613b27565b9860e06101008601359501359536916106b9565b9636916106b9565b95613d87565b613c43565b5061357160408a0135613b27565b6001600160a01b03163314156134d7565b610cbe548061070a57504690565b9061359a8261091a565b6135a7604051918261063f565b82815280926135b8601f199161091a565b01905f5b8281106135c857505050565b8060606020809385010152016135bc565b6020818303126104ae578051906001600160401b0382116104ae570181601f820112156104ae5780519061360c8261069e565b9261361a604051948561063f565b828452602083830101116104ae57815f9260208093018386015e8301015290565b9b9998979694929095939161364e6137f1565b61086b5460ff8160e81c166132c35760c01c63ffffffff1696613670886136df565b6136979063ffffffff60c01b1963ffffffff60c01b61086b549260c01b1691161761086b55565b61369f61067f565b9d8e5260208e015260408d015260608c015260808b015260a08a015260c089015260e088015263ffffffff90811661010088015216610120860152613287565b63ffffffff1663ffffffff81146131825760010190565b9291906001600160a01b036105109796951693613d87565b613716613582565b61330a6040518092613734602083019560408752606084019061335b565b90604083015203601f19810183528261063f565b9190916137536137f1565b60ff61086b5460e01c166110085761377661299b61014083015163ffffffff1690565b8061378d575b612a00576132b9926129c58261370e565b5061379b6040820151613b27565b6001600160a01b031633141561377c565b906001600160a01b036105109796959493926137c781614452565b16613d87565b9a989795929693909491966137ec63ffffffff610cbf54169788613168565b9761364e5b6002606554146104ae576002606555565b908160209103126104ae575161070a816104f2565b6040513d5f823e3d90fd5b60207fbf5a3af3d17ceac90c3b9679ade47cac7b436a621a5d486daae6ae96dfd511a1916001600160a01b0360405191168152a1565b61070a92916040516138d381611d57602082019460208652805160408401526020810151606084015260a061389d604083015160c06080870152610100860190612e23565b606083015163ffffffff168583015260808301516001600160a01b031660c0860152910151838203603f190160e0850152612e56565b51902091614353565b6138e7600291612b6b565b500162ffffff8260081c1691825f5281602052600160ff60405f205492161b808092161461392957825f528160205260405f205417915f5260205260405f2055565b63954476d960e01b5f5260045ffd5b908160209103126104ae575190565b9190820180921161318257565b91959495939092935f9681519081815103613b1857816139d3575b5050508261397e575b50505050565b63ffffffff6139b5611d9283611d927ffa7fa7cf6d7dde5f9be65a67e6a1a747e7aa864dcd2d793353c722d80fbbb3579588614414565b6040805195865233602087015290959190911693a45f808080613978565b6040516370a0823160e01b81523060048201526020816024816001600160a01b0389165afa908115610915575f91613af9575b505f5f5b848110613a195750505061396f565b613a238187612f5b565b51613a31575b600101613a0a565b90613a4790613a408388612f5b565b5190613947565b90828211613aea57613a816117ce613a6f613a628488612f5b565b516001600160a01b031690565b613a79848a612f5b565b51908a6143a4565b15613a29579a50613a928b86612f5b565b51613ae0613ad88d613ac3613a62613abc8c6001600160a01b03165f5261087360205260405f2090565b9289612f5b565b6001600160a01b03165f5260205260405f2090565b918254613947565b905560019a613a29565b632ddaa83160e11b5f5260045ffd5b613b12915060203d6020116111695761115a818361063f565b5f613a06565b6319a5316760e31b5f5260045ffd5b6001600160a01b0390613b3981614452565b1690565b916117ce91613bc1938051906138d3613b7f6040613b59613582565b9301519460405194613b6a86610624565b85526020850193845260408501958652612b6b565b505493604051928391613ba6602084019660208852516060604086015260a085019061335b565b9151606084015251608083015203601f19810183528261063f565b612e0557565b805163ffffffff6101208201511663ffffffff610cbf54911610610fea576020820151906002613c00835f5261087260205260405f2090565b5414613c3457610510926002613c216001945f5261087260205260405f2090565b55613c2f60025f84846144ff565b614601565b630479306360e51b5f5260045ffd5b90815163ffffffff6101208201511663ffffffff610cbf54911610610fea576020830151926001613c7d855f5261087260205260405f2090565b5403613cc8576001935b6002613c9c825f5261087260205260405f2090565b5414613c3457610510945f946002613cc0613c2f945f5261087260205260405f2090565b5584846144ff565b5f93613c87565b919091805190613ce761012083015163ffffffff1690565b63ffffffff610cbf54911610610fea5760208101518315613d4a5760025b6002613d1a835f5261087260205260405f2090565b5414613c345761051095613d43613d3d613c2f945f5261087260205260405f2090565b60029055565b84846144ff565b6001613d5f825f5261087260205260405f2090565b5403613d6c576001613d05565b5f613d05565b80519081613d805750505f90565b6020012090565b9392604293610510979660208151910120906040519260208401947f8d1994e2bbbd77564cdca06dd819e7ee2a5efa06c80dcb59a4a7b6e39edc538f86526040850152856060850152608084015260a083015260c082015260c08152613dee60e08261063f565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e855260408401526060830152608082015260808152613e4660a08261063f565b519020906040519161190160f01b8352600283015260228201522090614868565b6001600160a01b03610c8c541633036104ae57565b6001600160a01b0380610c8c54921691826001600160a01b0319821617610c8c55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b9190820391821161318257565b9692610140989563ffffffff95869492859361070a9e9d9a958c5260208c015260408b015260608a01521660808801521660a08601521660c084015260e083015261010082015281610120820152019061119e565b613f308151614452565b606081018051156141ec57610cbf54610120830191613f5f613f56845163ffffffff1690565b63ffffffff1690565b8083109081156141b3575b506141a457610140840193613f83855163ffffffff1690565b63ffffffff613fb4817f00000000000000000000000000000000000000000000000000000000000000001686613947565b9116116141955761016081015163ffffffff1692838061414f575b505060408101918251926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680941480614146575b156140f657608083015134036140e757833b156104ae575f60049460405195868092630d0e30db60e41b825234905af1908115610915577f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3946140c8926140cd575b505b5191519260808101519060a081015160c0820151976140a761409c6101008501519b5163ffffffff1690565b9b5163ffffffff1690565b83519b60208501519361018060e0870151960151966040519a8b9a8b613ed1565b0390a4565b806140db5f6140e19361063f565b806104a4565b5f61406e565b636452a35d60e01b5f5260045ffd5b9250346140e7576140c883614141614132611d927f32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad39751613b27565b60808601519030903390614954565b614070565b5034151561400c565b6301e13380101561417c575b5060e08101511561416d575f80613fcf565b63495d907f60e01b5f5260045ffd5b9263ffffffff61418e92941690613168565b915f61415b565b63582e388960e01b5f5260045ffd5b63f722177f60e01b5f5260045ffd5b6141be915083613ec4565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016105f613f6a565b6231010160e51b5f5260045ffd5b60ff5f5460081c16156104ae57565b60ff5f5460081c16156104ae576001606555565b6001600160a01b0316801561426657806001600160a01b0319610869541617610869557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b63ba97b39d60e01b5f5260045ffd5b6001600160a01b031680156142be57806001600160a01b031961086a54161761086a557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b635b03092b60e11b5f5260045ffd5b6001600160a01b0316916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af160015f5114811615614334575b604091909152156143195750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b600181151661434a573d15833b1515161661430b565b503d5f823e3d90fd5b929091905f915b845183101561439c5761436d8386612f5b565b51908181101561438b575f52602052600160405f205b92019161435a565b905f52602052600160405f20614383565b915092501490565b916020915f91604051906001600160a01b038583019363a9059cbb60e01b85521660248301526044820152604481526143de60648261063f565b519082855af1903d5f5190836143f5575b50505090565b9192509061440a57503b15155b5f80806143ef565b6001915014614402565b604080519182526001600160a01b039290921660208201527fb6e6ae61a8fa98a339088353bc7a76c8c580b2efd09210a80bfccabe05d9ae479190a1565b60a01c61445b57565b6379ec0ed760e11b5f5260045ffd5b61447382612f45565b52565b9a98969492909c9b99979593916101e08c019d8c5260208c015260408b015260608a0152608089015263ffffffff1660a088015263ffffffff1660c087015260e08601526101008501526101208401526101408301528051610160830152602081015161018083015260408101516101a083015260600151906144f882612f45565b6101c00152565b7f44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa7503746901372089093929360608301516140c860808501519260a08601519660c08701519660a08301519860e0820151986101008301519a61456361012085015163ffffffff1690565b61014085015163ffffffff16916040860151938651956145c761458f61016060208b01519a0151613d72565b9960608c01519b60406145a56080830151613d72565b9101519060206145b361068f565b9e8f528e015260408d015260608c0161446a565b6040519c8d9c8d614476565b9061070a94936080936001600160a01b0380931684526020840152166040820152816060820152019061119e565b90608061460f910151613b27565b9160806040830151926146256060820151613b27565b92846001600160a01b03871691856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684145f14614716575015614702575b61468091506001600160a01b038516614a1d565b01519081511515806146f8575b6146975750505050565b6001600160a01b0316803b156104ae576146cd935f809460405196879586948593633a5be8cb60e01b85523391600486016145d3565b03925af18015610915576146e4575b808080613978565b806140db5f6146f29361063f565b5f6146dc565b50803b151561468d565b61470f9130903390614954565b5f8461466c565b9061472b57614726923390614954565b614680565b6147269250876142cd565b9161474083614807565b6001600160a01b0383167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115908115916147ff575b50614783575050565b613427915f806040519361479860608661063f565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46147f9612f93565b91614bc4565b90505f61477a565b803b156104ae576001600160a01b03166001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b9190916148758284614b93565b9390926005851015612f4f5761489e9415938461493e575b5083156148b3575b50505015151590565b6148a457565b63938a182160e01b5f5260045ffd5b5f935090611d576148eb8594936040519283916020830195630b135d3f60e11b8752602484015260406044840152606483019061119e565b51915afa6148f7612f93565b81614930575b8161490c575b505f8080614895565b9050614929630b135d3f60e11b9160208082518301019101613938565b145f614903565b9050602081511015906148fd565b6001600160a01b0384811691161493505f61488d565b5f6001600160a01b0381926149e19682604051978160208a01986323b872dd60e01b8a521660248a015216604488015260648701526064865261499860848761063f565b1692604051946149a960408761063f565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af16147f9612f93565b805180159081156149f8575b506105109150612f54565b602091508290810103126104ae576020610510910151614a1781611964565b5f6149ed565b906001600160a01b038216803b158015614aea575b15614ab657506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b156104ae57604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156109155761051093614aa2575b50614b6b565b806140db5f614ab09361063f565b5f614a9c565b61051092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166142cd565b50614af481614af9565b614a32565b803b614b048161069e565b90614b12604051928361063f565b8082525f6020830180943c5190516001600160e81b03198116919060038210614b4c575b50506001600160e81b03191661ef0160f01b1490565b6001600160e81b0319600392830390921b82901b161690505f80614b36565b8147106104ae575f8080936001600160a01b038294165af1614b8b612f93565b50156104ae57565b9060418151145f14614bbb5761119a91602082015190606060408401519301515f1a90614bef565b50505f90600290565b91925015614be057815115614bd7575090565b3b156104ae5790565b5080519081156104ae57602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614c5f576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15610915575f516001600160a01b03811615614c5757905f90565b505f90600190565b505050505f9060039056fea264697066735822122024ce5cf773b1a464576df4f4500f33a8539ffa2f51dac0f45fabc0c23411080464736f6c634300081e0033"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"blacklisted","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"setBlacklisted","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"isBlacklisted","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":"0x60806040523461031357604080519081016001600160401b038111828210176102265760409081526009825268151c9bdb881554d11560ba1b602083015280519081016001600160401b038111828210176102265760405260048152631554d11560e21b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b6040516107b290816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461055557508063095ea7b31461052f57806318160ddd1461051257806323b872dd14610494578063313ce56714610479578063395093511461042a57806340c10f19146103b257806370a082311461037b57806395d89b4114610260578063a457c2d714610204578063a9059cbb14610197578063d01dd6d21461014b578063dbac26e91461010e5763dd62ed3e146100b6575f80fd5b3461010a57604036600319011261010a576100cf61064e565b6001600160a01b036100df610664565b91165f5260016020526001600160a01b0360405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461010a57602036600319011261010a576001600160a01b0361012f61064e565b165f526005602052602060ff60405f2054166040519015158152f35b3461010a57604036600319011261010a5761016461064e565b6024359081151580920361010a576001600160a01b03165f52600560205260405f209060ff801983541691161790555f80f35b3461010a57604036600319011261010a576101b061064e565b335f52600560205260ff60405f20541615806101e4575b1561010a576101da9060243590336106fe565b60206040515f8152f35b506001600160a01b0381165f52600560205260ff60405f205416156101c7565b3461010a57604036600319011261010a5761021d61064e565b60243590335f52600160205260405f206001600160a01b0382165f5260205260405f20549180831061010a576102559203903361069b565b602060405160018152f35b3461010a575f36600319011261010a576040515f6004548060011c90600181168015610371575b60208310811461035d5782855290811561034157506001146102ec575b50819003601f01601f191681019067ffffffffffffffff8211818310176102d8576102d482918260405282610624565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b82821061032b575060209150820101826102a4565b6001816020925483858801015201910190610316565b90506020925060ff191682840152151560051b820101826102a4565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610287565b3461010a57602036600319011261010a576001600160a01b0361039c61064e565b165f525f602052602060405f2054604051908152f35b3461010a57604036600319011261010a576103cb61064e565b6001600160a01b0316602435811561010a577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60208261040e5f9460025461067a565b60025584845283825260408420818154019055604051908152a3005b3461010a57604036600319011261010a5761025561044661064e565b335f52600160205260405f206001600160a01b0382165f5260205261047260405f20602435905461067a565b903361069b565b3461010a575f36600319011261010a57602060405160068152f35b3461010a57606036600319011261010a576104ad61064e565b6104b5610664565b604435906001600160a01b0383165f52600160205260405f206001600160a01b0333165f5260205260405f2054925f1984036104f6575b61025593506106fe565b82841061010a5761050d836102559503338361069b565b6104ec565b3461010a575f36600319011261010a576020600254604051908152f35b3461010a57604036600319011261010a5761025561054b61064e565b602435903361069b565b3461010a575f36600319011261010a575f6003548060011c9060018116801561061a575b60208310811461035d5782855290811561034157506001146105c55750819003601f01601f191681019067ffffffffffffffff8211818310176102d8576102d482918260405282610624565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b828210610604575060209150820101826102a4565b60018160209254838588010152019101906105ef565b91607f1691610579565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361010a57565b602435906001600160a01b038216820361010a57565b9190820180921161068757565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b031690811561010a576001600160a01b031691821561010a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b6001600160a01b031690811561010a576001600160a01b031691821561010a57815f525f60205260405f205481811061010a57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a356fea26469706673582212208bb717abe388ce5f3a02d717508048a5fce22e6449b99b2717724ea93056c15a64736f6c634300081e0033"}
|