pokeWeights
could fail in some edge cases where the total would temporarily be exceeded. Unless you need the maximum 98%/2% (49/1 denorm) weights, it's best to use weights that sum to a lower total number (e.g., 38/2), and put the project token first in the list when you create the pool, so that the weight decrease would be processed first. (We may be updating the GUI to avoid this issue by lowering the "resolution" in these cases - the max for a pool with canChangeWeights enabled would then be 96%/4%.)pokeWeights
function themselves to tell the contract to update weights to the proper values at the current block.)updateWeightsGradually
function to put the contract into a state where it will respond to the pokeWeights
call by setting all the weights according to the point on the "weight curve" corresponding to the current block. pokeWeights
can be called by you, or anyone, to update the weights according to your LBP’s configuration.updateWeight
(as long as a gradual update is not running) to set weights arbitrarily - but this will not affect the price. It will transfer tokens as required such that the new balances and weights maintain current prices.setController
to the account running the script (e.g., to set the swap fee dynamically based on an off-chain algorithm). To transfer it back, just call setController
again from that script, setting it to your DSProxy address.