Completing the Withdrawal
Last updated
Last updated
This is the last step of the withdrawal process, after which, your funds will be returned to your wallet.
This can only be done once the cooldown time is completed
Withdrawing BNT requires an equal number of vBNT to the bnBNT you are withdrawing. For example, withdrawing 10 bnBNT requires 10 vBNT.
For any other token, skip to step 2
The BancorNetwork contract requires approval to perform the transaction with your vBNT tokens.
Visit the vBNT
contract on etherscan
Execute the Approve
function (this is a Write function)
_spender | The address of the |
_value | The amount you would like to approve (it can be identical or more than the amount of bnBNT you wish to withdraw, BUT NOT LESS) in |
This step will explain how to identify the cooldown ID needed to complete the withdrawal.
Visit the PendingWithdrawals
contract on etherscan
Execute the withdrawalRequestIds
function (this is a Read function)
Input variable
Name | Type | Description |
---|---|---|
provider | address | Your wallet address |
Output response
Name | Type | Description |
---|---|---|
cooldownId | uint256 | The ID of the existing cooldown requests you have (can be more than 1) |
Save the cooldownIds as these represent the inputs needed for the next steps.
This step will explain how to identify which cooldown ID to use.
If you only have a single ID, skip to the next step.
Visit the PendingWithdrawals
contract on etherscan
Execute the withdrawalRequest
function (this is a Read function)
Input variable
Name | Type | Description |
---|---|---|
id | uint256 | One of the IDs generated from the previous step |
Output response
Name | Type | Description |
---|---|---|
provider | address | The address that can interact with this cooldown request |
poolToken | IPoolToken | The locked bnToken |
reserveToken | Token | The underlying token |
createdAt | uint32 | The time when the request was created |
poolTokenAmount | uint256 | The locked bnToken amount |
reserveTokenAmount | uint256 | The expected amount of underlying asset to receive |
Using the returned values,
Identify the reserveToken
you would like to withdraw
Save the id
for the next step
This step will explain how to check if your cooldown is over and you can safely withdraw your tokens.
Visit the BancorNetworkInfo
contract on etherscan
Execute the isReadyForWithdrawal
function (this is a Read function)
Input variable
Name | Type | Description |
---|---|---|
id | uint256 | The cooldown ID you wish to finalize |
Output response
Name | Type | Description |
---|---|---|
isReady | bool | True/False indication on the status of the cooldown. (when True, proceed to next step) |
This step will explain how to complete the withdrawal process and call the withdraw
function.
Visit the BancorNetwork
contract on etherscan
Execute the withdraw
function (this is a Write function)
Input variable
Name | Type | Description |
---|---|---|
id | uint256 | The cooldown ID you wish to withdraw |
Output
This will complete the withdrawal process and return the underlying tokens to your wallet.