Overview

  • name: IBridgeExtension
  • path: agglayer/IBridgeExtension.sol
  • context: agglayer
  • tags: agglayer, bridge, polygon, extension
  • title: IBridgeExtension
  • notice: Interface for the Bridge Extension contract

Addresses

Function signatures

BRIDGE_SOVEREIGN_VERSION()
BRIDGE_VERSION()
INIT_BYTECODE_TRANSPARENT_PROXY()
WETHToken()
acceptEmergencyBridgePauserRole()
acceptEmergencyBridgeUnpauserRole()
acceptProxiedTokensManagerRole()
activateEmergencyState()
bridgeAsset(uint32,address,uint256,address,bool,bytes)
bridgeManager()
bridgeMessage(uint32,address,bool,bytes)
bridgeMessageWETH(uint32,address,uint256,bool,bytes)
calculateRoot(bytes32,bytes32[32],uint32)
claimAsset(bytes32[32],bytes32[32],uint256,bytes32,bytes32,uint32,address,uint32,address,uint256,bytes)
claimMessage(bytes32[32],bytes32[32],uint256,bytes32,bytes32,uint32,address,uint32,address,uint256,bytes)
claimedBitMap(uint256)
claimedGlobalIndexHashChain()
computeTokenProxyAddress(uint32,address)
deactivateEmergencyState()
deployWrappedTokenAndRemap(uint32,address,bool)
depositCount()
emergencyBridgePauser()
emergencyBridgeUnpauser()
gasTokenAddress()
gasTokenMetadata()
gasTokenNetwork()
getLeafValue(uint8,uint32,address,uint32,address,uint256,bytes32)
getProxiedTokensManager()
getRoot()
getTokenMetadata(address)
getTokenWrappedAddress(uint32,address)
getWrappedTokenBridgeImplementation()
globalExitRootManager()
initialize(uint32,address,uint32,address,address,bytes,address,address,bool,address,address,address)
initialize()
initialize(uint32,address,uint32,address,address,bytes)
isClaimed(uint32,uint32)
isEmergencyState()
lastUpdatedDepositCount()
localBalanceTree(bytes32)
migrateLegacyToken(address,uint256,bytes)
networkID()
pendingEmergencyBridgePauser()
pendingEmergencyBridgeUnpauser()
pendingProxiedTokensManager()
polygonRollupManager()
proxiedTokensManager()
removeLegacySovereignTokenAddress(address)
setBridgeManager(address)
setMultipleSovereignTokenAddress(uint32[],address[],address[],bool[])
setSovereignWETHAddress(address,bool)
tokenInfoToWrappedToken(bytes32)
transferEmergencyBridgePauserRole(address)
transferEmergencyBridgeUnpauserRole(address)
transferProxiedTokensManagerRole(address)
unsetGlobalIndexHashChain()
unsetMultipleClaims(uint256[])
updateGlobalExitRoot()
verifyMerkleProof(bytes32,bytes32[32],uint32,bytes32)
wrappedAddressIsNotMintable(address)
wrappedTokenBytecodeStorer()
wrappedTokenToTokenInfo(address)

ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "target",
        "type": "address"
      }
    ],
    "name": "AddressEmptyCode",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "AddressInsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "AlreadyClaimed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "AmountDoesNotMatchMsgValue",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "BridgeAddressNotAllowed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ClaimNotSet",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DestinationNetworkInvalid",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "EmergencyStateNotAllowed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "EtherTransferFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "FailedInnerCall",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "FailedProxyDeployment",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "GasTokenNetworkMustBeZeroOnEther",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "GlobalExitRootInvalid",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InputArraysLengthMismatch",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidGlobalIndex",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidInitializeFunction",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "proxyAdmin",
        "type": "address"
      }
    ],
    "name": "InvalidProxyAdmin",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSmtProof",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSovereignWETHAddressParams",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidZeroAddress",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidZeroNetworkID",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "proxyAdmin",
        "type": "address"
      }
    ],
    "name": "InvalidZeroProxyAdminOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "localBalanceTreeAmount",
        "type": "uint256"
      }
    ],
    "name": "LocalBalanceTreeOverflow",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "localBalanceTreeAmount",
        "type": "uint256"
      }
    ],
    "name": "LocalBalanceTreeUnderflow",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MerkleTreeFull",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MessageFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MsgValueNotZero",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NativeTokenIsEther",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoValueInMessagesOnGasTokenNetworks",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotValidAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotValidOwner",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotValidSignature",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotValidSpender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyBridgeManager",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyEmergencyBridgePauser",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyEmergencyBridgeUnpauser",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyEmergencyState",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyGlobalExitRootRemover",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyNotEmergencyState",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyPendingEmergencyBridgePauser",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyPendingEmergencyBridgeUnpauser",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyPendingProxiedTokensManager",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyProxiedTokensManager",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyRollupManager",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OriginNetworkInvalid",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "SafeERC20FailedOperation",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TokenAlreadyMapped",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TokenAlreadyUpdated",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TokenNotMapped",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TokenNotRemapped",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "WETHRemappingNotSupportedOnGasTokenNetworks",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldEmergencyBridgePauser",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newEmergencyBridgePauser",
        "type": "address"
      }
    ],
    "name": "AcceptEmergencyBridgePauserRole",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldEmergencyBridgeUnpauser",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newEmergencyBridgeUnpauser",
        "type": "address"
      }
    ],
    "name": "AcceptEmergencyBridgeUnpauserRole",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldProxiedTokensManager",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newProxiedTokensManager",
        "type": "address"
      }
    ],
    "name": "AcceptProxiedTokensManagerRole",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "leafType",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "originAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "metadata",
        "type": "bytes"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "depositCount",
        "type": "uint32"
      }
    ],
    "name": "BridgeEvent",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "globalIndex",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "originAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ClaimEvent",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [],
    "name": "EmergencyStateActivated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [],
    "name": "EmergencyStateDeactivated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "version",
        "type": "uint8"
      }
    ],
    "name": "Initialized",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "legacyTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "updatedTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "MigrateLegacyToken",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "wrappedTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "metadata",
        "type": "bytes"
      }
    ],
    "name": "NewWrappedToken",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "sovereignTokenAddress",
        "type": "address"
      }
    ],
    "name": "RemoveLegacySovereignTokenAddress",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "bridgeManager",
        "type": "address"
      }
    ],
    "name": "SetBridgeManager",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "sovereignTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isNotMintable",
        "type": "bool"
      }
    ],
    "name": "SetSovereignTokenAddress",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "sovereignWETHTokenAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isNotMintable",
        "type": "bool"
      }
    ],
    "name": "SetSovereignWETHAddress",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "currentEmergencyBridgePauser",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newEmergencyBridgePauser",
        "type": "address"
      }
    ],
    "name": "TransferEmergencyBridgePauserRole",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "currentEmergencyBridgeUnpauser",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newEmergencyBridgeUnpauser",
        "type": "address"
      }
    ],
    "name": "TransferEmergencyBridgeUnpauserRole",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "currentProxiedTokensManager",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newProxiedTokensManager",
        "type": "address"
      }
    ],
    "name": "TransferProxiedTokensManagerRole",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "claimedGlobalIndex",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "newClaimedGlobalIndexHashChain",
        "type": "bytes32"
      }
    ],
    "name": "UpdatedClaimedGlobalIndexHashChain",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "unsetGlobalIndex",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "newUnsetGlobalIndexHashChain",
        "type": "bytes32"
      }
    ],
    "name": "UpdatedUnsetGlobalIndexHashChain",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "BRIDGE_SOVEREIGN_VERSION",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "BRIDGE_VERSION",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "INIT_BYTECODE_TRANSPARENT_PROXY",
    "outputs": [
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "WETHToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "acceptEmergencyBridgePauserRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "acceptEmergencyBridgeUnpauserRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "acceptProxiedTokensManagerRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "activateEmergencyState",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "forceUpdateGlobalExitRoot",
        "type": "bool"
      },
      {
        "internalType": "bytes",
        "name": "permitData",
        "type": "bytes"
      }
    ],
    "name": "bridgeAsset",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "bridgeManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "forceUpdateGlobalExitRoot",
        "type": "bool"
      },
      {
        "internalType": "bytes",
        "name": "metadata",
        "type": "bytes"
      }
    ],
    "name": "bridgeMessage",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amountWETH",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "forceUpdateGlobalExitRoot",
        "type": "bool"
      },
      {
        "internalType": "bytes",
        "name": "metadata",
        "type": "bytes"
      }
    ],
    "name": "bridgeMessageWETH",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "leafHash",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32[32]",
        "name": "smtProof",
        "type": "bytes32[32]"
      },
      {
        "internalType": "uint32",
        "name": "index",
        "type": "uint32"
      }
    ],
    "name": "calculateRoot",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32[32]",
        "name": "smtProofLocalExitRoot",
        "type": "bytes32[32]"
      },
      {
        "internalType": "bytes32[32]",
        "name": "smtProofRollupExitRoot",
        "type": "bytes32[32]"
      },
      {
        "internalType": "uint256",
        "name": "globalIndex",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "mainnetExitRoot",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "rollupExitRoot",
        "type": "bytes32"
      },
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      },
      {
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "metadata",
        "type": "bytes"
      }
    ],
    "name": "claimAsset",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32[32]",
        "name": "smtProofLocalExitRoot",
        "type": "bytes32[32]"
      },
      {
        "internalType": "bytes32[32]",
        "name": "smtProofRollupExitRoot",
        "type": "bytes32[32]"
      },
      {
        "internalType": "uint256",
        "name": "globalIndex",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "mainnetExitRoot",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "rollupExitRoot",
        "type": "bytes32"
      },
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originAddress",
        "type": "address"
      },
      {
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "metadata",
        "type": "bytes"
      }
    ],
    "name": "claimMessage",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "claimedBitMap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimedGlobalIndexHashChain",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      }
    ],
    "name": "computeTokenProxyAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deactivateEmergencyState",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isNotMintable",
        "type": "bool"
      }
    ],
    "name": "deployWrappedTokenAndRemap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "depositCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "emergencyBridgePauser",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "emergencyBridgeUnpauser",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "gasTokenAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "gasTokenMetadata",
    "outputs": [
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "gasTokenNetwork",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "leafType",
        "type": "uint8"
      },
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originAddress",
        "type": "address"
      },
      {
        "internalType": "uint32",
        "name": "destinationNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "destinationAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "metadataHash",
        "type": "bytes32"
      }
    ],
    "name": "getLeafValue",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getProxiedTokensManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getRoot",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "getTokenMetadata",
    "outputs": [
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      }
    ],
    "name": "getTokenWrappedAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getWrappedTokenBridgeImplementation",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "globalExitRootManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "_networkID",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "_gasTokenAddress",
        "type": "address"
      },
      {
        "internalType": "uint32",
        "name": "_gasTokenNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "_globalExitRootManager",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_polygonRollupManager",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "_gasTokenMetadata",
        "type": "bytes"
      },
      {
        "internalType": "address",
        "name": "_bridgeManager",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_sovereignWETHAddress",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "_sovereignWETHAddressIsNotMintable",
        "type": "bool"
      },
      {
        "internalType": "address",
        "name": "_emergencyBridgePauser",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_emergencyBridgeUnpauser",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_proxiedTokensManager",
        "type": "address"
      }
    ],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "leafIndex",
        "type": "uint32"
      },
      {
        "internalType": "uint32",
        "name": "sourceBridgeNetwork",
        "type": "uint32"
      }
    ],
    "name": "isClaimed",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "isEmergencyState",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastUpdatedDepositCount",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "tokenInfoHash",
        "type": "bytes32"
      }
    ],
    "name": "localBalanceTree",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "legacyTokenAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "permitData",
        "type": "bytes"
      }
    ],
    "name": "migrateLegacyToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "networkID",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pendingEmergencyBridgePauser",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pendingEmergencyBridgeUnpauser",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pendingProxiedTokensManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "polygonRollupManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "proxiedTokensManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "legacySovereignTokenAddress",
        "type": "address"
      }
    ],
    "name": "removeLegacySovereignTokenAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_bridgeManager",
        "type": "address"
      }
    ],
    "name": "setBridgeManager",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32[]",
        "name": "originNetworks",
        "type": "uint32[]"
      },
      {
        "internalType": "address[]",
        "name": "originTokenAddresses",
        "type": "address[]"
      },
      {
        "internalType": "address[]",
        "name": "sovereignTokenAddresses",
        "type": "address[]"
      },
      {
        "internalType": "bool[]",
        "name": "isNotMintable",
        "type": "bool[]"
      }
    ],
    "name": "setMultipleSovereignTokenAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sovereignWETHTokenAddress",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isNotMintable",
        "type": "bool"
      }
    ],
    "name": "setSovereignWETHAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "name": "tokenInfoToWrappedToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newEmergencyBridgePauser",
        "type": "address"
      }
    ],
    "name": "transferEmergencyBridgePauserRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newEmergencyBridgeUnpauser",
        "type": "address"
      }
    ],
    "name": "transferEmergencyBridgeUnpauserRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newProxiedTokensManager",
        "type": "address"
      }
    ],
    "name": "transferProxiedTokensManagerRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "unsetGlobalIndexHashChain",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[]",
        "name": "globalIndexes",
        "type": "uint256[]"
      }
    ],
    "name": "unsetMultipleClaims",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "updateGlobalExitRoot",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "leafHash",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32[32]",
        "name": "smtProof",
        "type": "bytes32[32]"
      },
      {
        "internalType": "uint32",
        "name": "index",
        "type": "uint32"
      },
      {
        "internalType": "bytes32",
        "name": "root",
        "type": "bytes32"
      }
    ],
    "name": "verifyMerkleProof",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "wrappedAddress",
        "type": "address"
      }
    ],
    "name": "wrappedAddressIsNotMintable",
    "outputs": [
      {
        "internalType": "bool",
        "name": "isNotMintable",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "wrappedTokenBytecodeStorer",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "wrappedTokenToTokenInfo",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "originNetwork",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "originTokenAddress",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]