L2ERC721Bridge

Blast

0x4200000000000000000000000000000000000014

Proxy implementation: 0xc0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c2d30014

Solidity v0.8.15+commit.e14f2714

🤖
Query this contract from your AI
Reference: 0x4200000000000000000000000000000000000014
Sample prompt: "Tell me the current state of blast/0x4200000000000000000000000000000000000014"
No AI wired up yet? → mcp.smarts.md
Blast is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
5
Write Functions
4
Events
3

Read Functions

MESSENGER() view

Getter for messenger contract.

Returns

Name Type Description
address
OTHER_BRIDGE() view

Returns

Name Type Description
address
messenger() view

Returns

Name Type Description
address
otherBridge() view

Getter for other bridge address.

Returns

Name Type Description
address Address of the bridge on the other network.
version() view

Getter for the semantic version of the contract. This is not meant to be used onchain but instead meant to be used by offchain tooling.

Returns

Name Type Description
string Semver contract version as a string.

Write Functions

bridgeERC721(_localToken: address, _remoteToken: address, _tokenId: uint256, _minGasLimit: uint32, _extraData: bytes) nonpayable

Initiates a bridge of an NFT to the caller's account on the other chain. Note that this function can only be called by EOAs. Smart contract wallets should use the `bridgeERC721To` function after ensuring that the recipient address on the remote chain exists. Also note that the current owner of the token on this chain must approve this contract to operate the NFT before it can be bridged. *WARNING**: Do not bridge an ERC721 that was originally deployed on Optimism. This bridge only supports ERC721s originally deployed on Ethereum. Users will need to wait for the one-week challenge period to elapse before their Optimism-native NFT can be refunded on L2.

Parameters

Name Type Description
_localToken address Address of the ERC721 on this domain.
_remoteToken address Address of the ERC721 on the remote domain.
_tokenId uint256 Token ID to bridge.
_minGasLimit uint32 Minimum gas limit for the bridge message on the other domain.
_extraData bytes Optional data to forward to the other chain. Data supplied here will not be used to execute any code on the other chain and is only emitted as extra data for the convenience of off-chain tooling.
bridgeERC721To(_localToken: address, _remoteToken: address, _to: address, _tokenId: uint256, _minGasLimit: uint32, _extraData: bytes) nonpayable

Initiates a bridge of an NFT to some recipient's account on the other chain. Note that the current owner of the token on this chain must approve this contract to operate the NFT before it can be bridged. *WARNING**: Do not bridge an ERC721 that was originally deployed on Optimism. This bridge only supports ERC721s originally deployed on Ethereum. Users will need to wait for the one-week challenge period to elapse before their Optimism-native NFT can be refunded on L2.

Parameters

Name Type Description
_localToken address Address of the ERC721 on this domain.
_remoteToken address Address of the ERC721 on the remote domain.
_to address Address to receive the token on the other domain.
_tokenId uint256 Token ID to bridge.
_minGasLimit uint32 Minimum gas limit for the bridge message on the other domain.
_extraData bytes Optional data to forward to the other chain. Data supplied here will not be used to execute any code on the other chain and is only emitted as extra data for the convenience of off-chain tooling.
finalizeBridgeERC721(_localToken: address, _remoteToken: address, _from: address, _to: address, _tokenId: uint256, _extraData: bytes) nonpayable

Completes an ERC721 bridge from the other domain and sends the ERC721 token to the recipient on this domain.

Parameters

Name Type Description
_localToken address Address of the ERC721 token on this domain.
_remoteToken address Address of the ERC721 token on the other domain.
_from address Address that triggered the bridge on the other domain.
_to address Address to receive the token on this domain.
_tokenId uint256 ID of the token being deposited.
_extraData bytes Optional data to forward to L1. Data supplied here will not be used to execute any code on L1 and is only emitted as extra data for the convenience of off-chain tooling.
initialize() nonpayable

Initializes the contract.

Events

ERC721BridgeFinalized(localToken: address, remoteToken: address, from: address, to: address, tokenId: uint256, extraData: bytes)

Emitted when an ERC721 bridge from the other network is finalized.

Name Type Indexed Description
localToken address Address of the token on this domain.
remoteToken address Address of the token on the remote domain.
from address Address that initiated bridging action.
to address Address to receive the token.
tokenId uint256 ID of the specific token deposited.
extraData bytes Extra data for use on the client-side.
ERC721BridgeInitiated(localToken: address, remoteToken: address, from: address, to: address, tokenId: uint256, extraData: bytes)

Emitted when an ERC721 bridge to the other network is initiated.

Name Type Indexed Description
localToken address Address of the token on this domain.
remoteToken address Address of the token on the remote domain.
from address Address that initiated bridging action.
to address Address to receive the token.
tokenId uint256 ID of the specific token deposited.
extraData bytes Extra data for use on the client-side.
Initialized(version: uint8)
Name Type Indexed Description
version uint8