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
wdmsg
BytesLike
wd_onchain
sigs
Array<BytesLike>
sorted_sigs
signers
Array<String>
signers
powers
Array<BigNumber>
powers
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