Contract: Burn Canonical Token Transfer Refund

Get refund transaction info from cBridge gateway and submit the transaction on-chain. Then cBridge PeggedTokenBridge contract will mint corresponding assets to user's address on source chain

Implementation

Here is the abi for PeggedTokenBridge: https://github.com/celer-network/cBridge-typescript-client/tree/main/contract/abi/pegged/PeggedTokenBridge.sol

peggedTokenBridge.mint(wdmsg, sigs, signers, powers)

Request Parameters

All information is given by cBridge gateway in getTransferStatus response

Notice: Since the types of parameters are different between getTransferStatus response and withdraw request, please convert them accordingly. See details in the below code sample

import { base64, getAddress, hexlify } from "ethers/lib/utils";

const wdmsg = base64.decode(wd_onchain);

const signers = _signers.map(item => {
    const decodeSigners = base64.decode(item);
    const hexlifyObj = hexlify(decodeSigners);
    return getAddress(hexlifyObj);
});

const sigs = sorted_sigs.map(item => {
    return base64.decode(item);
});

const powers = _powers.map(item => {
    return base64.decode(item);
});

Response

Since this function is an on-chain transaction, the response is the corresponding transaction response.

Last updated