From f34346a0f65aff91bfd9c287935fb284e2076547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Augusto?= Date: Wed, 27 Aug 2025 10:41:14 +0100 Subject: [PATCH 1/3] feat: update across schema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Augusto --- extractor/across/constants.py | 42 ++++++++++++++-------------- repository/across/models.py | 11 ++++---- repository/across/repository.py | 12 ++++---- tests/across/test_data_extraction.py | 4 +-- 4 files changed, 35 insertions(+), 34 deletions(-) diff --git a/extractor/across/constants.py b/extractor/across/constants.py index 1b11914..0d18d5f 100644 --- a/extractor/across/constants.py +++ b/extractor/across/constants.py @@ -8,9 +8,9 @@ "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], }, ], @@ -21,9 +21,9 @@ "0xe35e9842fceaca96570b734083f4a58e8f7c5f2a", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], }, ], @@ -34,9 +34,9 @@ "0x9295ee1d8c5b022be115a2ad3c30c72e34e7f096", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], }, ], @@ -47,9 +47,9 @@ "0x6f26Bf09B1C792e3228e5467807a900A503c0281", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], } ], @@ -60,9 +60,9 @@ "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], } ], @@ -73,9 +73,9 @@ "0x3bad7ad0728f9917d1bf08af5782dcbd516cdd96", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], } ], @@ -86,9 +86,9 @@ "0x7e63a5f1a8f0b4d0934b2f2327daed3f6bb2ee75", # Across Protocol: SpokePool ], "topics": [ - "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f", # V3FundsDeposited - "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7", # FilledV3Relay - "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab", # ExecutedRelayerRefundRoot + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot ], } ], diff --git a/repository/across/models.py b/repository/across/models.py index 2712397..5862568 100644 --- a/repository/across/models.py +++ b/repository/across/models.py @@ -51,7 +51,7 @@ def __repr__(self): class AcrossFilledV3Relay(Base): - __tablename__ = "across_filled_v3_relay" + __tablename__ = "across_filled_relay" id = Column(Integer, nullable=False, autoincrement=True, primary_key=True) blockchain = Column(String(10), nullable=False) @@ -144,8 +144,8 @@ def __repr__(self): ) -class AcrossV3FundsDeposited(Base): - __tablename__ = "across_v3_funds_deposited" +class AcrossFundsDeposited(Base): + __tablename__ = "across_funds_deposited" id = Column(Integer, nullable=False, autoincrement=True, primary_key=True) blockchain = Column(String(10), nullable=False) @@ -200,7 +200,7 @@ def __init__( def __repr__(self): return ( - f" Date: Tue, 18 Nov 2025 23:46:17 +0000 Subject: [PATCH 2/3] feat: update Across schema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Augusto --- cli/cli.py | 1 + config/constants.py | 5 + config/rpcs_base_config.yaml | 14 +- extractor/across/ABIs/arbitrum/across.json | 4357 ++++++++++---------- extractor/across/ABIs/base/across.json | 4357 ++++++++++---------- extractor/across/ABIs/ethereum/across.json | 4357 ++++++++++---------- extractor/across/ABIs/linea/across.json | 4357 ++++++++++---------- extractor/across/ABIs/optimism/across.json | 4357 ++++++++++---------- extractor/across/ABIs/polygon/across.json | 4357 ++++++++++---------- extractor/across/ABIs/scroll/across.json | 4357 ++++++++++---------- extractor/across/ABIs/unichain/across.json | 2132 ++++++++++ extractor/across/constants.py | 13 + extractor/across/decoder.py | 10 +- extractor/across/handler.py | 76 +- extractor/base_handler.py | 2 +- extractor/extractor.py | 2 +- generator/across/generator.py | 211 +- repository/across/__init__.py | 8 +- repository/across/models.py | 132 +- repository/across/repository.py | 24 +- 20 files changed, 17188 insertions(+), 15941 deletions(-) create mode 100644 extractor/across/ABIs/unichain/across.json diff --git a/cli/cli.py b/cli/cli.py index 90e7829..18b77d6 100644 --- a/cli/cli.py +++ b/cli/cli.py @@ -149,6 +149,7 @@ def cli(): "gnosis", "ronin", "solana", + "unichain", ], nargs="+", help="List of blockchains to extract data from", diff --git a/config/constants.py b/config/constants.py index f428b36..dfb5e31 100644 --- a/config/constants.py +++ b/config/constants.py @@ -69,6 +69,11 @@ class Bridge(Enum): "name": "ronin", "native_token": "AXS", }, + "130": { + "name": "unichain", + "native_token": "WETH", + "native_token_contract": "0x4200000000000000000000000000000000000006", + }, "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d": { # genesis hash for Solana "name": "solana", "native_token": "SOL", diff --git a/config/rpcs_base_config.yaml b/config/rpcs_base_config.yaml index 3b84928..5e17b97 100644 --- a/config/rpcs_base_config.yaml +++ b/config/rpcs_base_config.yaml @@ -10,6 +10,18 @@ blockchains: - "https://ronin.drpc.org" - "https://api.roninchain.com/rpc" +- name: unichain + contract: "0x078d782b760474a361dda0af3839290b0ef57ad6" + topics: + - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + start_block: "0x1EDF248" + end_block: "0x1EDF250" + rpcs: + - "https://0xrpc.io/uni" + - "https://unichain.drpc.org" + - "https://unichain-rpc.publicnode.com" + - "https://rpc.poolz.finance/unichain" + - name: arbitrum contract: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1" topics: @@ -169,4 +181,4 @@ blockchains: - name: solana rpcs: - - "https://api.mainnet-beta.solana.com" \ No newline at end of file + - "https://svc.blockdaemon.com/solana/mainnet/native" \ No newline at end of file diff --git a/extractor/across/ABIs/arbitrum/across.json b/extractor/across/ABIs/arbitrum/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/arbitrum/across.json +++ b/extractor/across/ABIs/arbitrum/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/base/across.json b/extractor/across/ABIs/base/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/base/across.json +++ b/extractor/across/ABIs/base/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/ethereum/across.json b/extractor/across/ABIs/ethereum/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/ethereum/across.json +++ b/extractor/across/ABIs/ethereum/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/linea/across.json b/extractor/across/ABIs/linea/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/linea/across.json +++ b/extractor/across/ABIs/linea/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/optimism/across.json b/extractor/across/ABIs/optimism/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/optimism/across.json +++ b/extractor/across/ABIs/optimism/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/polygon/across.json b/extractor/across/ABIs/polygon/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/polygon/across.json +++ b/extractor/across/ABIs/polygon/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/scroll/across.json b/extractor/across/ABIs/scroll/across.json index b09430c..5c2cbc8 100644 --- a/extractor/across/ABIs/scroll/across.json +++ b/extractor/across/ABIs/scroll/across.json @@ -1,2277 +1,2132 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeTokenAddress", - "type": "address" - }, - { - "internalType": "uint32", - "name": "_depositQuoteTimeBuffer", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_fillDeadlineBuffer", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ClaimedMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "DepositsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "DisabledRoute", - "type": "error" - }, - { - "inputs": [], - "name": "ExpiredFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "FillsArePaused", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCrossDomainAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidDepositorSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidExclusivityDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidFillDeadline", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidHubPool", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleLeaf", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidMerkleProof", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidPayoutAdjustmentPct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidQuoteTimestamp", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidRelayerFeePct", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSlowFillRequest", - "type": "error" - }, - { - "inputs": [], - "name": "MaxTransferSizeExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "MsgValueDoesNotMatchInputAmount", - "type": "error" - }, - { - "inputs": [], - "name": "NoSlowFillsInExclusivityWindow", - "type": "error" - }, - { - "inputs": [], - "name": "NotEOA", - "type": "error" - }, - { - "inputs": [], - "name": "NotExclusiveRelayer", - "type": "error" - }, - { - "inputs": [], - "name": "RelayFilled", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "EmergencyDeleteRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "EnabledDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "ExecutedRelayerRefundRoot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fillAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": false, - "internalType": "int64", - "name": "realizedLpFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationToken", - "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": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "bool", - "name": "isSlowRelay", - "type": "bool" - }, - { - "internalType": "int256", - "name": "payoutAdjustmentPct", - "type": "int256" - } - ], - "indexed": false, - "internalType": "struct SpokePool.RelayExecutionInfo", - "name": "updatableRelayData", - "type": "tuple" - } - ], - "name": "FilledRelay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "enum V3SpokePoolInterface.FillType", - "name": "fillType", - "type": "uint8" - } - ], - "indexed": false, - "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", - "name": "relayExecutionInfo", - "type": "tuple" - } - ], - "name": "FilledV3Relay", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "FundsDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedDeposits", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PausedFills", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "indexed": true, + "type": "bytes32" + }, + { "internalType": "bytes32", - "name": "relayerRefundRoot", + "name": "recipient", "type": "bytes32" - }, - { - "indexed": true, + }, + { "internalType": "bytes32", - "name": "slowRelayRoot", + "name": "exclusiveRelayer", "type": "bytes32" - } - ], - "name": "RelayedRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int64", - "name": "newRelayerFeePct", - "type": "int64" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "RequestedSpeedUpV3Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", + }, + { + "internalType": "bytes32", "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", + "type": "bytes32" + }, + { + "internalType": "bytes32", "name": "outputToken", - "type": "address" - }, - { - "indexed": false, + "type": "bytes32" + }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" - }, - { - "indexed": false, + }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", "name": "originChainId", "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "RequestedV3SlowFill", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "SetHubPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "SetXDomainAdmin", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "indexed": true, + }, + { "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "TokensBridged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint32", "name": "depositId", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "V3FundsDeposited", - "type": "event" - }, - { - "inputs": [], - "name": "EMPTY_RELAYER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EMPTY_REPAYMENT_CHAIN_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INFINITE_FILL_DEADLINE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_TRANSFER_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UPDATE_V3_DEPOSIT_DETAILS_HASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_crossDomainAdmin", - "type": "address" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "__SpokePool_init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "chainId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "crossDomainAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositExclusive", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "int64", - "name": "relayerFeePct", - "type": "int64" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "depositQuoteTimeBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "quoteTimestamp", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { + }, + { "internalType": "uint32", "name": "exclusivityDeadline", "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "inputToken", - "type": "address" - }, - { - "internalType": "address", - "name": "outputToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "exclusiveRelayer", - "type": "address" - }, - { - "internalType": "uint32", - "name": "fillDeadlineOffset", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "depositV3Now", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rootBundleId", - "type": "uint256" - } - ], - "name": "emergencyDeleteRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "enabledDepositRoutes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "amountToReturn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "refundAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint32", - "name": "leafId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "l2TokenAddress", - "type": "address" - }, - { - "internalType": "address[]", - "name": "refundAddresses", - "type": "address[]" - } - ], - "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", - "name": "relayerRefundLeaf", - "type": "tuple" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeRelayerRefundLeaf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - } - ], - "internalType": "struct V3SpokePoolInterface.V3SlowFill", - "name": "slowFillLeaf", - "type": "tuple" - }, - { - "internalType": "uint32", - "name": "rootBundleId", - "type": "uint32" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "name": "executeV3SlowRelayLeaf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fillDeadlineBuffer", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "fillStatuses", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - } - ], - "name": "fillV3Relay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "repaymentChainId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "fillV3RelayWithUpdatedDeposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "hubPool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_initialDepositId", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_hubPool", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfDeposits", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseDeposits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "pause", - "type": "bool" - } - ], - "name": "pauseFills", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pausedDeposits", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pausedFills", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - } - ], - "name": "relayRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "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": "uint256", - "name": "inputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "outputAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "originChainId", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "fillDeadline", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "exclusivityDeadline", - "type": "uint32" - }, - { - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "internalType": "struct V3SpokePoolInterface.V3RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "requestV3SlowFill", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rootBundles", - "outputs": [ - { - "internalType": "bytes32", - "name": "slowRelayRoot", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "relayerRefundRoot", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newCrossDomainAdmin", - "type": "address" - } - ], - "name": "setCrossDomainAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "originToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "destinationChainId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "setEnableRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newHubPool", - "type": "address" - } - ], - "name": "setHubPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address" - }, - { - "internalType": "uint32", - "name": "depositId", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "updatedOutputAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "updatedRecipient", - "type": "address" - }, - { - "internalType": "bytes", - "name": "updatedMessage", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "depositorSignature", - "type": "bytes" - } - ], - "name": "speedUpV3Deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "tryMulticall", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "internalType": "struct MultiCallerUpgradeable.Result[]", - "name": "results", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "wrappedNativeToken", - "outputs": [ - { - "internalType": "contract WETH9Interface", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/ABIs/unichain/across.json b/extractor/across/ABIs/unichain/across.json new file mode 100644 index 0000000..5c2cbc8 --- /dev/null +++ b/extractor/across/ABIs/unichain/across.json @@ -0,0 +1,2132 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_wrappedNativeTokenAddress", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_depositQuoteTimeBuffer", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_fillDeadlineBuffer", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "name": "ClaimedMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "DepositsArePaused", "type": "error" }, + { "inputs": [], "name": "DisabledRoute", "type": "error" }, + { "inputs": [], "name": "ExpiredFillDeadline", "type": "error" }, + { "inputs": [], "name": "FillsArePaused", "type": "error" }, + { + "inputs": [], + "name": "InsufficientSpokePoolBalanceToExecuteLeaf", + "type": "error" + }, + { "inputs": [], "name": "InvalidBytes32", "type": "error" }, + { "inputs": [], "name": "InvalidChainId", "type": "error" }, + { "inputs": [], "name": "InvalidCrossDomainAdmin", "type": "error" }, + { "inputs": [], "name": "InvalidDepositorSignature", "type": "error" }, + { "inputs": [], "name": "InvalidExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "InvalidFillDeadline", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleLeaf", "type": "error" }, + { "inputs": [], "name": "InvalidMerkleProof", "type": "error" }, + { "inputs": [], "name": "InvalidPayoutAdjustmentPct", "type": "error" }, + { "inputs": [], "name": "InvalidQuoteTimestamp", "type": "error" }, + { "inputs": [], "name": "InvalidRelayerFeePct", "type": "error" }, + { "inputs": [], "name": "InvalidSlowFillRequest", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalRecipient", "type": "error" }, + { + "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], + "name": "LowLevelCallFailed", + "type": "error" + }, + { "inputs": [], "name": "MaxTransferSizeExceeded", "type": "error" }, + { "inputs": [], "name": "MsgValueDoesNotMatchInputAmount", "type": "error" }, + { "inputs": [], "name": "NoRelayerRefundToClaim", "type": "error" }, + { "inputs": [], "name": "NoSlowFillsInExclusivityWindow", "type": "error" }, + { "inputs": [], "name": "NotEOA", "type": "error" }, + { "inputs": [], "name": "NotExclusiveRelayer", "type": "error" }, + { "inputs": [], "name": "RelayFilled", "type": "error" }, + { "inputs": [], "name": "WrongERC7683OrderId", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "refundAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimedRelayerRefund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "rootBundleId", + "type": "uint256" + } + ], + "name": "EmergencyDeletedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "originToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "EnabledDepositRoute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deferredRefunds", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ExecutedRelayerRefundRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayer", + "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" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "updatedMessageHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.V3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledRelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "enum V3SpokePoolInterface.FillType", + "name": "fillType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo", + "name": "relayExecutionInfo", + "type": "tuple" + } + ], + "name": "FilledV3Relay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "recipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedDeposits", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PausedFills", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "rootBundleId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "slowRelayRoot", + "type": "bytes32" + } + ], + "name": "RelayedRootBundle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "inputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputToken", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bytes32", + "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" + } + ], + "name": "RequestedSlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "depositor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "updatedMessage", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "depositorSignature", + "type": "bytes" + } + ], + "name": "RequestedSpeedUpV3Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "RequestedV3SlowFill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "SetWithdrawalRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "SetXDomainAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "leafId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TokensBridged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "outputToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "depositId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "quoteTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "V3FundsDeposited", + "type": "event" + }, + { + "inputs": [], + "name": "EMPTY_RELAYER", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EMPTY_REPAYMENT_CHAIN_ID", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "INFINITE_FILL_DEADLINE", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_EXCLUSIVITY_PERIOD_SECONDS", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_TRANSFER_SIZE", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATE_BYTES32_DEPOSIT_DETAILS_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_crossDomainAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "__SpokePool_init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "l2TokenAddress", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "refundAddress", "type": "bytes32" } + ], + "name": "claimRelayerRefund", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "crossDomainAdmin", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositDeprecated_5947912356", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "originToken", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { "internalType": "int64", "name": "relayerFeePct", "type": "int64" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "bytes", "name": "message", "type": "bytes" }, + { "internalType": "uint256", "name": "", "type": "uint256" } + ], + "name": "depositFor", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositNow", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositQuoteTimeBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "inputToken", "type": "address" }, + { "internalType": "address", "name": "outputToken", "type": "address" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exclusiveRelayer", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fillDeadlineOffset", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "depositV3Now", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "rootBundleId", "type": "uint256" } + ], + "name": "emergencyDeleteRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { + "components": [ + { + "internalType": "uint256", + "name": "amountToReturn", + "type": "uint256" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256[]", + "name": "refundAmounts", + "type": "uint256[]" + }, + { "internalType": "uint32", "name": "leafId", "type": "uint32" }, + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "refundAddresses", + "type": "address[]" + } + ], + "internalType": "struct SpokePoolInterface.RelayerRefundLeaf", + "name": "relayerRefundLeaf", + "type": "tuple" + }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeRelayerRefundLeaf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "bytes32", + "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "depositId", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + } + ], + "internalType": "struct V3SpokePoolInterface.V3SlowFill", + "name": "slowFillLeaf", + "type": "tuple" + }, + { "internalType": "uint32", "name": "rootBundleId", "type": "uint32" }, + { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } + ], + "name": "executeSlowRelayLeaf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "orderId", "type": "bytes32" }, + { "internalType": "bytes", "name": "originData", "type": "bytes" }, + { "internalType": "bytes", "name": "fillerData", "type": "bytes" } + ], + "name": "fill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fillDeadlineBuffer", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + } + ], + "name": "fillRelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "repaymentAddress", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "fillRelayWithUpdatedDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "fillStatuses", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint32", "name": "depositId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayDataLegacy", + "name": "relayData", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "repaymentChainId", + "type": "uint256" + } + ], + "name": "fillV3Relay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l2TokenAddress", + "type": "address" + }, + { "internalType": "address", "name": "refundAddress", "type": "address" } + ], + "name": "getRelayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "msgSender", "type": "address" }, + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" } + ], + "name": "getUnsafeDepositId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "getV3RelayHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_initialDepositId", + "type": "uint32" + }, + { + "internalType": "address", + "name": "_withdrawalRecipient", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "multicall", + "outputs": [ + { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "numberOfDeposits", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseDeposits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], + "name": "pauseFills", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pausedDeposits", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pausedFills", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + }, + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } + ], + "name": "relayRootBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "relayerRefund", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "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": "uint256", + "name": "inputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "outputAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "originChainId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint32", + "name": "fillDeadline", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "exclusivityDeadline", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "internalType": "struct V3SpokePoolInterface.V3RelayData", + "name": "relayData", + "type": "tuple" + } + ], + "name": "requestSlowFill", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "rootBundles", + "outputs": [ + { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, + { + "internalType": "bytes32", + "name": "relayerRefundRoot", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newCrossDomainAdmin", + "type": "address" + } + ], + "name": "setCrossDomainAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newWithdrawalRecipient", + "type": "address" + } + ], + "name": "setWithdrawalRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "updatedRecipient", + "type": "bytes32" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "depositor", "type": "address" }, + { "internalType": "uint256", "name": "depositId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "updatedOutputAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "updatedRecipient", + "type": "address" + }, + { "internalType": "bytes", "name": "updatedMessage", "type": "bytes" }, + { "internalType": "bytes", "name": "depositorSignature", "type": "bytes" } + ], + "name": "speedUpV3Deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } + ], + "name": "tryMulticall", + "outputs": [ + { + "components": [ + { "internalType": "bool", "name": "success", "type": "bool" }, + { "internalType": "bytes", "name": "returnData", "type": "bytes" } + ], + "internalType": "struct MultiCallerUpgradeable.Result[]", + "name": "results", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "depositor", "type": "bytes32" }, + { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, + { "internalType": "bytes32", "name": "inputToken", "type": "bytes32" }, + { "internalType": "bytes32", "name": "outputToken", "type": "bytes32" }, + { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "outputAmount", "type": "uint256" }, + { + "internalType": "uint256", + "name": "destinationChainId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "exclusiveRelayer", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "depositNonce", "type": "uint256" }, + { "internalType": "uint32", "name": "quoteTimestamp", "type": "uint32" }, + { "internalType": "uint32", "name": "fillDeadline", "type": "uint32" }, + { + "internalType": "uint32", + "name": "exclusivityParameter", + "type": "uint32" + }, + { "internalType": "bytes", "name": "message", "type": "bytes" } + ], + "name": "unsafeDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalRecipient", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wrappedNativeToken", + "outputs": [ + { + "internalType": "contract WETH9Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/extractor/across/constants.py b/extractor/across/constants.py index 0d18d5f..f8196d8 100644 --- a/extractor/across/constants.py +++ b/extractor/across/constants.py @@ -14,6 +14,19 @@ ], }, ], + "unichain": [ + { + "abi": "across", + "contracts": [ + "0x09aea4b2242abc8bb4bb78d537a67a245a7bec64", # Across Protocol: SpokePool + ], + "topics": [ + "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3", # FundsDeposited + "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208", # FilledRelay + "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e", # ExecutedRelayerRefundRoot + ], + }, + ], "arbitrum": [ { "abi": "across", diff --git a/extractor/across/decoder.py b/extractor/across/decoder.py index 28bbc0a..d9939bf 100644 --- a/extractor/across/decoder.py +++ b/extractor/across/decoder.py @@ -13,14 +13,14 @@ def __init__(self): def decode_event(self, contract: Contract, log: dict): func_name = "decode_event" - if log["topics"][0] == "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f": - return contract.events.V3FundsDeposited().process_log(log)["args"] + if log["topics"][0] == "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3": + return contract.events.FundsDeposited().process_log(log)["args"] elif ( - log["topics"][0] == "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7" + log["topics"][0] == "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208" ): - return contract.events.FilledV3Relay().process_log(log)["args"] + return contract.events.FilledRelay().process_log(log)["args"] elif ( - log["topics"][0] == "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab" + log["topics"][0] == "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e" ): return contract.events.ExecutedRelayerRefundRoot().process_log(log)["args"] diff --git a/extractor/across/handler.py b/extractor/across/handler.py index dfdb666..40b2efa 100644 --- a/extractor/across/handler.py +++ b/extractor/across/handler.py @@ -5,13 +5,13 @@ from extractor.base_handler import BaseHandler from repository.across.repository import ( AcrossBlockchainTransactionRepository, - AcrossFilledV3RelayRepository, + AcrossFilledRelayRepository, + AcrossFundsDepositedRepository, AcrossRelayerRefundRepository, - AcrossV3FundsDepositedRepository, ) from repository.database import DBSession from rpcs.evm_rpc_client import EvmRPCClient -from utils.utils import CustomException, convert_bin_to_hex, log_error +from utils.utils import CustomException, convert_bin_to_hex, log_error, unpad_address class AcrossHandler(BaseHandler): @@ -30,8 +30,8 @@ def get_bridge_contracts_and_topics(self, bridge: str, blockchain: List[str]) -> def bind_db_to_repos(self): self.blockchain_transaction_repo = AcrossBlockchainTransactionRepository(DBSession) - self.across_filled_v3_relay_repo = AcrossFilledV3RelayRepository(DBSession) - self.across_v3_funds_deposited_repo = AcrossV3FundsDepositedRepository(DBSession) + self.across_filled_relay_repo = AcrossFilledRelayRepository(DBSession) + self.across_funds_deposited_repo = AcrossFundsDepositedRepository(DBSession) self.across_relayer_refund_repo = AcrossRelayerRefundRepository(DBSession) def handle_transactions(self, transactions: List[Dict[str, Any]]) -> None: @@ -80,17 +80,17 @@ def handle_events( try: if ( event["topic"] - == "0xa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f" - ): # V3FundsDeposited - event = self.handle_v3_funds_deposited(blockchain, event) + == "0x32ed1a409ef04c7b0227189c3a103dc5ac10e775a15b785dcc510201f7c25ad3" + ): # FundsDeposited + event = self.handle_funds_deposited(blockchain, event) elif ( event["topic"] - == "0x571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7" - ): # FilledV3Relay - event = self.handle_filled_v3_relay(blockchain, event) + == "0x44b559f101f8fbcc8a0ea43fa91a05a729a5ea6e14a7c75aa750374690137208" + ): # FilledRelay + event = self.handle_filled_relay(blockchain, event) elif ( event["topic"] - == "0xf8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab" + == "0xf4ad92585b1bc117fbdd644990adf0827bc4c95baeae8a23322af807b6d0020e" ): # ExecutedRelayerRefundRoot event = self.handle_relayer_refund(blockchain, event) @@ -106,8 +106,8 @@ def handle_events( return included_events - def handle_v3_funds_deposited(self, blockchain, event): - func_name = "v3_funds_deposited" + def handle_funds_deposited(self, blockchain, event): + func_name = "handle_funds_deposited" destination_chain = self.convert_id_to_blockchain_name(event["destinationChainId"]) @@ -115,25 +115,25 @@ def handle_v3_funds_deposited(self, blockchain, event): return None try: - if self.across_v3_funds_deposited_repo.event_exists(event["depositId"]): + if self.across_funds_deposited_repo.event_exists(str(event["depositId"])): return None - self.across_v3_funds_deposited_repo.create( + self.across_funds_deposited_repo.create( { "blockchain": blockchain, "transaction_hash": event["transaction_hash"], "destination_chain": destination_chain, "deposit_id": event["depositId"], - "depositor": event["depositor"], - "input_token": event["inputToken"], - "output_token": event["outputToken"], + "depositor": unpad_address(event["depositor"]), + "input_token": unpad_address(event["inputToken"]), + "output_token": unpad_address(event["outputToken"]), "input_amount": str(event["inputAmount"]), "output_amount": str(event["outputAmount"]), "quote_timestamp": event["quoteTimestamp"], "fill_deadline": event["fillDeadline"], "exclusivity_deadline": event["exclusivityDeadline"], - "recipient": event["recipient"], - "exclusive_relayer": event["exclusiveRelayer"], + "recipient": unpad_address(event["recipient"]), + "exclusive_relayer": unpad_address(event["exclusiveRelayer"]), "message": event["message"], } ) @@ -145,8 +145,8 @@ def handle_v3_funds_deposited(self, blockchain, event): f"{blockchain} -- Tx Hash: {event['transaction_hash']}. Error writing to DB: {e}", ) from e - def handle_filled_v3_relay(self, blockchain, event): - func_name = "filled_v3_relay" + def handle_filled_relay(self, blockchain, event): + func_name = "handle_filled_relay" origin_chain = self.convert_id_to_blockchain_name(event["originChainId"]) repayment_chain = self.convert_id_to_blockchain_name(event["repaymentChainId"]) @@ -155,30 +155,32 @@ def handle_filled_v3_relay(self, blockchain, event): return None try: - if self.across_filled_v3_relay_repo.event_exists(event["depositId"]): + if self.across_filled_relay_repo.event_exists(str(event["depositId"])): return None - self.across_filled_v3_relay_repo.create( + self.across_filled_relay_repo.create( { "blockchain": blockchain, "transaction_hash": event["transaction_hash"], "src_chain": origin_chain, "deposit_id": str(event["depositId"]), - "relayer": event["relayer"], - "input_token": event["inputToken"], - "output_token": event["outputToken"], + "relayer": unpad_address(event["relayer"]), + "input_token": unpad_address(event["inputToken"]), + "output_token": unpad_address(event["outputToken"]), "input_amount": str(event["inputAmount"]), "output_amount": str(event["outputAmount"]), "repayment_chain": repayment_chain, - "fill_deadline": str(event["fillDeadline"]), - "exclusivity_deadline": str(event["exclusivityDeadline"]), - "exclusive_relayer": event["exclusiveRelayer"], - "depositor": event["depositor"], - "recipient": event["recipient"], - "message": event["message"], - "updated_recipient": event["relayExecutionInfo"]["updatedRecipient"], - "updated_message": convert_bin_to_hex( - event["relayExecutionInfo"]["updatedMessage"] + "fill_deadline": event["fillDeadline"], + "exclusivity_deadline": event["exclusivityDeadline"], + "exclusive_relayer": unpad_address(event["exclusiveRelayer"]), + "depositor": unpad_address(event["depositor"]), + "recipient": unpad_address(event["recipient"]), + "message_hash": event["messageHash"], + "updated_recipient": unpad_address( + event["relayExecutionInfo"]["updatedRecipient"] + ), + "updated_message_hash": convert_bin_to_hex( + event["relayExecutionInfo"]["updatedMessageHash"] ), "updated_output_amount": str( event["relayExecutionInfo"]["updatedOutputAmount"] diff --git a/extractor/base_handler.py b/extractor/base_handler.py index 8054eb6..2882141 100644 --- a/extractor/base_handler.py +++ b/extractor/base_handler.py @@ -112,7 +112,7 @@ def create_transaction_object( "to_address": tx["to"], "status": int(tx["status"], 16), "value": int(tx["value"], 16) if "value" in tx else None, - "input_data": tx["input"] if "input" in tx else None, + "input_data": tx["input"][:35000] if "input" in tx else None, "fee": str(int(tx["gasUsed"], 0) * int(tx["effectiveGasPrice"], 0)), } except Exception as e: diff --git a/extractor/extractor.py b/extractor/extractor.py index 72623c3..34bd6a3 100644 --- a/extractor/extractor.py +++ b/extractor/extractor.py @@ -1,9 +1,9 @@ import time from abc import ABC, abstractmethod from queue import Queue -from urllib.request import BaseHandler from config.constants import Bridge +from extractor.base_handler import BaseHandler from utils.utils import ( CliColor, CustomException, diff --git a/generator/across/generator.py b/generator/across/generator.py index f2560f4..c41b6aa 100644 --- a/generator/across/generator.py +++ b/generator/across/generator.py @@ -1,16 +1,23 @@ import time -from sqlalchemy import text +from sqlalchemy import and_, insert, join, literal, null, select, text +from sqlalchemy.orm import aliased from config.constants import Bridge from generator.base_generator import BaseGenerator from generator.common.price_generator import PriceGenerator +from repository.across.models import ( + AcrossBlockchainTransaction, + AcrossCrossChainTransaction, + AcrossFilledRelay, + AcrossFundsDeposited, +) from repository.across.repository import ( AcrossBlockchainTransactionRepository, AcrossCrossChainTransactionRepository, - AcrossFilledV3RelayRepository, + AcrossFilledRelayRepository, + AcrossFundsDepositedRepository, AcrossRelayerRefundRepository, - AcrossV3FundsDepositedRepository, ) from repository.common.repository import ( NativeTokenRepository, @@ -38,8 +45,8 @@ def __init__(self) -> None: def bind_db_to_repos(self): self.transactions_repo = AcrossBlockchainTransactionRepository(DBSession) self.across_relayer_refund_repo = AcrossRelayerRefundRepository(DBSession) - self.across_filled_v3_relay_repo = AcrossFilledV3RelayRepository(DBSession) - self.across_v3_funds_deposited_repo = AcrossV3FundsDepositedRepository(DBSession) + self.across_filled_v3_relay_repo = AcrossFilledRelayRepository(DBSession) + self.across_v3_funds_deposited_repo = AcrossFundsDepositedRepository(DBSession) self.across_blockchain_transactions_repo = AcrossBlockchainTransactionRepository(DBSession) self.across_cross_chain_token_transfers_repo = AcrossCrossChainTransactionRepository( DBSession @@ -128,77 +135,137 @@ def match_token_transfers(self): self.across_cross_chain_token_transfers_repo.empty_table() - query = text( - """ - INSERT INTO across_cross_chain_transactions (src_blockchain, - src_transaction_hash, - src_from_address, - src_to_address, - src_fee, - src_fee_usd, - src_timestamp, - dst_blockchain, - dst_transaction_hash, - dst_from_address, - dst_to_address, - dst_fee, - dst_fee_usd, - dst_timestamp, - deposit_id, - depositor, - recipient, - src_contract_address, - dst_contract_address, - input_amount, - input_amount_usd, - output_amount, - output_amount_usd, - quote_timestamp, - fill_deadline, - exclusivity_deadline, - exclusive_relayer, - fill_type + # Build the SELECT statement + deposit = aliased(AcrossFundsDeposited) + src_tx = aliased(AcrossBlockchainTransaction) + fill = aliased(AcrossFilledRelay) + dst_tx = aliased(AcrossBlockchainTransaction) + + # Join tables + j1 = join(deposit, src_tx, deposit.transaction_hash == src_tx.transaction_hash) + j2 = join( + j1, + fill, + and_( + fill.deposit_id == deposit.deposit_id, fill.output_amount == deposit.output_amount + ), + ) + j3 = join(j2, dst_tx, dst_tx.transaction_hash == fill.transaction_hash) + + # Build the SELECT columns + select_stmt = ( + select( + src_tx.blockchain.label("src_blockchain"), + src_tx.transaction_hash.label("src_transaction_hash"), + src_tx.from_address.label("src_from_address"), + src_tx.to_address.label("src_to_address"), + src_tx.fee.label("src_fee"), + null().label("src_fee_usd"), + src_tx.timestamp.label("src_timestamp"), + dst_tx.blockchain.label("dst_blockchain"), + dst_tx.transaction_hash.label("dst_transaction_hash"), + dst_tx.from_address.label("dst_from_address"), + dst_tx.to_address.label("dst_to_address"), + dst_tx.fee.label("dst_fee"), + null().label("dst_fee_usd"), + dst_tx.timestamp.label("dst_timestamp"), + null().label("refund_blockchain"), + null().label("refund_transaction_hash"), + null().label("refund_from_address"), + null().label("refund_to_address"), + null().label("refund_fee"), + null().label("refund_value"), + null().label("refund_fee_usd"), + null().label("refund_timestamp"), + deposit.deposit_id.label("intent_id"), + deposit.depositor.label("depositor"), + deposit.recipient.label("recipient"), + deposit.input_token.label("src_contract_address"), + fill.output_token.label("dst_contract_address"), + deposit.input_amount.label("input_amount"), + null().label("input_amount_usd"), + null().label("middle_src_token"), + null().label("middle_src_amount"), + null().label("middle_src_amount_usd"), + null().label("middle_dst_token"), + null().label("middle_dst_amount"), + null().label("middle_dst_amount_usd"), + deposit.output_amount.label("output_amount"), + null().label("output_amount_usd"), + deposit.quote_timestamp.label("quote_timestamp"), + deposit.fill_deadline.label("fill_deadline"), + deposit.exclusivity_deadline.label("exclusivity_deadline"), + deposit.exclusive_relayer.label("exclusive_relayer"), + fill.fill_type.label("fill_type"), + literal(0).label("native_fix_fee"), + null().label("native_fix_fee_usd"), + literal(0).label("percent_fee"), + null().label("percent_fee_usd"), + ) + .select_from(j3) + .where( + and_( + deposit.destination_chain == dst_tx.blockchain, + fill.src_chain == src_tx.blockchain, + ) ) - SELECT - src_tx.blockchain, - src_tx.transaction_hash, - src_tx.from_address, - src_tx.to_address, - src_tx.fee, - NULL as src_fee_usd, - src_tx.timestamp, - dst_tx.blockchain, - dst_tx.transaction_hash, - dst_tx.from_address, - dst_tx.to_address, - dst_tx.fee, - NULL as dst_fee_usd, - dst_tx.timestamp, - deposit.deposit_id, - deposit.depositor, - deposit.recipient, - deposit.input_token, - fill.output_token, - deposit.input_amount, - NULL as input_amount_usd, - deposit.output_amount, - NULL as output_amount_usd, - deposit.quote_timestamp, - deposit.fill_deadline, - deposit.exclusivity_deadline, - deposit.exclusive_relayer, - fill.fill_type - FROM across_v3_funds_deposited deposit - JOIN across_blockchain_transactions src_tx ON src_tx.transaction_hash = deposit.transaction_hash - JOIN across_filled_v3_relay fill ON fill.deposit_id = deposit.deposit_id AND fill.output_amount = deposit.output_amount - JOIN across_blockchain_transactions dst_tx ON dst_tx.transaction_hash = fill.transaction_hash - WHERE deposit.destination_chain = dst_tx.blockchain - AND fill.src_chain = src_tx.blockchain; - """ # noqa: E501 + ) + + # Build the INSERT statement + insert_stmt = insert(AcrossCrossChainTransaction).from_select( + [ + "src_blockchain", + "src_transaction_hash", + "src_from_address", + "src_to_address", + "src_fee", + "src_fee_usd", + "src_timestamp", + "dst_blockchain", + "dst_transaction_hash", + "dst_from_address", + "dst_to_address", + "dst_fee", + "dst_fee_usd", + "dst_timestamp", + "refund_blockchain", + "refund_transaction_hash", + "refund_from_address", + "refund_to_address", + "refund_fee", + "refund_value", + "refund_fee_usd", + "refund_timestamp", + "intent_id", + "depositor", + "recipient", + "src_contract_address", + "dst_contract_address", + "input_amount", + "input_amount_usd", + "middle_src_token", + "middle_src_amount", + "middle_src_amount_usd", + "middle_dst_token", + "middle_dst_amount", + "middle_dst_amount_usd", + "output_amount", + "output_amount_usd", + "quote_timestamp", + "fill_deadline", + "exclusivity_deadline", + "exclusive_relayer", + "fill_type", + "native_fix_fee", + "native_fix_fee_usd", + "percent_fee", + "percent_fee_usd", + ], + select_stmt, ) try: - self.across_cross_chain_token_transfers_repo.execute(query) + self.across_cross_chain_token_transfers_repo.execute(insert_stmt) size = self.across_cross_chain_token_transfers_repo.get_number_of_records() diff --git a/repository/across/__init__.py b/repository/across/__init__.py index 65394de..8b52989 100644 --- a/repository/across/__init__.py +++ b/repository/across/__init__.py @@ -1,15 +1,15 @@ from .repository import ( AcrossBlockchainTransactionRepository, AcrossCrossChainTransactionRepository, - AcrossFilledV3RelayRepository, + AcrossFilledRelayRepository, + AcrossFundsDepositedRepository, AcrossRelayerRefundRepository, - AcrossV3FundsDepositedRepository, ) __all__ = [ "AcrossRelayerRefundRepository", - "AcrossFilledV3RelayRepository", - "AcrossV3FundsDepositedRepository", + "AcrossFilledRelayRepository", + "AcrossFundsDepositedRepository", "AcrossBlockchainTransactionRepository", "AcrossCrossChainTransactionRepository", ] diff --git a/repository/across/models.py b/repository/across/models.py index 5862568..c11ceb6 100644 --- a/repository/across/models.py +++ b/repository/across/models.py @@ -50,14 +50,13 @@ def __repr__(self): ) -class AcrossFilledV3Relay(Base): +class AcrossFilledRelay(Base): __tablename__ = "across_filled_relay" - id = Column(Integer, nullable=False, autoincrement=True, primary_key=True) blockchain = Column(String(10), nullable=False) transaction_hash = Column(String(66), nullable=False) src_chain = Column(String(10), nullable=False) - deposit_id = Column(Integer, nullable=False) + deposit_id = Column(String(78), nullable=False, primary_key=True) relayer = Column(String(42), nullable=False) input_token = Column(String(42), nullable=False) output_token = Column(String(42), nullable=False) @@ -69,9 +68,9 @@ class AcrossFilledV3Relay(Base): exclusive_relayer = Column(String(42), nullable=False) depositor = Column(String(42), nullable=False) recipient = Column(String(42), nullable=False) - message = Column(String(10000), nullable=True) + message_hash = Column(String(64), nullable=True) updated_recipient = Column(String(42), nullable=False) - updated_message = Column(String(10000), nullable=True) + updated_message_hash = Column(String(64), nullable=True) updated_output_amount = Column(String(30), nullable=False) fill_type = Column(Integer, nullable=False) @@ -92,9 +91,9 @@ def __init__( exclusive_relayer, depositor, recipient, - message, + message_hash, updated_recipient, - updated_message, + updated_message_hash, updated_output_amount, fill_type, ): @@ -113,9 +112,9 @@ def __init__( self.exclusive_relayer = exclusive_relayer self.depositor = depositor self.recipient = recipient - self.message = message + self.message_hash = message_hash self.updated_recipient = updated_recipient - self.updated_message = updated_message + self.updated_message_hash = updated_message_hash self.updated_output_amount = updated_output_amount self.fill_type = fill_type @@ -136,9 +135,9 @@ def __repr__(self): f"exclusive_relayer={self.exclusive_relayer}, " f"depositor={self.depositor}, " f"recipient={self.recipient}, " - f"message={self.message}, " + f"message_hash={self.message_hash}, " f"updated_recipient={self.updated_recipient}, " - f"updated_message={self.updated_message}, " + f"updated_message_hash={self.updated_message_hash}, " f"updated_output_amount={self.updated_output_amount}, " f"fill_type={self.fill_type})>" ) @@ -147,11 +146,10 @@ def __repr__(self): class AcrossFundsDeposited(Base): __tablename__ = "across_funds_deposited" - id = Column(Integer, nullable=False, autoincrement=True, primary_key=True) blockchain = Column(String(10), nullable=False) transaction_hash = Column(String(66), nullable=False) destination_chain = Column(String(24), nullable=False) - deposit_id = Column(Integer, nullable=False) + deposit_id = Column(String(78), nullable=False, primary_key=True) depositor = Column(String(42), nullable=False) input_token = Column(String(42), nullable=False) output_token = Column(String(42), nullable=False) @@ -251,13 +249,27 @@ class AcrossCrossChainTransaction(Base): dst_fee_usd = Column(Float, nullable=True) dst_value = Column(Numeric(30, 0), nullable=True) dst_timestamp = Column(BigInteger, nullable=False) - deposit_id = Column(BigInteger, nullable=False) + refund_blockchain = Column(String(10), nullable=True) + refund_transaction_hash = Column(String(88), nullable=True) + refund_from_address = Column(String(44), nullable=True) + refund_to_address = Column(String(44), nullable=True) + refund_fee = Column(Numeric(30, 0), nullable=True) + refund_value = Column(Numeric(30, 0), nullable=True) + refund_fee_usd = Column(Float, nullable=True) + refund_timestamp = Column(BigInteger, nullable=True) + intent_id = Column(String(78), nullable=False, primary_key=True) depositor = Column(String(42), nullable=False) recipient = Column(String(42), nullable=False) src_contract_address = Column(String(42), nullable=False) dst_contract_address = Column(String(42), nullable=False) input_amount = Column(Numeric(30, 0), nullable=False) input_amount_usd = Column(Float, nullable=True) + middle_src_token = Column(String(44), nullable=True) + middle_src_amount = Column(Numeric(30, 0), nullable=True) + middle_src_amount_usd = Column(Float, nullable=True) + middle_dst_token = Column(String(44), nullable=True) + middle_dst_amount = Column(Numeric(30, 0), nullable=True) + middle_dst_amount_usd = Column(Float, nullable=True) output_amount = Column(Numeric(30, 0), nullable=False) output_amount_usd = Column(Float, nullable=True) quote_timestamp = Column(BigInteger, nullable=False) @@ -265,83 +277,107 @@ class AcrossCrossChainTransaction(Base): exclusivity_deadline = Column(BigInteger, nullable=False) exclusive_relayer = Column(String(42), nullable=False) fill_type = Column(BigInteger, nullable=False) + native_fix_fee = Column(Numeric(30, 0), nullable=False) + native_fix_fee_usd = Column(Float, nullable=True) + percent_fee = Column(Numeric(30, 0), nullable=False) + percent_fee_usd = Column(Float, nullable=True) def __init__( self, src_blockchain, src_transaction_hash, - src_timestamp, src_from_address, src_to_address, src_fee, + src_value, + src_fee_usd, + src_timestamp, dst_blockchain, dst_transaction_hash, - dst_timestamp, dst_from_address, dst_to_address, dst_fee, - deposit_id, + dst_fee_usd, + dst_value, + dst_timestamp, + refund_blockchain, + refund_transaction_hash, + refund_from_address, + refund_to_address, + refund_fee, + refund_value, + refund_fee_usd, + refund_timestamp, + intent_id, depositor, recipient, src_contract_address, dst_contract_address, input_amount, + input_amount_usd, + middle_src_token, + middle_src_amount, + middle_src_amount_usd, + middle_dst_token, + middle_dst_amount, + middle_dst_amount_usd, output_amount, + output_amount_usd, quote_timestamp, fill_deadline, exclusivity_deadline, exclusive_relayer, fill_type, + native_fix_fee, + native_fix_fee_usd, + percent_fee, + percent_fee_usd, ): self.src_blockchain = src_blockchain self.src_transaction_hash = src_transaction_hash - self.src_timestamp = src_timestamp self.src_from_address = src_from_address self.src_to_address = src_to_address self.src_fee = src_fee + self.src_value = src_value + self.src_fee_usd = src_fee_usd + self.src_timestamp = src_timestamp self.dst_blockchain = dst_blockchain self.dst_transaction_hash = dst_transaction_hash - self.dst_timestamp = dst_timestamp self.dst_from_address = dst_from_address self.dst_to_address = dst_to_address self.dst_fee = dst_fee - self.deposit_id = deposit_id + self.dst_fee_usd = dst_fee_usd + self.dst_value = dst_value + self.dst_timestamp = dst_timestamp + self.refund_blockchain = refund_blockchain + self.refund_transaction_hash = refund_transaction_hash + self.refund_from_address = refund_from_address + self.refund_to_address = refund_to_address + self.refund_fee = refund_fee + self.refund_value = refund_value + self.refund_fee_usd = refund_fee_usd + self.refund_timestamp = refund_timestamp + self.intent_id = intent_id self.depositor = depositor self.recipient = recipient self.src_contract_address = src_contract_address self.dst_contract_address = dst_contract_address self.input_amount = input_amount + self.input_amount_usd = input_amount_usd + self.middle_src_token = middle_src_token + self.middle_src_amount = middle_src_amount + self.middle_src_amount_usd = middle_src_amount_usd + self.middle_dst_token = middle_dst_token + self.middle_dst_amount = middle_dst_amount + self.middle_dst_amount_usd = middle_dst_amount_usd self.output_amount = output_amount + self.output_amount_usd = output_amount_usd self.quote_timestamp = quote_timestamp self.fill_deadline = fill_deadline self.exclusivity_deadline = exclusivity_deadline self.exclusive_relayer = exclusive_relayer self.fill_type = fill_type - - def __repr__(self): - return ( - f"" - ) + self.native_fix_fee = native_fix_fee + self.native_fix_fee_usd = native_fix_fee_usd + self.percent_fee = percent_fee + self.percent_fee_usd = percent_fee_usd diff --git a/repository/across/repository.py b/repository/across/repository.py index 7e32907..253730f 100644 --- a/repository/across/repository.py +++ b/repository/across/repository.py @@ -5,7 +5,7 @@ from .models import ( AcrossBlockchainTransaction, AcrossCrossChainTransaction, - AcrossFilledV3Relay, + AcrossFilledRelay, AcrossFundsDeposited, AcrossRelayerRefund, ) @@ -37,20 +37,20 @@ def event_exists( ) -class AcrossFilledV3RelayRepository(BaseRepository): +class AcrossFilledRelayRepository(BaseRepository): def __init__(self, session_factory): - super().__init__(AcrossFilledV3Relay, session_factory) + super().__init__(AcrossFilledRelay, session_factory) def event_exists(self, deposit_id: str): with self.get_session() as session: return ( - session.query(AcrossFilledV3Relay) - .filter(AcrossFilledV3Relay.deposit_id == deposit_id) + session.query(AcrossFilledRelay) + .filter(AcrossFilledRelay.deposit_id == deposit_id) .first() ) -class AcrossV3FundsDepositedRepository(BaseRepository): +class AcrossFundsDepositedRepository(BaseRepository): def __init__(self, session_factory): super().__init__(AcrossFundsDeposited, session_factory) @@ -89,18 +89,12 @@ def __init__(self, session_factory): def get_number_of_records(self): with self.get_session() as session: - return session.query(func.count(AcrossCrossChainTransaction.id)).scalar() + return session.query(func.count(AcrossCrossChainTransaction.intent_id)).scalar() def empty_table(self): with self.get_session() as session: return session.query(AcrossCrossChainTransaction).delete() - def update_amount_usd(self, transaction_hash: str, amount_usd: float): - with self.get_session() as session: - session.query(AcrossCrossChainTransaction).filter( - AcrossCrossChainTransaction.src_transaction_hash == transaction_hash - ).update({"amount_usd": amount_usd}) - def get_by_src_tx_hash(self, src_tx_hash: str): with self.get_session() as session: return ( @@ -135,7 +129,7 @@ def get_total_amount_usd_transacted(self): Index("ix_blockchain_transactions_tx_hash", AcrossBlockchainTransaction.transaction_hash) -Index("ix_filled_v3_relay_tx_hash", AcrossFilledV3Relay.transaction_hash) -Index("ix_filled_v3_relay_deposit_id", AcrossFilledV3Relay.deposit_id) +Index("ix_filled_v3_relay_tx_hash", AcrossFilledRelay.transaction_hash) +Index("ix_filled_v3_relay_deposit_id", AcrossFilledRelay.deposit_id) Index("ix_funds_deposited_tx_hash", AcrossFundsDeposited.transaction_hash) Index("ix_funds_deposited_deposit_id", AcrossFundsDeposited.deposit_id) From 18e7253b29d6795d997fa3849719d4f0327bdb22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Augusto?= Date: Mon, 2 Mar 2026 18:14:57 +0000 Subject: [PATCH 3/3] chore: update models, extraction, and generation for deBridge, Across, Mayan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Augusto --- config/constants.py | 4 +- extractor/base_handler.py | 14 ++- extractor/debridge/handler.py | 123 ++++++++++++++----- extractor/decoder.py | 2 +- extractor/mayan/handler.py | 42 +++++-- extractor/solana_extractor.py | 24 +++- generator/across/generator.py | 49 ++++++++ generator/common/price_generator.py | 3 + generator/debridge/generator.py | 126 ++++++++++++++++---- generator/mayan/generator.py | 177 +++++++++++++++++++++++++--- repository/across/models.py | 3 + repository/debridge/__init__.py | 4 +- repository/debridge/models.py | 26 ++-- repository/debridge/repository.py | 12 +- repository/mayan/models.py | 28 ++--- rpcs/solana_rpc_client.py | 45 ++++--- 16 files changed, 544 insertions(+), 138 deletions(-) diff --git a/config/constants.py b/config/constants.py index dfb5e31..484498d 100644 --- a/config/constants.py +++ b/config/constants.py @@ -32,8 +32,8 @@ class Bridge(Enum): }, "137": { "name": "polygon", - "native_token": "MATIC", - "native_token_contract": "0x0000000000000000000000000000000000001010", + "native_token": "POL", + "native_token_contract": "0x0000000000000000000000000000000000000000", }, "1": { "name": "ethereum", diff --git a/extractor/base_handler.py b/extractor/base_handler.py index 2882141..f0ef2d0 100644 --- a/extractor/base_handler.py +++ b/extractor/base_handler.py @@ -103,6 +103,16 @@ def create_transaction_object( "fee": tx["meta"]["fee"], } else: + input_data = tx["input"] if "input" in tx else None + if isinstance(input_data, bytes): + input_data = input_data.hex() + elif hasattr(input_data, "hex"): # HexBytes + input_data = input_data.hex() + + # Truncate to 35000 chars if needed + if len(input_data) > 35000: + input_data = input_data[:35000] + return { "blockchain": blockchain, "transaction_hash": tx["transactionHash"], @@ -112,7 +122,7 @@ def create_transaction_object( "to_address": tx["to"], "status": int(tx["status"], 16), "value": int(tx["value"], 16) if "value" in tx else None, - "input_data": tx["input"][:35000] if "input" in tx else None, + "input_data": input_data, "fee": str(int(tx["gasUsed"], 0) * int(tx["effectiveGasPrice"], 0)), } except Exception as e: @@ -139,7 +149,7 @@ def flatten_object(obj): new_tuple += ( (convert_bin_to_hex(val) if isinstance(val, (bytes, bytearray)) else val), ) - flattened.update(dict(zip(keys, new_tuple))) + flattened.update(dict(zip(keys, new_tuple, strict=False))) else: flattened[key] = value return flattened diff --git a/extractor/debridge/handler.py b/extractor/debridge/handler.py index 66f07d1..203804d 100644 --- a/extractor/debridge/handler.py +++ b/extractor/debridge/handler.py @@ -6,12 +6,12 @@ from extractor.mayan.handler import MayanHandler from repository.database import DBSession from repository.debridge.models import ( - DeBridgeBlockchainTransaction, + DeBridgeBlockchainTransactions, DeBridgeCreatedOrder, DeBridgeFulfilledOrder, ) from repository.debridge.repository import ( - DeBridgeBlockchainTransactionRepository, + DeBridgeBlockchainTransactionsRepository, DeBridgeClaimedUnlockRepository, DeBridgeCreatedOrderRepository, DeBridgeFulfilledOrderRepository, @@ -50,7 +50,7 @@ def get_bridge_contracts_and_topics(self, bridge: str, blockchain: List[str]) -> ) def bind_db_to_repos(self): - self.blockchain_transaction_repo = DeBridgeBlockchainTransactionRepository(DBSession) + self.blockchain_transaction_repo = DeBridgeBlockchainTransactionsRepository(DBSession) self.created_order_repo = DeBridgeCreatedOrderRepository(DBSession) self.fulfilled_order_repo = DeBridgeFulfilledOrderRepository(DBSession) self.claimed_unlock_repo = DeBridgeClaimedUnlockRepository(DBSession) @@ -280,6 +280,9 @@ def handle_solana_events( if instr["programId"] in self.get_solana_bridge_program_ids() ] + if debridge_instructions == []: + continue + try: for idx, instruction in debridge_instructions: included = False @@ -294,22 +297,19 @@ def handle_solana_events( swap_instruction = MayanHandler.resolve_swaps(signature, swap_instructions) - fee_transfer_instruction = None + fee_transfer_instruction = transaction_instructions[idx] i = 1 - while ( - fee_transfer_instruction is None - or fee_transfer_instruction["name"] != "transfer" - ): + while fee_transfer_instruction["name"] != "transfer": fee_transfer_instruction = transaction_instructions[idx + i] i += 1 - transfer_instruction = None + transfer_instruction = transaction_instructions[idx] i = 6 while ( - transfer_instruction is None - or transfer_instruction["name"] != "transfer" + transfer_instruction["name"] != "transfer" + and transfer_instruction["name"] != "transferChecked" ): transfer_instruction = transaction_instructions[idx + i] i += 1 @@ -619,31 +619,30 @@ def post_processing(self): session.query( DeBridgeFulfilledOrder.order_id, DeBridgeFulfilledOrder.transaction_hash, - DeBridgeBlockchainTransaction.input_data, + DeBridgeFulfilledOrder.middle_dst_amount, + DeBridgeFulfilledOrder.middle_dst_token, + DeBridgeBlockchainTransactions.input_data, ) .filter(DeBridgeFulfilledOrder.blockchain != "solana") .join( - DeBridgeBlockchainTransaction, - DeBridgeBlockchainTransaction.transaction_hash + DeBridgeBlockchainTransactions, + DeBridgeBlockchainTransactions.transaction_hash == DeBridgeFulfilledOrder.transaction_hash, ) .all() ) updates = [] - for order_id, tx_hash, input_data in results: + for order_id, tx_hash, middle_amount, middle_token, input_data in results: log_to_cli( build_log_message_generator( self.bridge, - ( - f"Post-processing fulfill order: {order_id} -- Tx Hash: {tx_hash} " - f" {len(updates) / len(results) * 100:.2f}% done...", - ), + (f"Post-processing fulfill order: {order_id} -- Tx Hash: {tx_hash} "), ), CliColor.INFO, ) - if not input_data: + if not input_data or middle_amount is not None or middle_token is not None: continue try: @@ -656,7 +655,13 @@ def post_processing(self): amount_in = int(input_data[74:138], 16) updates.append((order_id, token_in, amount_in)) + elif ( + function_selector == "0x6b3ec416" # cross(tuple desc) + ): + token_in = unpad_address(input_data[64:128]) + amount_in = int(input_data[320:384], 16) + updates.append((order_id, token_in, amount_in)) elif ( function_selector == "0xb9303701" or function_selector == "0xc358547e" ): # createSaltedOrder or fulfillOrder @@ -687,7 +692,20 @@ def post_processing(self): continue # Batch update - for order_id, middle_token, middle_amount in updates: + total = len(updates) + for idx, (order_id, middle_token, middle_amount) in enumerate(updates): + # print progress + log_to_cli( + build_log_message_generator( + self.bridge, + ( + f"Updating fulfill order info: {order_id} " + f"-- {idx + 1}/{total} ({(idx + 1) / total * 100:.2f}%)", + ), + ), + CliColor.INFO, + ) + self.fulfilled_order_repo.update_middle_info_order_fulfilled( order_id, middle_token, @@ -700,31 +718,30 @@ def post_processing(self): session.query( DeBridgeCreatedOrder.order_id, DeBridgeCreatedOrder.transaction_hash, - DeBridgeBlockchainTransaction.input_data, + DeBridgeCreatedOrder.original_amount, + DeBridgeCreatedOrder.original_token, + DeBridgeBlockchainTransactions.input_data, ) .filter(DeBridgeCreatedOrder.blockchain != "solana") .join( - DeBridgeBlockchainTransaction, - DeBridgeBlockchainTransaction.transaction_hash + DeBridgeBlockchainTransactions, + DeBridgeBlockchainTransactions.transaction_hash == DeBridgeCreatedOrder.transaction_hash, ) .all() ) updates = [] - for order_id, tx_hash, input_data in results: + for order_id, tx_hash, amount, token, input_data in results: log_to_cli( build_log_message_generator( self.bridge, - ( - f"Post-processing fulfill order: {order_id} -- Tx Hash: {tx_hash} " - f" {len(updates) / len(results) * 100:.2f}% done...", - ), + (f"Post-processing created order: {order_id} -- Tx Hash: {tx_hash} "), ), CliColor.INFO, ) - if not input_data: + if not input_data or amount is not None or token is not None: continue try: @@ -736,6 +753,37 @@ def post_processing(self): token_in = unpad_address(input_data[10:74]) amount_in = int(input_data[74:138], 16) + updates.append((order_id, token_in, amount_in)) + elif ( + function_selector == "0x6b3ec416" # cross(tuple desc) + ): + token_in = unpad_address(input_data[64:128]) + amount_in = int(input_data[320:384], 16) + + updates.append((order_id, token_in, amount_in)) + elif ( + function_selector == "0xfbe16ca7" + ): # createOrder((address,uint256,bytes,uint256,uint256,bytes,address,bytes,bytes,bytes,bytes), bytes, uint32, bytes) # noqa: E501 + token_in = unpad_address(input_data[266:330]) + amount_in = int(input_data[330:394], 16) + + updates.append((order_id, token_in, amount_in)) + + elif ( + function_selector == "0xe2216330" + ): # swap((address,uint256,address,uint256,bool,bytes,bytes)[], address, uint256, uint256) # noqa: E501 + amount_in = int(input_data[458:522], 16) + token_in = unpad_address(input_data[522:586]) + + updates.append((order_id, token_in, amount_in)) + + elif ( + function_selector + == "0x3ce33bff" # bridge(string adapterId,address srcToken,uint256 amount,bytes data) # noqa: E501 + ): + token_in = unpad_address(input_data[75:139]) + amount_in = int(input_data[139:202], 16) + updates.append((order_id, token_in, amount_in)) elif ( @@ -768,7 +816,20 @@ def post_processing(self): continue # Batch update - for order_id, middle_token, middle_amount in updates: + total = len(updates) + for idx, (order_id, middle_token, middle_amount) in enumerate(updates, start=1): + # print progress + log_to_cli( + build_log_message_generator( + self.bridge, + ( + f"Updating created order info: {order_id} " + f"-- {idx}/{total} ({idx / total * 100:.2f}%)", + ), + ), + CliColor.INFO, + ) + self.created_order_repo.update_middle_info_order_fulfilled( order_id, middle_token, diff --git a/extractor/decoder.py b/extractor/decoder.py index a7f766d..cdd8480 100644 --- a/extractor/decoder.py +++ b/extractor/decoder.py @@ -132,7 +132,7 @@ def decode_event_input( normalized = map_abi_data(BASE_RETURN_NORMALIZERS, types, decoded) - return dict(zip(names, normalized)) + return dict(zip(names, normalized, strict=False)) except Exception as e: raise CustomException( self.CLASS_NAME, diff --git a/extractor/mayan/handler.py b/extractor/mayan/handler.py index 4987e0f..2629fa3 100644 --- a/extractor/mayan/handler.py +++ b/extractor/mayan/handler.py @@ -457,6 +457,14 @@ def handle_solana_events( transfer_instruction = transaction_instructions[idx - 1] elif transaction_instructions[idx - 1]["name"] == "closeAccount": transfer_instruction = transaction_instructions[idx - 2] + elif transaction_instructions[idx - 2]["name"] == "transfer": + transfer_instruction = transaction_instructions[idx - 2] + elif transaction_instructions[idx - 4]["name"] == "closeAccount": + transfer_instruction = transaction_instructions[idx - 4] + elif transaction_instructions[idx - 4]["name"] == "transfer": + transfer_instruction = transaction_instructions[idx - 4] + elif transaction_instructions[idx - 3]["name"] == "transferChecked": + transfer_instruction = transaction_instructions[idx - 3] included = self.handle_init_order( signature, transfer_instruction, instruction, swap_instruction @@ -487,6 +495,8 @@ def handle_solana_events( transfer_instruction = transaction_instructions[idx - 2] elif transaction_instructions[idx - 1]["name"] == "transfer": transfer_instruction = transaction_instructions[idx - 1] + elif transaction_instructions[idx - 1]["name"] == "transferChecked": + transfer_instruction = transaction_instructions[idx - 1] included = self.handle_fulfill( signature, transfer_instruction, instruction, swap_instruction @@ -1032,6 +1042,8 @@ def post_processing(self): session.query( MayanOrderFulfilled.key, MayanOrderFulfilled.transaction_hash, + MayanOrderFulfilled.middle_dst_token, + MayanOrderFulfilled.middle_dst_amount, MayanBlockchainTransaction.input_data, ) .join( @@ -1043,19 +1055,16 @@ def post_processing(self): ) updates = [] - for key, tx_hash, input_data in results: + for key, tx_hash, token, amount, input_data in results: log_to_cli( build_log_message_generator( self.bridge, - ( - f"Post-processing fulfill order: {key} -- Tx Hash: {tx_hash} " - f" {len(updates) / len(results) * 100:.2f}% done...", - ), + (f"Post-processing fulfill order: {key} -- Tx Hash: {tx_hash} "), ), CliColor.INFO, ) - if not input_data: + if not input_data or token is not None or amount is not None: continue try: @@ -1103,7 +1112,20 @@ def post_processing(self): continue # Batch update - for key, middle_token, middle_amount in updates: + total = len(updates) + for idx, (key, middle_token, middle_amount) in enumerate(updates): + # print progress + log_to_cli( + build_log_message_generator( + self.bridge, + ( + f"Updating fulfill order info: {key} " + f"-- {idx + 1}/{total} ({(idx + 1) / total * 100:.2f}%)", + ), + ), + CliColor.INFO, + ) + self.order_fulfilled_repo.update_middle_info_order_fulfilled( key, middle_token, @@ -1124,6 +1146,7 @@ def resolve_swaps(signature, swap): if not swap or not isinstance(swap, list): return None + counter = 0 while True: aggregated = MayanHandler.aggregate_swap_instructions(swap) @@ -1134,6 +1157,11 @@ def resolve_swaps(signature, swap): break else: swap = resolved + counter += 1 + + if counter > 10: + # Prevent infinite loops. 10 iterations should be enough to resolve any swap chain. + break if len(resolved) == 1: item = resolved[0] diff --git a/extractor/solana_extractor.py b/extractor/solana_extractor.py index 77da819..8f56a6d 100644 --- a/extractor/solana_extractor.py +++ b/extractor/solana_extractor.py @@ -59,6 +59,11 @@ def work( decoded_instructions = [] for signature in signatures: try: + exists = self.handler.does_transaction_exist_by_hash(signature) + + if exists: + continue + decoded_tx = self.rpc_client.parseTransactionByHash(signature) decoded_instructions.append(decoded_tx) @@ -112,20 +117,33 @@ def extract_data(self, signature_ranges: dict): ) ) + # if we already have signatures fetched, we can skip fetching them again + # and we can load them from a file + all_signatures = self.rpc_client.get_all_signatures_for_address( program_id, start_signature, end_signature ) - # if we already have signatures fetched, we can skip fetching them again + all_signatures = list(map(lambda x: x["signature"], all_signatures)) + + # store all signatures to a file for future reference + with open(f"extractor/solana_{program_id}_signatures.txt", "w") as f: + for signature in all_signatures: + f.write(f"{signature}\n") + + # if we want to load signatures from a file instead of fetching them again, we can + # uncomment the following code + # all_signatures = [] - # with open("extractor/db_out.txt", "r") as f: + # with open(f"extractor/solana_{program_id}_signatures.txt", "r") as f: # # each line is a tx_hash / signature # for line in f: # tx_hash = line.strip() # if tx_hash: # all_signatures.append(tx_hash) - all_signatures = list(map(lambda x: x["signature"], all_signatures)) + # ensure no duplicates + all_signatures = list(set(all_signatures)) if not all_signatures: log_to_cli( diff --git a/generator/across/generator.py b/generator/across/generator.py index c41b6aa..f0a28d0 100644 --- a/generator/across/generator.py +++ b/generator/across/generator.py @@ -75,6 +75,10 @@ def generate_cross_chain_data(self): end_ts, ) + # The Unichain blockchain is not supported by the Alchemy API, so we need to make some + # additions to the database manually + self.fetch_unichain_data(start_ts, end_ts) + cctxs = self.across_cross_chain_token_transfers_repo.get_unique_src_dst_contract_pairs() self.populate_token_info_tables(cctxs, start_ts, end_ts) @@ -313,6 +317,51 @@ def populate_token_info_tables(self, cctxs, start_ts, end_ts): CliColor.SUCCESS, ) + def fetch_unichain_data(self, start_ts, end_ts): + if not self.native_token_repo.get_native_token_by_blockchain("unichain"): + self.native_token_repo.create( + { + "symbol": "WETH", + "blockchain": "unichain", + } + ) + + if not self.token_metadata_repo.get_token_metadata_by_symbol_and_blockchain( + "WETH", "unichain" + ): + self.token_metadata_repo.create( + { + "symbol": "WETH", + "name": "Wrapped Ether", + "decimals": 18, + "blockchain": "unichain", + "address": "0x4200000000000000000000000000000000000006", + } + ) + + self.token_metadata_repo.create( + { + "symbol": "WETH", + "name": "Wrapped Ether", + "decimals": 18, + "blockchain": "unichain", + "address": "0x0000000000000000000000000000000000000000", + } + ) + + if not self.token_metadata_repo.get_token_metadata_by_symbol_and_blockchain( + "USDC", "unichain" + ): + self.token_metadata_repo.create( + { + "symbol": "USDC", + "name": "USD Coin", + "decimals": 6, + "blockchain": "unichain", + "address": "0x078d782b760474a361dda0af3839290b0ef57ad6", + } + ) + def fix_token_symbol_clashes(self): """ The calculate_cctx_usd_values function calculated the USD value of the input and output diff --git a/generator/common/price_generator.py b/generator/common/price_generator.py index e58ac6a..00efb47 100644 --- a/generator/common/price_generator.py +++ b/generator/common/price_generator.py @@ -81,6 +81,9 @@ def populate_native_tokens( None, ) + if token_metadata is None: + continue + name = token_metadata["name"] completed, dates = PriceGenerator.is_token_price_complete( diff --git a/generator/debridge/generator.py b/generator/debridge/generator.py index 9e5c442..c4861e2 100644 --- a/generator/debridge/generator.py +++ b/generator/debridge/generator.py @@ -14,13 +14,14 @@ ) from repository.database import DBSession from repository.debridge.models import ( - DeBridgeBlockchainTransaction, + DeBridgeBlockchainTransactions, DeBridgeClaimedUnlock, DeBridgeCreatedOrder, + DeBridgeCrossChainTransactions, DeBridgeFulfilledOrder, ) from repository.debridge.repository import ( - DeBridgeBlockchainTransactionRepository, + DeBridgeBlockchainTransactionsRepository, DeBridgeClaimedUnlockRepository, DeBridgeCreatedOrderRepository, DeBridgeCrossChainTransactionsRepository, @@ -44,7 +45,7 @@ def __init__(self) -> None: self.price_generator = PriceGenerator() def bind_db_to_repos(self): - self.transactions_repo = DeBridgeBlockchainTransactionRepository(DBSession) + self.transactions_repo = DeBridgeBlockchainTransactionsRepository(DBSession) self.created_orders_repo = DeBridgeCreatedOrderRepository(DBSession) self.fulfilled_orders_repo = DeBridgeFulfilledOrderRepository(DBSession) self.claimed_unlock_repo = DeBridgeClaimedUnlockRepository(DBSession) @@ -77,11 +78,11 @@ def generate_cross_chain_data(self): end_ts, ) - self.fetch_solana_data(start_ts, end_ts) - cctxs = self.debridge_cross_chain_transactions_repo.get_unique_src_dst_contract_pairs() self.populate_token_info_tables(cctxs, start_ts, end_ts) + self.fetch_solana_data(start_ts, end_ts) + self.fill_null_address_tokens() # a lot of token addresses in Gnosis are not being recognized by alchemy, so we fetch @@ -111,9 +112,9 @@ def generate_cross_chain_data(self): self.debridge_cross_chain_transactions_repo, "debridge_cross_chain_transactions", "refund_amount", - "src_blockchain", - "src_contract_address", - "src_timestamp", + "refund_blockchain", + "refund_token", + "refund_timestamp", "refund_amount_usd", ) PriceGenerator.calculate_cctx_usd_values( @@ -184,6 +185,8 @@ def generate_cross_chain_data(self): "native_fix_fee_usd", ) + self.fix_token_symbol_clashes() + except Exception as e: exception = CustomException( self.CLASS_NAME, @@ -207,9 +210,9 @@ def match_evm_to_all_cctxs(self): try: results = [] - SrcTx = aliased(DeBridgeBlockchainTransaction) - DstTx = aliased(DeBridgeBlockchainTransaction) - RefundTx = aliased(DeBridgeBlockchainTransaction) + SrcTx = aliased(DeBridgeBlockchainTransactions) + DstTx = aliased(DeBridgeBlockchainTransactions) + RefundTx = aliased(DeBridgeBlockchainTransactions) with self.debridge_cross_chain_transactions_repo.get_session() as session: # Merge CreatedOrder with BlockchainTransaction by transaction_hash @@ -251,7 +254,7 @@ def match_evm_to_all_cctxs(self): DeBridgeCreatedOrder.order_id.label("intent_id"), DeBridgeCreatedOrder.maker_src.label("depositor"), DeBridgeFulfilledOrder.receiver_dst.label("recipient"), - DeBridgeFulfilledOrder.give_token_address.label("src_contract_address"), + DeBridgeCreatedOrder.original_token.label("src_contract_address"), DeBridgeFulfilledOrder.take_token_address.label("dst_contract_address"), DeBridgeCreatedOrder.original_amount.label("input_amount"), literal(None).label("input_amount_usd"), @@ -329,9 +332,9 @@ def match_sol_to_evm_cctxs(self): try: results = [] - SrcTx = aliased(DeBridgeBlockchainTransaction) - DstTx = aliased(DeBridgeBlockchainTransaction) - RefundTx = aliased(DeBridgeBlockchainTransaction) + SrcTx = aliased(DeBridgeBlockchainTransactions) + DstTx = aliased(DeBridgeBlockchainTransactions) + RefundTx = aliased(DeBridgeBlockchainTransactions) with self.debridge_cross_chain_transactions_repo.get_session() as session: results = ( @@ -365,7 +368,7 @@ def match_sol_to_evm_cctxs(self): DeBridgeFulfilledOrder.order_id.label("intent_id"), DeBridgeCreatedOrder.maker_src.label("depositor"), DeBridgeCreatedOrder.receiver_dst.label("recipient"), - DeBridgeCreatedOrder.give_token_address.label("src_contract_address"), + DeBridgeCreatedOrder.original_token.label("src_contract_address"), DeBridgeCreatedOrder.take_token_address.label("dst_contract_address"), DeBridgeCreatedOrder.original_amount.label("input_amount"), literal(None).label("input_amount_usd"), @@ -407,6 +410,10 @@ def match_sol_to_evm_cctxs(self): DeBridgeClaimedUnlock.transaction_hash == RefundTx.transaction_hash, ) .filter(SrcTx.blockchain == "solana") + .filter(DstTx.blockchain != "solana") + .filter( + DeBridgeCreatedOrder.dst_blockchain == DeBridgeFulfilledOrder.blockchain + ) .all() ) @@ -520,11 +527,13 @@ def fetch_solana_data(self, start_ts, end_ts): } ) - if not self.token_metadata_repo.get_token_metadata_by_symbol("SOL"): + if not self.token_metadata_repo.get_token_metadata_by_symbol_and_blockchain( + "SOL", "solana" + ): self.token_metadata_repo.create( { "symbol": "SOL", - "name": "Wrapped Solana", + "name": "Solana", "decimals": 9, "blockchain": "solana", "address": "11111111111111111111111111111111", @@ -534,7 +543,17 @@ def fetch_solana_data(self, start_ts, end_ts): self.token_metadata_repo.create( { "symbol": "SOL", - "name": "Wrapped Solana", + "name": "Solana", + "decimals": 9, + "blockchain": "solana", + "address": "So11111111111111111111111111111111111111112", + } + ) + + self.token_metadata_repo.create( + { + "symbol": "SOL", + "name": "Solana", "decimals": 9, "blockchain": "solana", "address": "0x0000000000000000000000000000000000000000", @@ -573,13 +592,28 @@ def fetch_solana_data(self, start_ts, end_ts): } ) - if not PriceGenerator.is_token_price_complete( + if not self.token_metadata_repo.get_token_metadata_by_symbol_and_blockchain( + "USDT", "solana" + ): + self.token_metadata_repo.create( + { + "symbol": "USDT", + "name": "USDT", + "decimals": 6, + "blockchain": "solana", + "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", + } + ) + + completed, _ = PriceGenerator.is_token_price_complete( self.token_price_repo, start_ts, end_ts, "SOL", "solana", - ): + ) + + if not completed: PriceGenerator.fetch_and_store_token_prices( self.bridge, self.token_price_repo, @@ -603,3 +637,53 @@ def fetch_solana_data(self, start_ts, end_ts): .execution_options(synchronize_session=False) ) session.execute(stmt) + + # We found an error in the Alchemy API where it returns the wrong + # decimals for the MYX token in BNB, so we need to fix it manually + with self.token_metadata_repo.get_session() as session: + stmt = ( + update(TokenMetadata) + .values(decimals=18) + .where( + TokenMetadata.blockchain == "bnb", + TokenMetadata.symbol == "MYX", + TokenMetadata.address == "0xd82544bf0dfe8385ef8fa34d67e6e4940cc63e16", + ) + .execution_options(synchronize_session=False) + ) + session.execute(stmt) + + session.query(TokenMetadata).filter( + TokenMetadata.address == "0x420658a1d8b8f5c36ddaf1bb828f347ba9011969" + ).delete(synchronize_session=False) + + session.query(TokenMetadata).filter( + TokenMetadata.address == "0x0db510e79909666d6dec7f5e49370838c16d950f" + ).delete(synchronize_session=False) + + session.query(TokenMetadata).filter( + TokenMetadata.address == "0x96fb784986284cb6d4a8da6dd50dd7e85ef38f5d" + ).delete(synchronize_session=False) + + def fix_token_symbol_clashes(self): + log_to_cli( + build_log_message_generator( + self.bridge, "Fixing token symbol clashes in Debridge cross-chain transactions..." + ) + ) + + with self.debridge_cross_chain_transactions_repo.get_session() as session: + stmt = ( + update(DeBridgeCrossChainTransactions) + .where( + DeBridgeCrossChainTransactions.dst_contract_address.in_( + [ + "0x005e6fd1610302018dcd9caf29b8bc38ff6efd98", + "0xd7075f79df19c279ba5a9eb04a00474c43a3d73e", + "0xb33d999469a7e6b9ebc25a3a05248287b855ed46", + ] + ) + ) + .values(output_amount_usd=None, percent_fee_usd=None) + ) + session.execute(stmt) diff --git a/generator/mayan/generator.py b/generator/mayan/generator.py index 770d3d8..aad484e 100644 --- a/generator/mayan/generator.py +++ b/generator/mayan/generator.py @@ -78,13 +78,13 @@ def generate_cross_chain_data(self): end_ts, ) + cctxs = self.cross_chain_transactions_repo.get_unique_src_dst_contract_pairs() + self.populate_token_info_tables(cctxs, start_ts, end_ts) + # The Solana blockchain is not supported by the Alchemy API, so we need to make some # additions to the database manually self.fetch_solana_data(start_ts, end_ts) - cctxs = self.cross_chain_transactions_repo.get_unique_src_dst_contract_pairs() - self.populate_token_info_tables(cctxs, start_ts, end_ts) - PriceGenerator.calculate_cctx_usd_values( self.bridge, self.cross_chain_transactions_repo, @@ -110,9 +110,9 @@ def generate_cross_chain_data(self): self.cross_chain_transactions_repo, "mayan_cross_chain_transactions", "refund_amount", - "src_blockchain", - "src_contract_address", - "src_timestamp", + "refund_blockchain", + "refund_token", + "refund_timestamp", "refund_amount_usd", ) PriceGenerator.calculate_cctx_usd_values( @@ -437,7 +437,9 @@ def match_evm_to_sol(self): Fwd.c.middle_src_token.label("middle_src_token"), Fwd.c.middle_src_amount.label("middle_src_amount"), literal(0).label("native_fix_fee"), - literal(0).label("percent_fee"), + (MayanFulfillOrder.amount * 0.000300090027 / (1 - 0.000300090027)).label( + "percent_fee" + ), ) .join( MayanOrderCreated, @@ -508,7 +510,7 @@ def match_evm_to_sol(self): # of fees), but there is not way to get the exact refund amount unless we # parse internal transactions and match to the unlock events. refund_amount_usd=None, - refund_token="0x0000000000000000000000000000000000000000", + refund_token=None, auction_id=row.auction_id, auction_first_bid_timestamp=row.auction_first_bid_timestamp, auction_last_bid_timestamp=row.auction_last_bid_timestamp, @@ -707,7 +709,7 @@ def match_evm_to_evm(self): output_amount_usd=None, refund_amount=row.input_amount, refund_amount_usd=None, - refund_token="0x0000000000000000000000000000000000000000", + refund_token=None, auction_id=row.auction_id, auction_first_bid_timestamp=row.auction_first_bid_timestamp, auction_last_bid_timestamp=row.auction_last_bid_timestamp, @@ -719,6 +721,40 @@ def match_evm_to_evm(self): ) ) + # identify duplicates by intent_id + original_count = len(cctxs) + unique_by_intent = {} + no_intent = [] + + def ts_key(obj): + # prefer dst_timestamp, then src_timestamp for determinism + return (obj.dst_timestamp or 0, obj.src_timestamp or 0) + + for cctx in cctxs: + intent = getattr(cctx, "intent_id", None) + if intent is None: + no_intent.append(cctx) + continue + + existing = unique_by_intent.get(intent) + if existing is None: + unique_by_intent[intent] = cctx + else: + # keep the one with the later dst_timestamp (fallback to src_timestamp) + if ts_key(cctx) > ts_key(existing): + unique_by_intent[intent] = cctx + + cctxs = list(unique_by_intent.values()) + no_intent + removed = original_count - len(cctxs) + if removed: + log_to_cli( + build_log_message_generator( + self.bridge, + f"Removed {removed} duplicate cross-chain transactions by intent_id.", + ), + CliColor.WARNING, + ) + self.cross_chain_transactions_repo.create_all(cctxs) size = self.cross_chain_transactions_repo.get_number_of_records() @@ -819,6 +855,26 @@ def fetch_solana_data(self, start_ts, end_ts): } ) + self.token_metadata_repo.create( + { + "symbol": "SOL", + "name": "Solana", + "decimals": 9, + "blockchain": "solana", + "address": "So11111111111111111111111111111111111111112", + } + ) + + self.token_metadata_repo.create( + { + "symbol": "SOL", + "name": "Solana", + "decimals": 9, + "blockchain": "solana", + "address": "0x0000000000000000000000000000000000000000", + } + ) + # In Mayan, when the native token is used in the destination blockchain, # the address is set to 0x0000000000000000000000000000000000000000 # however, if we fetch info from Alchemy, we will not get the @@ -851,13 +907,28 @@ def fetch_solana_data(self, start_ts, end_ts): } ) - if not PriceGenerator.is_token_price_complete( + if not self.token_metadata_repo.get_token_metadata_by_symbol_and_blockchain( + "USDT", "solana" + ): + self.token_metadata_repo.create( + { + "symbol": "USDT", + "name": "USDT", + "decimals": 6, + "blockchain": "solana", + "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", + } + ) + + completed, _ = PriceGenerator.is_token_price_complete( self.token_price_repo, start_ts, end_ts, "SOL", - "solana", - ): + "Solana", + ) + + if not completed: PriceGenerator.fetch_and_store_token_prices( self.bridge, self.token_price_repo, @@ -865,9 +936,10 @@ def fetch_solana_data(self, start_ts, end_ts): end_ts, "Solana", "SOL", + None, ) - # We found an erros in the Alchemy API where it returns the wrong + # We found an error in the Alchemy API where it returns the wrong # decimals for the DONKEY token in BNB, so we need to fix it manually with self.token_metadata_repo.get_session() as session: stmt = ( @@ -910,16 +982,83 @@ def fix_token_symbol_clashes(self): ) session.execute(stmt) - # Also, we need to fix the USD values of the 'Bitcoin on Base' token - # because it is not worth the same as BTC + # Also, we need to fix the USD values of the 'Bitcoin on Base' and + # 'Solana on Base' tokens because it is not worth the same as BTC. + + # EDIT: we found more tokens with the same issue, so we need to fix them all. + # The common factor is that they all have the same symbol as a more popular token, + # but they are not the same token and have a much lower valuation, so we need to + # delete the USD values for all transactions involving these tokens. + # We should find a better solution for this in the future... + with self.cross_chain_transactions_repo.get_session() as session: stmt = ( update(MayanCrossChainTransaction) .where( - MayanCrossChainTransaction.src_blockchain == "base", - MayanCrossChainTransaction.src_contract_address - == "0x0c41f1fc9022feb69af6dc666abfe73c9ffda7ce", + MayanCrossChainTransaction.src_contract_address.in_( + [ + "0x0c41f1fc9022feb69af6dc666abfe73c9ffda7ce", + "0x0c41F1FC9022FEB69aF6dc666aBfE73C9FFDA7ce", + "0x1986EF0cE0A7Fee7064137F00e7652f3E0bd35Ea", + "0xf73338C9a944dC440c3315D3EDe8E5446C2e26dC", + "0x3d5e487B21E0569048c4D1A60E98C36e1B09DB07", + "0x72499bdDb67F4CA150E1f522Ca82c87bc9fB18c8", + "0xFCa95aeb5bF44aE355806A5ad14659c940dC6BF7", + "0xFe1EF2B469846D1832B25095ff51B004f090E0C6", + "0x8479B19c5a3C43e024B2543582af0FC2fEf2E6A8", + "0x08d426db68f92cf9327932a1cc561b525b7e3454", + "0x59F4F336Bf3D0C49dBfbA4A74eBD2a6aCE40539A", + "0x698DC45e4F10966f6D1D98e3bFd7071d8144C233", + "0x52b492a33E447Cdb854c7FC19F1e57E8BfA1777D", + ] + ) ) - .values(input_amount_usd=None, refund_fee_usd=None) + .values(input_amount_usd=None, refund_amount_usd=None) + ) + session.execute(stmt) + + stmt = ( + update(MayanCrossChainTransaction) + .where( + MayanCrossChainTransaction.dst_contract_address.in_( + [ + "0x0c41f1fc9022feb69af6dc666abfe73c9ffda7ce", + "0x0c41F1FC9022FEB69aF6dc666aBfE73C9FFDA7ce", + "0x1986ef0ce0a7fee7064137f00e7652f3e0bd35ea", + "0xf73338c9a944dc440c3315d3ede8e5446c2e26dc", + "0x3d5e487B21E0569048c4D1A60E98C36e1B09DB07", + "0x72499bdDb67F4CA150E1f522Ca82c87bc9fB18c8", + "0xfca95aeb5bf44ae355806a5ad14659c940dc6bf7", + "0xfe1ef2b469846d1832b25095ff51b004f090e0c6", + "0x8479B19c5a3C43e024B2543582af0FC2fEf2E6A8", + "0x08d426db68f92cf9327932a1cc561b525b7e3454", + "0x420658a1d8b8f5c36ddaf1bb828f347ba9011969", + "0xe83918ebc42583b4e9d5f5aa8280abcef8b6804c", + "0x3d5e487b21e0569048c4d1a60e98c36e1b09db07", + "0xc808f8baf0fbeb609ae3189bb4e14ab45ef75869", + "0x72499bddb67f4ca150e1f522ca82c87bc9fb18c8", + "0xaa390ee164e6a454609754bcc882760322fe8e3c", + "0xf6da29a60e17081d80da142448de4438b74d20f9", + "0x754188c92f5b4b23acaaaee3d3ea7400e0b6adcc", + "0xb46584e0efde3092e04010a13f2eae62adb3b9f0", + "0x698dc45e4f10966f6d1d98e3bfd7071d8144c233", + "0x13375b79f3f1651ea317956686d2dcdf69e98ab1", + "0x52b492a33e447cdb854c7fc19f1e57e8bfa1777d", + "0xd7075f79df19c279ba5a9eb04a00474c43a3d73e", + "0x9e1ead5f33cee7b0ec79537689f2c24711ff720b", + "0xfdfff924c413a228c9fc62b1978ed8f755d81111", + "0x5c9213bedcae6e7474e9ec6fa8a14978e3d363f1", + "0x945cd29a40629ada610c2f6eba3f393756aa4444", + "0xb043bad01195700e737d0aee852584eae9393134", + "0x59f4f336bf3d0c49dbfba4a74ebd2a6ace40539a", + "0xf73338c9a944dc440c3315d3ede8e5446c2e26dc", + "0x08d426db68f92cf9327932a1cc561b525b7e3454", + "0x1986ef0ce0a7fee7064137f00e7652f3e0bd35ea", + "0x3d5e487b21e0569048c4d1a60e98c36e1b09db07", + "0x8479b19c5a3c43e024b2543582af0fc2fef2e6a8", + ] + ) + ) + .values(output_amount_usd=None, percent_fee_usd=None) ) session.execute(stmt) diff --git a/repository/across/models.py b/repository/across/models.py index c11ceb6..45859df 100644 --- a/repository/across/models.py +++ b/repository/across/models.py @@ -272,6 +272,9 @@ class AcrossCrossChainTransaction(Base): middle_dst_amount_usd = Column(Float, nullable=True) output_amount = Column(Numeric(30, 0), nullable=False) output_amount_usd = Column(Float, nullable=True) + refund_amount = Column(Numeric(50, 0), nullable=True) + refund_amount_usd = Column(Float, nullable=True) + refund_token = Column(String(44), nullable=True) quote_timestamp = Column(BigInteger, nullable=False) fill_deadline = Column(BigInteger, nullable=False) exclusivity_deadline = Column(BigInteger, nullable=False) diff --git a/repository/debridge/__init__.py b/repository/debridge/__init__.py index a37a208..d2292a8 100644 --- a/repository/debridge/__init__.py +++ b/repository/debridge/__init__.py @@ -1,5 +1,5 @@ from .repository import ( - DeBridgeBlockchainTransactionRepository, + DeBridgeBlockchainTransactionsRepository, DeBridgeClaimedUnlockRepository, DeBridgeCreatedOrderRepository, DeBridgeCrossChainTransactionsRepository, @@ -7,7 +7,7 @@ ) __all__ = [ - "DeBridgeBlockchainTransactionRepository", + "DeBridgeBlockchainTransactionsRepository", "DeBridgeCreatedOrderRepository", "DeBridgeFulfilledOrderRepository", "DeBridgeClaimedUnlockRepository", diff --git a/repository/debridge/models.py b/repository/debridge/models.py index 72f54c8..def9b13 100644 --- a/repository/debridge/models.py +++ b/repository/debridge/models.py @@ -17,7 +17,7 @@ class DeBridgeCreatedOrder(Base): give_amount = Column(Numeric(30, 0), nullable=False) dst_blockchain = Column(String(10), nullable=False) take_token_address = Column(String(44), nullable=False) - take_amount = Column(Numeric(30, 0), nullable=False) + take_amount = Column(Numeric(50, 0), nullable=False) receiver_dst = Column(String(44), nullable=False) give_patch_authority_src = Column(String(44), nullable=False) order_authority_address_dst = Column(String(44), nullable=False) @@ -28,12 +28,12 @@ class DeBridgeCreatedOrder(Base): affiliate_fee = Column(String, nullable=True) native_fix_fee = Column(Numeric(30, 0), nullable=True) percent_fee = Column(Numeric(30, 0), nullable=True) - referral_code = Column(Integer, nullable=False) + referral_code = Column(Integer, nullable=True) _metadata = Column( String, nullable=True ) # we added the underscore to avoid conflicts with the metadata column in the base class original_token = Column(String(44), nullable=True) - original_amount = Column(Numeric(30, 0), nullable=True) + original_amount = Column(Numeric(50, 0), nullable=True) def __init__( self, @@ -128,7 +128,7 @@ class DeBridgeFulfilledOrder(Base): give_amount = Column(Numeric(30, 0), nullable=False) dst_blockchain = Column(String(10), nullable=False) take_token_address = Column(String(44), nullable=False) - take_amount = Column(Numeric(30, 0), nullable=False) + take_amount = Column(Numeric(50, 0), nullable=False) receiver_dst = Column(String(44), nullable=False) give_patch_authority_src = Column(String(44), nullable=False) order_authority_address_dst = Column(String(44), nullable=False) @@ -140,7 +140,7 @@ class DeBridgeFulfilledOrder(Base): unlock_authority = Column(String(44), nullable=False) taker = Column(String(44), nullable=True) middle_dst_token = Column(String(44), nullable=True) - middle_dst_amount = Column(Numeric(30, 0), nullable=True) + middle_dst_amount = Column(Numeric(50, 0), nullable=True) def __init__( self, @@ -252,8 +252,8 @@ def __repr__(self): ) -class DeBridgeBlockchainTransaction(BlockchainTransaction): - __tablename__ = "debridge_blockchain_transaction" +class DeBridgeBlockchainTransactions(BlockchainTransaction): + __tablename__ = "debridge_blockchain_transactions" def __repr__(self): return ( @@ -293,7 +293,7 @@ class DeBridgeCrossChainTransactions(Base): refund_from_address = Column(String(44), nullable=True) refund_to_address = Column(String(44), nullable=True) refund_fee = Column(Numeric(30, 0), nullable=True) - refund_value = Column(Numeric(30, 0), nullable=True) + refund_value = Column(Numeric(50, 0), nullable=True) refund_fee_usd = Column(Float, nullable=True) refund_timestamp = Column(BigInteger, nullable=True) intent_id = Column(String(64), nullable=False, primary_key=True) @@ -301,17 +301,17 @@ class DeBridgeCrossChainTransactions(Base): recipient = Column(String(44), nullable=False) src_contract_address = Column(String(44), nullable=True) dst_contract_address = Column(String(44), nullable=True) - input_amount = Column(Numeric(30, 0), nullable=True) + input_amount = Column(Numeric(50, 0), nullable=True) input_amount_usd = Column(Float, nullable=True) middle_src_token = Column(String(44), nullable=True) - middle_src_amount = Column(Numeric(30, 0), nullable=True) + middle_src_amount = Column(Numeric(50, 0), nullable=True) middle_src_amount_usd = Column(Float, nullable=True) middle_dst_token = Column(String(44), nullable=True) - middle_dst_amount = Column(Numeric(30, 0), nullable=True) + middle_dst_amount = Column(Numeric(50, 0), nullable=True) middle_dst_amount_usd = Column(Float, nullable=True) - output_amount = Column(Numeric(30, 0), nullable=False) + output_amount = Column(Numeric(50, 0), nullable=False) output_amount_usd = Column(Float, nullable=True) - refund_amount = Column(Numeric(30, 0), nullable=True) + refund_amount = Column(Numeric(50, 0), nullable=True) refund_amount_usd = Column(Float, nullable=True) refund_token = Column(String(44), nullable=True) native_fix_fee = Column(Numeric(30, 0), nullable=False) diff --git a/repository/debridge/repository.py b/repository/debridge/repository.py index 96f5c7c..0d317c0 100644 --- a/repository/debridge/repository.py +++ b/repository/debridge/repository.py @@ -3,7 +3,7 @@ from repository.base import BaseRepository from .models import ( - DeBridgeBlockchainTransaction, + DeBridgeBlockchainTransactions, DeBridgeClaimedUnlock, DeBridgeCreatedOrder, DeBridgeCrossChainTransactions, @@ -11,21 +11,21 @@ ) -class DeBridgeBlockchainTransactionRepository(BaseRepository): +class DeBridgeBlockchainTransactionsRepository(BaseRepository): def __init__(self, session_factory): - super().__init__(DeBridgeBlockchainTransaction, session_factory) + super().__init__(DeBridgeBlockchainTransactions, session_factory) def get_transaction_by_hash(self, transaction_hash: str): with self.get_session() as session: - return session.get(DeBridgeBlockchainTransaction, transaction_hash) + return session.get(DeBridgeBlockchainTransactions, transaction_hash) def get_min_timestamp(self): with self.get_session() as session: - return session.query(func.min(DeBridgeBlockchainTransaction.timestamp)).scalar() + return session.query(func.min(DeBridgeBlockchainTransactions.timestamp)).scalar() def get_max_timestamp(self): with self.get_session() as session: - return session.query(func.max(DeBridgeBlockchainTransaction.timestamp)).scalar() + return session.query(func.max(DeBridgeBlockchainTransactions.timestamp)).scalar() class DeBridgeCreatedOrderRepository(BaseRepository): diff --git a/repository/mayan/models.py b/repository/mayan/models.py index 97e7366..6178975 100644 --- a/repository/mayan/models.py +++ b/repository/mayan/models.py @@ -12,7 +12,7 @@ class MayanSwapAndForwarded(Base): blockchain = Column(String(10), nullable=False) transaction_hash = Column(String(66), nullable=False) token_in = Column(String(42), nullable=False) - amount_in = Column(Numeric(30, 0), nullable=False) + amount_in = Column(Numeric(50, 0), nullable=False) swap_protocol = Column(String(42), nullable=False) middle_token = Column(String(42), nullable=False) middle_amount = Column(Numeric(30, 0), nullable=False) @@ -110,7 +110,7 @@ class MayanForwarded(Base): blockchain = Column(String(10), nullable=False) transaction_hash = Column(String(66), nullable=False) token = Column(String(42), nullable=False) - amount = Column(Numeric(30, 0), nullable=True) + amount = Column(Numeric(50, 0), nullable=True) mayan_protocol = Column(String(42), nullable=False) trader = Column(String(42), nullable=False) token_out = Column(String(42), nullable=False) @@ -214,11 +214,11 @@ class MayanOrderFulfilled(Base): key = Column(String(64), nullable=False, primary_key=True) sequence = Column(Integer, nullable=False) - net_amount = Column(Numeric(30, 0), nullable=False) + net_amount = Column(Numeric(50, 0), nullable=False) blockchain = Column(String(10), nullable=False) transaction_hash = Column(String(66), nullable=False) middle_dst_token = Column(String(44), nullable=True) - middle_dst_amount = Column(Numeric(30, 0), nullable=True) + middle_dst_amount = Column(Numeric(50, 0), nullable=True) def __init__( self, @@ -287,14 +287,14 @@ class MayanInitOrder(Base): fee_manager_program = Column(String(44), nullable=False) token_program = Column(String(44), nullable=False) system_program = Column(String(44), nullable=False) - middle_src_amount_min = Column(Numeric(30, 0), nullable=True) - middle_src_amount = Column(Numeric(30, 0), nullable=True) + middle_src_amount_min = Column(Numeric(50, 0), nullable=True) + middle_src_amount = Column(Numeric(50, 0), nullable=True) native_input = Column(Boolean, nullable=False) fee_submit = Column(Numeric(30, 0), nullable=False) addr_dest = Column(String(128), nullable=False) chain_dest = Column(String(10), nullable=False) token_out = Column(String(128), nullable=False) - amount_out_min = Column(Numeric(30, 0), nullable=False) + amount_out_min = Column(Numeric(50, 0), nullable=False) gas_drop = Column(Numeric(30, 0), nullable=False) fee_cancel = Column(Numeric(30, 0), nullable=False) fee_refund = Column(Numeric(30, 0), nullable=False) @@ -305,7 +305,7 @@ class MayanInitOrder(Base): auction_mode = Column(Integer, nullable=False) key_rnd = Column(String(128), nullable=False) original_src_token = Column(String(44), nullable=False) - original_src_amount = Column(Numeric(30, 0), nullable=False) + original_src_amount = Column(Numeric(50, 0), nullable=False) amm = Column(String(44), nullable=True) def __init__( @@ -406,7 +406,7 @@ class MayanUnlock(Base): driver_acc = Column(String(44), nullable=False) token_program = Column(String(44), nullable=False) system_program = Column(String(44), nullable=False) - amount = Column(Numeric(30, 0), nullable=False) + amount = Column(Numeric(50, 0), nullable=False) def __init__( self, @@ -831,17 +831,17 @@ class MayanCrossChainTransaction(Base): recipient = Column(String(44), nullable=False) src_contract_address = Column(String(44), nullable=False) dst_contract_address = Column(String(44), nullable=False) - input_amount = Column(Numeric(30, 0), nullable=False) + input_amount = Column(Numeric(50, 0), nullable=False) input_amount_usd = Column(Float, nullable=True) middle_src_token = Column(String(44), nullable=True) - middle_src_amount = Column(Numeric(30, 0), nullable=True) + middle_src_amount = Column(Numeric(50, 0), nullable=True) middle_src_amount_usd = Column(Float, nullable=True) middle_dst_token = Column(String(44), nullable=True) - middle_dst_amount = Column(Numeric(30, 0), nullable=True) + middle_dst_amount = Column(Numeric(50, 0), nullable=True) middle_dst_amount_usd = Column(Float, nullable=True) - output_amount = Column(Numeric(30, 0), nullable=False) + output_amount = Column(Numeric(50, 0), nullable=False) output_amount_usd = Column(Float, nullable=True) - refund_amount = Column(Numeric(30, 0), nullable=True) + refund_amount = Column(Numeric(50, 0), nullable=True) refund_amount_usd = Column(Float, nullable=True) refund_token = Column(String(44), nullable=True) auction_id = Column(String(64), nullable=True) diff --git a/rpcs/solana_rpc_client.py b/rpcs/solana_rpc_client.py index af3fd2d..ecabf6a 100644 --- a/rpcs/solana_rpc_client.py +++ b/rpcs/solana_rpc_client.py @@ -1,5 +1,3 @@ -import json - import requests from config.constants import ( @@ -29,17 +27,30 @@ def get_all_signatures_for_address( end_signature: str, ) -> list: all_signatures = [] - lastSignature = end_signature # the endpoint works by fetching in reverse order + before = end_signature # start from the newest tx + stop_at = start_signature # oldest signature to stop at + seen = set() # remove duplicates caused by RPC instability while True: - fetchedTransactions = self.req_get_signatures_for_address( - [ - account_address, - {"before": lastSignature, "until": start_signature, "limit": 1000}, - ] - ) + params = [account_address, {"before": before, "limit": 1000}] + fetched = self.req_get_signatures_for_address(params) + + if not fetched: + # No more results from RPC + break + + for tx in fetched: + sig = tx["signature"] - all_signatures.extend(fetchedTransactions) + # Stop condition: reached or passed our lower bound + if sig == stop_at: + return all_signatures + + if sig in seen: + continue # deduplicate across unstable RPC responses + seen.add(sig) + + all_signatures.append(tx) log_to_cli( build_log_message_solana( @@ -51,13 +62,13 @@ def get_all_signatures_for_address( CliColor.INFO, ) - lastSignature = fetchedTransactions[-1]["signature"] - - if len(fetchedTransactions) != 1000: - break + # Pagination: + # Move "before" to the OLDEST signature returned in this batch + before = fetched[-1]["signature"] - with open("fetched_signatures.json", "a") as f: - f.write(json.dumps(all_signatures) + "\n") + # Safety stop: If the API starts returning the same pages repeatedly + if len(fetched) < 1000: + break # Reached end of available history log_to_cli( build_log_message_solana( @@ -65,7 +76,7 @@ def get_all_signatures_for_address( end_signature, self.bridge, ( - f"Retried all signatures for {account_address}..." + f"Retrieved all signatures for {account_address}..." f"({len(all_signatures)} signatures fetched)", ), ),