def calcSingleOutGivenPoolIn(self, pool_address: str, token_out_address: str, pool_shares: float): pool = BPool(pool_address) return from_base_18( pool.calcSingleInGivenPoolOut( pool.getBalance(token_out_address), pool.getDenormalizedWeight(token_out_address), pool.totalSupply(), pool.getTotalDenormalizedWeight(), to_base_18(pool_shares), pool.getSwapFee()))
def calcSingleOutGivenPoolIn( self, pool_address: str, token_out_address: str, pool_shares: int ) -> int: pool = BPool(self.web3, pool_address) return pool.calcSingleInGivenPoolOut( pool.getBalance(token_out_address), pool.getDenormalizedWeight(token_out_address), pool.totalSupply(), pool.getTotalDenormalizedWeight(), pool_shares, pool.getSwapFee(), )