Results 144 issues of Tom French

All weighted pools have a `getInvariant` function which they inherit from `BaseWeightedPool`: https://github.com/balancer-labs/balancer-v2-monorepo/blob/5d8222df482fbcd7b76f1a345c2dfa8c63e8bace/pkg/pool-weighted/contracts/BaseWeightedPool.sol#L83-L95 It looks like we don't have any such function for any of the stable pool flavours. The...

#677 allows the sum of the weights of all tokens in a Managed Pool to diverge from 1e18 as some weight will disappear when removing tokens and new weight will...

## Expected Behaviour The `token` property of a ZkAsset should accurately report information on the linked token, e.g. `name`, `symbol`, `decimals`. ## Current Behaviour All linked tokens are reported to...

This PR aims to implement streamed atomic swaps as defined in #29 ## Todo: - [ ] **Lock down underlying streams to ensure that cancellations are atomic.** Currently it's possible...

`_onSwapMinimal` is now the dispatch function for whether we're performing a "joinSwap", "exitSwap" or a "tokenSwap". As BPT doesn't have a scaling factor the responsibility for upscaling tokens appropriately has...

This allows us to modify how we register the pool (e.g. depending on whether the pool is composable or not) without BasePool having to know anything about this.

We ensure that the BPT is placed in the first position to ensure that it remains at a constant index.

We now enforce that the initial LP must be on the allowlist. I've added tests that the pool is properly initialised (including that it sets the AUM fee timestamp)

After some thinking about we're able to modify the `denormWeightSum` in the situation where we renormalize it on weight changes, we noticed that with a couple of extra bits we...

on hold

We might want to leave this until the end as it requires us to keep the setters and the constructor in sync. This saves 50 bytes however.