A user request a on-chain transfer through cBridge contract on source chain. Then cBridge gateway and Celer SGN will coordinate token transfer from cBridge contract to user's address on destination Chain
Once there is a transfer failure which requests refund, the user needs to submit withdraw request through cBridge gateway and corresponding on-chain transaction to cBridge on source chain. Then cBridge contract will return user's assets on source chain