Equipment Bridge (LayerZero)

The LayerZero Equipment Bridge processes the cross-chain bridging of Pet and Equipment NFTs. It is available between DFK Chain and Metis, and between Kaia and Metis only.

The Equipment 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 destination Chain IDs for the Equipment 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. Fees can be estimated by calling estimateEquipment.

Equipment Contract Mapping

Use the following mappings for the _equipmentType input on the sendEquipment function:

  • Weapon: 1

  • Accessory/Offhand: 2

  • Armor: 3

  • Pet: 4

Contract Addresses

Name
Mainnet
Testnet

DFK Chain

0x3f6cc9B0E342386618cDc5785Fd4DF82CfB32CCF

0x9B1CaACC71672D4843B06cde9AA47B50d7691E0c

Kaia

0xfb065ef4257719A99Ce7f1d03A6C22bd28983b77

0x5982f5FA37a2d9Da8DB8a76Cb89FA655A17bEcf0

Metis

0xBeA7c8BDBc5ab4D5752C597A8DA896C0BD94F6bf

0x30e643B8ce2d3B055086bA1AD05dA62d81b79BD5

Interfaces

interface IEquipmentBridgeLZ {

    event EquipmentArrived(uint256 indexed equipmentId, uint16 indexed equipmentType, uint256 arrivalChainId);
    event EquipmentSent(uint256 indexed equipmentId, uint16 indexed equipmentType, uint256 arrivalChainId);
    event LZMessageSent(tuple(bytes32 guid, uint64 nonce, tuple(uint256 nativeFee, uint256 lzTokenFee) fee) receipt);
    event PetArrived(uint256 indexed petId, uint256 arrivalChainId);
    event PetSent(uint256 indexed petId, uint256 arrivalChainId);

    function bridgeEquipment(uint32 _dstChainId, address _receiver, uint256 _equipmentId, uint16 _equipmentType) payable;
    function estimateEquipment(uint32 _dstChainId, address _receiver, uint256 _equipmentId, uint16 _equipmentType) view returns (tuple(uint256 nativeFee, uint256 lzTokenFee) fee);

}

ABIs

Last updated