---
tags: Legacy
---
# Forced Take-out Example Scenario
## Start
<b>State:</b>
Delegator 1: 10 Pool Tokens, 0 Data
Delegator 2: 10 Pool Tokens, 0 Data
Broker Pool: 20 Pool Value, 0 Free Funds, 20 Staked on Streams
Withdraw Queue: Empty
t: 0
<b>Parameters</b>
grace_period: 7 Days
## Delegator 1 Puts All Tokens in Withdraw Queue at t = 0
<b>State:</b>
Delegator 1: 10 Pool Tokens, 0 Data
Delegator 2: 10 Pool Tokens, 0 Data
Broker Pool: 20 Pool Value, 0 Free Funds, 20 Staked on Streams
Withdraw Queue: [(Address = Delegator 1 Address, Tokens =10 Pool Tokens, t=0)]
t: 0
## Delegator 2 Puts 5 Tokens in Withdraw Queue at t=2
<b>State:</b>
Delegator 1: 10 Pool Tokens, 0 Data
Delegator 2: 10 Pool Tokens, 0 Data
Broker Pool: 20 Pool Value, 0 Free Funds, 20 Staked on Streams
Withdraw Queue: [(Address = Delegator 1 Address, Tokens =10 Pool Tokens, t=0), (Address = Delegator 2 Address, Tokens =5 Pool Tokens, t=2)]
t: 2
## Delegator 1 Calls Force Withdraw at t = 3
The top of the withdraw queue is checked and it has t=0. Since 3 - 0 < grace_period = 7, nothing happens and it terminates.
<b>State:</b>
Delegator 1: 10 Pool Tokens, 0 Data
Delegator 2: 10 Pool Tokens, 0 Data
Broker Pool: 20 Pool Value, 0 Free Funds, 20 Staked on Streams
Withdraw Queue: [(Address = Delegator 1 Address, Tokens =10 Pool Tokens, t=0), (Address = Delegator 2 Address, Tokens =5 Pool Tokens, t=2)]
t: 3
## Broker Unstakes 5 DATA at t = 5
The broker unstakes 5 DATA which immediately goes to paying off 5 of the tokens (1 to 1 exchange rate here). The values are changed for delegator 1, broker pool, and the first withdraw queue item
<b>State:</b>
Delegator 1: 5 Pool Tokens, 5 Data
Delegator 2: 10 Pool Tokens, 0 Data
Broker Pool: 15 Pool Value, 0 Free Funds, 15 Staked on Streams
Withdraw Queue: [(Address = Delegator 1 Address, Tokens =5 Pool Tokens, t=0), (Address = Delegator 2 Address, Tokens =5 Pool Tokens, t=2)]
t: 5
## Delegator 2 Adds 5 More Tokens at t = 6
A new item is added to the withdraw queue
<b>State:</b>
Delegator 1: 5 Pool Tokens, 0 Data
Delegator 2: 10 Pool Tokens, 0 Data
Broker Pool: 15 Pool Value, 0 Free Funds, 15 Staked on Streams
Withdraw Queue: [(Address = Delegator 1 Address, Tokens =5 Pool Tokens, t=0), (Address = Delegator 2 Address, Tokens =5 Pool Tokens, t=2), (Address = Delegator 2 Address, Tokens =5 Pool Tokens, t=6)]
t: 6
## Delegator 2 Calls Force Withdraw at t = 10
The first item of the queue is checked and has a time greater than 7 days so it is force withdrawn. The second item is checked and likewise the same happens. Then the third item is checked but it does not have a time greater than 7 days so it is left. The stake is taken from the streams and paid out to the delegators who are owed.
<b>State:</b>
Delegator 1: 0 Pool Tokens, 10 Data
Delegator 2: 5 Pool Tokens, 5 Data
Broker Pool: 5 Pool Value, 0 Free Funds, 5 Staked on Streams
Withdraw Queue: [(Address = Delegator 2 Address, Tokens =5 Pool Tokens, t=6)]
t: 10