Item Bridge V2

The LayerZeroV2 Item Bridge processes the cross-chain bridging of ERC-20 and ERC-1155 tokens. It is available between DFK Chain, Kaia, and Metis.

The Item Bridge is built in partnership with Layer Zero using their V2 Messaging protocol. For more information, visit their documentation at: https://layerzero.gitbook.io/docs/.

Use Layer Zero Scan (https://layerzeroscan.com/) to track the progress of bridged items.

Chain ID

Use the following mainnet destination Chain IDs for the Item Bridge:

  • DFK Chain: 53935

  • Kaia: 8217

  • Metis: 1088

Fees

Bridging has a fee associated with each transaction. This fee must be included in the value field of the transaction. The fees for bridging Items are as follows:

  • ERC-20: Use estimateFeeSendERC20 or multiEstimateFeeSendERC20

  • ERC-1155: Use estimateFeeSendERC1155

Contract Addresses

Name
Mainnet
Testnet

DFK Chain

0x409E6CDE3119584074E162dcCC6C86433251C36f

0x46B76162C36D97a8347C21fd85fd662e87F6ea28

Kaia

0x1679b50950aFF40983716b91862BB49eeE9718b9

0xc209aDB7d839921060CF425bA7F72524A356EcFd

Metis

0x3E5b5826A8670DB5157c257d5e001F9C73141514

0x82995f66e9c6eC23069eE040Dc86dfcc1A2fa5fD

Interfaces

interface IItemBridgeLZ {

    event ERC1155Received(uint32 _srcChainId, address _srcAddress, address receiver, address item, uint256 amount, uint256 id);
    event ERC1155Sent(uint32 _dstChainId, address sender, address item, uint256 amount, uint256 id);
    event ItemReceived(uint32 _srcChainId, address _srcAddress, address receiver, address item, uint256 amount);
    event ItemSent(uint32 _dstChainId, address sender, address item, uint256 amount);

    function estimateFeeSendERC1155(uint16 _dstChainId, address _receiver, address _item, uint256 _amount, uint256 _id) view returns (tuple(uint256 nativeFee, uint256 lzTokenFee) fee);
    function estimateFeeSendERC20(uint16 _dstChainId, address _receiver, address _item, uint256 _amount) view returns (tuple(uint256 nativeFee, uint256 lzTokenFee) fee);
    function multiEstimateFeeSendERC20(uint16 _dstChainId, address _receiver, address[] _items, uint256[] _amounts) view returns (tuple(uint256 nativeFee, uint256 lzTokenFee) fee);
    function multiSendERC1155(uint16 _dstChainId, address _receiver, address[] _items, uint256[] _amounts, uint256[] _ids) payable;
    function multiSendERC20(uint16 _dstChainId, address _receiver, address[] _items, uint256[] _amounts) payable;
    function sendERC1155(uint16 _dstChainId, address _receiver, address _item, uint256 _amount, uint256 _id) payable;
    function sendERC20(uint16 _dstChainId, address _receiver, address _item, uint256 _amount) payable;

    
}

ABIs

Last updated