Contract: Mint Canonical Token Transfer Refund

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

Implementation

originalTokenVault.withdraw(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
JavaScript
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.