Helper Methods
Helper methods during cross-chain transfers
Listen for Cross-Chain Transfer Transaction
Once you have the deposit hash there are two ways of listening for cross-chain transfer transaction.
One via SDK where you pass the callback method onFundsTransfered(data) in Hyphen constructor and let SDK call this method whenever a cross-chain transfer happens corresponding to the deposit transaction done by the user via SDK.
Or you can call the SDK method checkDepositStatus({depositHash, fromChainId}) manually to check the status of cross-chain transfer for a given depositHash and fromChainId.
let hyphen = new Hyphen(provider, {
// other options here
onFundsTransfered: (data) => {
/**
* data will contain following fields:
* fromChainId => Chain id from where funds were transferred
* toChainId => Chain id to where funds are transferred
* amount => Amount of tokens transferred in smallest unit of token
* tokenAddress => Address of token that was trasnferred
* depositHash => Deposit transacion hash on fromChainId
* exitHash => Transfer transaction hash on toChainId
**/
}
});
Trigger Cross-Chain Transfer Manually
In case you don't get the transfer transaction hash on the destination chain within 5 minutes and you are not getting the success response from checkDepositStatus method also, you can manually trigger the cross-chain transfer by calling triggerManualTransfer method.
// Assuming you already have the deposit transaction hash on fromChain
let depsitHash = "0x.....";
let fromChainId = "137";
let transferStatus = await hyphen.transfer.triggerManualTransfer(depsitHash, fromChainId);
if(transferStatus && transferStatus.code === 200 && transferStatus.exitHash) {
// Successfuly got the transfer transaction hash on toChain
// transferStatus will contain following fields
/*
* "code": Status code. 200 for success else failure.
* "message": Human readable response message.
* "exitHash": transaction hash for trasnfer transaction on toChain
**/
}
Last updated
Was this helpful?