So now you want to move assets from Rio Chain back to user.
Create a withdraw request!
Now you need to create a withdraw request.
Wait for approval
Wait for an admin or collective governance to approve this request.
Regarding of the result there will be options. The admin/governance will either:
- approve_withdraw and after execution it will be marked as finished by submitting finish_withdraw that will aslo put transaction hash on a chain.
- reject_withdraw, which will reject the request and explain the reason.
In case of a failed transaction you may choose to use rebroadcast to persist the transaction hash.
If a rebroadcast occured due to the failed withdrawal transaction, it can use rebroadcast to emit an event to record the correct transaction hash on chain.
Long story short
// 1 - create withdraw request // 2 - wait for admin/governance mechanism to approve // 3 - rebroadcast if case of failed withdraw transaction to put right hash on a chain