BFactorycontract. The caller is set as the
controlleror pool owner.
finalized. Pools start in a controlled state and the controller may choose to make the pool finalized by calling
finalize(). Finalize is a one-way transition. While in a controlled state, outside actors cannot add liquidity. A controlled state allows the controller to set the pool's tokens and weights.
joinswap*they receive BPTs proportional to the amount of assets they are adding to the pool.
transferFromfrom itself does not require a previous allowance.