removeToken
!removeToken
on DAI. You could only exitPool with whatever pool tokens you had - and the remaining DAI balance would represent the amount of liquidity added by the other LPs.removeToken
on either. For instance, if a purchaser sold a large amount of your project token back into the pool, or someone added a large amount of liquidity. If you need to call removeToken
to reuse the pool, remember you can always "buy out" the other LPs. If you're 250 pool tokens short of what you need to remove the project token, you can join with 250 pool tokens' worth of DAI, after which removeToken
will succeed. All the other LPs wishing to withdraw their liquidity would get their proceeds entirely in DAI.pokeWeights
. A common mechanism is for the pool operator to set up something like a cron job to call it automatically, though it is a public function that anyone can call.pokeWeights
changes weights, but not balances - therefore, it can change the price (albeit only along the trajectory set by the last call the updateWeightsGradually).updateWeight
changes weights directly - but not the price. This means it must also adjust the balances at the same time (i.e., transfer tokens). So the controller can set weights arbitrarily -- but not while an updateWeightsGradually
is running. And they must have the tokens available to do it.