Contracts
Deployed contracts​
- Mainnet
- Linea Sepolia
| Contract | Address |
|---|---|
LineaRollup: Linea Rollup and L1 Message Service | 0xd19d4B5d358258f05D7B411E21A1460D11B0876F |
| L2 Message Service | 0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec |
| L1 Token bridge | 0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319 |
| L2 Token bridge | 0x353012dc4a9A6cF55c941bADC267f82004A8ceB9 |
| L1 Security Council safe | 0x892bb7EeD71efB060ab90140e7825d8127991DD3 |
| L2 Security Council safe | 0xf5cc7604a5ef3565b4D2050D65729A06B68AA0bD |
| Contract | Address |
|---|---|
| L1 Message Service | 0xB218f8A4Bc926cF1cA7b3423c154a0D627Bdb7E5 |
| L2 Message Service | 0x971e727e956690b9957be6d51Ec16E73AcAC83A7 |
| L1 Token bridge | 0x5A0a48389BB0f12E5e017116c1105da97E129142 |
| L2 Token bridge | 0x93DcAdf238932e6e6a85852caC89cBd71798F463 |
Token contract addresses and bridges​
LINEA token​
The LINEA token address is 0x1789e0043623282D5DCc7F213d703C6D8BAfBB04.
The address is the same on Linea Mainnet and Ethereum Mainnet.
Other tokens​
- Mainnet
- Linea Sepolia
To see the most up-to-date list of tokens on Linea, see the token explorer here, which is derived from the official lists in this repo.
To get your own token included, register your token in the Linea Developer Hub "Configure" tab.
To see which third-party bridges are available, consult our Ecosystem Portal's list.
If you're looking to bridge tokens to or from Linea, head to the Linea bridge page to access the various options.
Sepolia token contract addresses are available in the official token list repository.
To find out which bridges are currently operating on Linea, head to the ecosystem portal and click on the Bridge button to show all that are available.
Token Bridge contracts​
- Mainnet
- Linea Sepolia
-
Ethereum Mainnet
TokenBridge.abi
[{"inputs": [],"stateMutability": "nonpayable","type": "constructor"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBridgedToken","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBrigedToNativeTokenSet","type": "error"},{"inputs": [],"name": "CallerIsNotMessageService","type": "error"},{"inputs": [{"internalType": "bytes4","name": "permitData","type": "bytes4"},{"internalType": "bytes4","name": "permitSelector","type": "bytes4"}],"name": "InvalidPermitData","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "NotReserved","type": "error"},{"inputs": [{"internalType": "address","name": "spender","type": "address"}],"name": "PermitNotAllowingBridge","type": "error"},{"inputs": [{"internalType": "address","name": "owner","type": "address"}],"name": "PermitNotFromSender","type": "error"},{"inputs": [{"internalType": "address","name": "remoteTokenBridge","type": "address"}],"name": "RemoteTokenBridgeAlreadySet","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "ReservedToken","type": "error"},{"inputs": [],"name": "SenderNotAuthorized","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "StatusAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNativeOnOtherLayer","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNotDeployed","type": "error"},{"inputs": [],"name": "ZeroAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "uint256","name": "amount","type": "uint256"}],"name": "ZeroAmountNotAllowed","type": "error"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"}],"name": "BridgingFinalized","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "sender","type": "address"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"},{"indexed": true,"internalType": "address","name": "token","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"}],"name": "BridgingInitiated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "customContract","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "CustomContractSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address[]","name": "tokens","type": "address[]"},{"indexed": true,"internalType": "address","name": "confirmedBy","type": "address"}],"name": "DeploymentConfirmed","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": "newMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "oldMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "MessageServiceUpdated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "NewToken","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"}],"name": "NewTokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "previousOwner","type": "address"},{"indexed": true,"internalType": "address","name": "newOwner","type": "address"}],"name": "OwnershipTransferStarted","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": "address","name": "account","type": "address"}],"name": "Paused","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "remoteTokenBridge","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "RemoteTokenBridgeSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenReserved","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address","name": "account","type": "address"}],"name": "Unpaused","type": "event"},{"inputs": [],"name": "acceptOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"}],"name": "bridgeToken","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "bytes","name": "_permitData","type": "bytes"}],"name": "bridgeTokenWithPermit","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "","type": "address"}],"name": "bridgedToNativeToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "uint256","name": "_chainId","type": "uint256"},{"internalType": "bytes","name": "_tokenMetadata","type": "bytes"}],"name": "completeBridging","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_tokens","type": "address[]"}],"name": "confirmDeployment","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_securityCouncil","type": "address"},{"internalType": "address","name": "_messageService","type": "address"},{"internalType": "address","name": "_tokenBeacon","type": "address"},{"internalType": "uint256","name": "_sourceChainId","type": "uint256"},{"internalType": "uint256","name": "_targetChainId","type": "uint256"},{"internalType": "address[]","name": "_reservedTokens","type": "address[]"}],"name": "initialize","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "messageService","outputs": [{"internalType": "contract IMessageService","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "uint256","name": "","type": "uint256"},{"internalType": "address","name": "","type": "address"}],"name": "nativeToBridgedToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "owner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pause","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "paused","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pendingOwner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "remoteSender","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "removeReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "renounceOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "address","name": "_targetContract","type": "address"}],"name": "setCustomContract","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_nativeTokens","type": "address[]"}],"name": "setDeployed","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_messageService","type": "address"}],"name": "setMessageService","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_remoteTokenBridge","type": "address"}],"name": "setRemoteTokenBridge","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "setReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "sourceChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "targetChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "tokenBeacon","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "newOwner","type": "address"}],"name": "transferOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "unpause","outputs": [],"stateMutability": "nonpayable","type": "function"}]- Contracts:
-
Linea Mainnet
TokenBridge.abi
[{"inputs": [],"stateMutability": "nonpayable","type": "constructor"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBridgedToken","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBrigedToNativeTokenSet","type": "error"},{"inputs": [],"name": "CallerIsNotMessageService","type": "error"},{"inputs": [{"internalType": "bytes4","name": "permitData","type": "bytes4"},{"internalType": "bytes4","name": "permitSelector","type": "bytes4"}],"name": "InvalidPermitData","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "NotReserved","type": "error"},{"inputs": [{"internalType": "address","name": "spender","type": "address"}],"name": "PermitNotAllowingBridge","type": "error"},{"inputs": [{"internalType": "address","name": "owner","type": "address"}],"name": "PermitNotFromSender","type": "error"},{"inputs": [{"internalType": "address","name": "remoteTokenBridge","type": "address"}],"name": "RemoteTokenBridgeAlreadySet","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "ReservedToken","type": "error"},{"inputs": [],"name": "SenderNotAuthorized","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "StatusAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNativeOnOtherLayer","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNotDeployed","type": "error"},{"inputs": [],"name": "ZeroAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "uint256","name": "amount","type": "uint256"}],"name": "ZeroAmountNotAllowed","type": "error"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"}],"name": "BridgingFinalized","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "sender","type": "address"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"},{"indexed": true,"internalType": "address","name": "token","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"}],"name": "BridgingInitiated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "customContract","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "CustomContractSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address[]","name": "tokens","type": "address[]"},{"indexed": true,"internalType": "address","name": "confirmedBy","type": "address"}],"name": "DeploymentConfirmed","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": "newMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "oldMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "MessageServiceUpdated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "NewToken","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"}],"name": "NewTokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "previousOwner","type": "address"},{"indexed": true,"internalType": "address","name": "newOwner","type": "address"}],"name": "OwnershipTransferStarted","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": "address","name": "account","type": "address"}],"name": "Paused","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "remoteTokenBridge","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "RemoteTokenBridgeSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenReserved","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address","name": "account","type": "address"}],"name": "Unpaused","type": "event"},{"inputs": [],"name": "acceptOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"}],"name": "bridgeToken","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "bytes","name": "_permitData","type": "bytes"}],"name": "bridgeTokenWithPermit","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "","type": "address"}],"name": "bridgedToNativeToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "uint256","name": "_chainId","type": "uint256"},{"internalType": "bytes","name": "_tokenMetadata","type": "bytes"}],"name": "completeBridging","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_tokens","type": "address[]"}],"name": "confirmDeployment","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_securityCouncil","type": "address"},{"internalType": "address","name": "_messageService","type": "address"},{"internalType": "address","name": "_tokenBeacon","type": "address"},{"internalType": "uint256","name": "_sourceChainId","type": "uint256"},{"internalType": "uint256","name": "_targetChainId","type": "uint256"},{"internalType": "address[]","name": "_reservedTokens","type": "address[]"}],"name": "initialize","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "messageService","outputs": [{"internalType": "contract IMessageService","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "uint256","name": "","type": "uint256"},{"internalType": "address","name": "","type": "address"}],"name": "nativeToBridgedToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "owner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pause","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "paused","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pendingOwner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "remoteSender","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "removeReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "renounceOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "address","name": "_targetContract","type": "address"}],"name": "setCustomContract","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_nativeTokens","type": "address[]"}],"name": "setDeployed","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_messageService","type": "address"}],"name": "setMessageService","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_remoteTokenBridge","type": "address"}],"name": "setRemoteTokenBridge","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "setReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "sourceChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "targetChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "tokenBeacon","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "newOwner","type": "address"}],"name": "transferOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "unpause","outputs": [],"stateMutability": "nonpayable","type": "function"}]- Contracts:
-
Ethereum Sepolia
TokenBridge.abi
[{"inputs": [],"stateMutability": "nonpayable","type": "constructor"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBridgedToken","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBrigedToNativeTokenSet","type": "error"},{"inputs": [],"name": "CallerIsNotMessageService","type": "error"},{"inputs": [{"internalType": "bytes4","name": "permitData","type": "bytes4"},{"internalType": "bytes4","name": "permitSelector","type": "bytes4"}],"name": "InvalidPermitData","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "NotReserved","type": "error"},{"inputs": [{"internalType": "address","name": "spender","type": "address"}],"name": "PermitNotAllowingBridge","type": "error"},{"inputs": [{"internalType": "address","name": "owner","type": "address"}],"name": "PermitNotFromSender","type": "error"},{"inputs": [{"internalType": "address","name": "remoteTokenBridge","type": "address"}],"name": "RemoteTokenBridgeAlreadySet","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "ReservedToken","type": "error"},{"inputs": [],"name": "SenderNotAuthorized","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "StatusAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNativeOnOtherLayer","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNotDeployed","type": "error"},{"inputs": [],"name": "ZeroAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "uint256","name": "amount","type": "uint256"}],"name": "ZeroAmountNotAllowed","type": "error"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"}],"name": "BridgingFinalized","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "sender","type": "address"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"},{"indexed": true,"internalType": "address","name": "token","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"}],"name": "BridgingInitiated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "customContract","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "CustomContractSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address[]","name": "tokens","type": "address[]"},{"indexed": true,"internalType": "address","name": "confirmedBy","type": "address"}],"name": "DeploymentConfirmed","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": "newMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "oldMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "MessageServiceUpdated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "NewToken","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"}],"name": "NewTokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "previousOwner","type": "address"},{"indexed": true,"internalType": "address","name": "newOwner","type": "address"}],"name": "OwnershipTransferStarted","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": "address","name": "account","type": "address"}],"name": "Paused","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "remoteTokenBridge","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "RemoteTokenBridgeSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenReserved","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address","name": "account","type": "address"}],"name": "Unpaused","type": "event"},{"inputs": [],"name": "acceptOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"}],"name": "bridgeToken","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "bytes","name": "_permitData","type": "bytes"}],"name": "bridgeTokenWithPermit","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "","type": "address"}],"name": "bridgedToNativeToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "uint256","name": "_chainId","type": "uint256"},{"internalType": "bytes","name": "_tokenMetadata","type": "bytes"}],"name": "completeBridging","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_tokens","type": "address[]"}],"name": "confirmDeployment","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_securityCouncil","type": "address"},{"internalType": "address","name": "_messageService","type": "address"},{"internalType": "address","name": "_tokenBeacon","type": "address"},{"internalType": "uint256","name": "_sourceChainId","type": "uint256"},{"internalType": "uint256","name": "_targetChainId","type": "uint256"},{"internalType": "address[]","name": "_reservedTokens","type": "address[]"}],"name": "initialize","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "messageService","outputs": [{"internalType": "contract IMessageService","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "uint256","name": "","type": "uint256"},{"internalType": "address","name": "","type": "address"}],"name": "nativeToBridgedToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "owner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pause","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "paused","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pendingOwner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "remoteSender","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "removeReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "renounceOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "address","name": "_targetContract","type": "address"}],"name": "setCustomContract","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_nativeTokens","type": "address[]"}],"name": "setDeployed","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_messageService","type": "address"}],"name": "setMessageService","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_remoteTokenBridge","type": "address"}],"name": "setRemoteTokenBridge","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "setReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "sourceChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "targetChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "tokenBeacon","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "newOwner","type": "address"}],"name": "transferOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "unpause","outputs": [],"stateMutability": "nonpayable","type": "function"}]- Contracts:
-
Linea Sepolia
TokenBridge.abi
[{"inputs": [],"stateMutability": "nonpayable","type": "constructor"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBridgedToken","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "AlreadyBrigedToNativeTokenSet","type": "error"},{"inputs": [],"name": "CallerIsNotMessageService","type": "error"},{"inputs": [{"internalType": "bytes4","name": "permitData","type": "bytes4"},{"internalType": "bytes4","name": "permitSelector","type": "bytes4"}],"name": "InvalidPermitData","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "NotReserved","type": "error"},{"inputs": [{"internalType": "address","name": "spender","type": "address"}],"name": "PermitNotAllowingBridge","type": "error"},{"inputs": [{"internalType": "address","name": "owner","type": "address"}],"name": "PermitNotFromSender","type": "error"},{"inputs": [{"internalType": "address","name": "remoteTokenBridge","type": "address"}],"name": "RemoteTokenBridgeAlreadySet","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "ReservedToken","type": "error"},{"inputs": [],"name": "SenderNotAuthorized","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "StatusAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNativeOnOtherLayer","type": "error"},{"inputs": [{"internalType": "address","name": "token","type": "address"}],"name": "TokenNotDeployed","type": "error"},{"inputs": [],"name": "ZeroAddressNotAllowed","type": "error"},{"inputs": [{"internalType": "uint256","name": "amount","type": "uint256"}],"name": "ZeroAmountNotAllowed","type": "error"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"}],"name": "BridgingFinalized","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "sender","type": "address"},{"indexed": false,"internalType": "address","name": "recipient","type": "address"},{"indexed": true,"internalType": "address","name": "token","type": "address"},{"indexed": true,"internalType": "uint256","name": "amount","type": "uint256"}],"name": "BridgingInitiated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"},{"indexed": true,"internalType": "address","name": "customContract","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "CustomContractSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address[]","name": "tokens","type": "address[]"},{"indexed": true,"internalType": "address","name": "confirmedBy","type": "address"}],"name": "DeploymentConfirmed","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": "newMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "oldMessageService","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "MessageServiceUpdated","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "NewToken","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "bridgedToken","type": "address"},{"indexed": true,"internalType": "address","name": "nativeToken","type": "address"}],"name": "NewTokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "previousOwner","type": "address"},{"indexed": true,"internalType": "address","name": "newOwner","type": "address"}],"name": "OwnershipTransferStarted","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": "address","name": "account","type": "address"}],"name": "Paused","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "remoteTokenBridge","type": "address"},{"indexed": true,"internalType": "address","name": "setBy","type": "address"}],"name": "RemoteTokenBridgeSet","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenDeployed","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "token","type": "address"}],"name": "TokenReserved","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "address","name": "account","type": "address"}],"name": "Unpaused","type": "event"},{"inputs": [],"name": "acceptOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"}],"name": "bridgeToken","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "bytes","name": "_permitData","type": "bytes"}],"name": "bridgeTokenWithPermit","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "","type": "address"}],"name": "bridgedToNativeToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "uint256","name": "_amount","type": "uint256"},{"internalType": "address","name": "_recipient","type": "address"},{"internalType": "uint256","name": "_chainId","type": "uint256"},{"internalType": "bytes","name": "_tokenMetadata","type": "bytes"}],"name": "completeBridging","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_tokens","type": "address[]"}],"name": "confirmDeployment","outputs": [],"stateMutability": "payable","type": "function"},{"inputs": [{"internalType": "address","name": "_securityCouncil","type": "address"},{"internalType": "address","name": "_messageService","type": "address"},{"internalType": "address","name": "_tokenBeacon","type": "address"},{"internalType": "uint256","name": "_sourceChainId","type": "uint256"},{"internalType": "uint256","name": "_targetChainId","type": "uint256"},{"internalType": "address[]","name": "_reservedTokens","type": "address[]"}],"name": "initialize","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "messageService","outputs": [{"internalType": "contract IMessageService","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "uint256","name": "","type": "uint256"},{"internalType": "address","name": "","type": "address"}],"name": "nativeToBridgedToken","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "owner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pause","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "paused","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "pendingOwner","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "remoteSender","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "removeReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "renounceOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_nativeToken","type": "address"},{"internalType": "address","name": "_targetContract","type": "address"}],"name": "setCustomContract","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address[]","name": "_nativeTokens","type": "address[]"}],"name": "setDeployed","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_messageService","type": "address"}],"name": "setMessageService","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_remoteTokenBridge","type": "address"}],"name": "setRemoteTokenBridge","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "_token","type": "address"}],"name": "setReserved","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "sourceChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "targetChainId","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "tokenBeacon","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "newOwner","type": "address"}],"name": "transferOwnership","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "unpause","outputs": [],"stateMutability": "nonpayable","type": "function"}]- Contracts:
Important contracts​
For both mainnet and testnet:
| Contracts |
|---|
| IBridge.sol |
| IL1Bridge.sol |
| IMessageService.sol |
| MessageServiceBase.sol |
| ITokenBridge.sol |
Audits​
You can view a complete list of Linea audits in the Linea monorepo.