def unstakeOCEAN(self, BPT_unstake: float, pool: bpool.BPool): pool.exitswapPoolAmountIn( tokenOut_address=globaltokens.OCEAN_address(), poolAmountIn_base=toBase18(BPT_unstake), minAmountOut_base=toBase18(0.0), from_wallet=self._web3wallet) self.resetCachedInfo()
def stakeOCEAN(self, OCEAN_stake: float, pool: bpool.BPool): OCEAN = globaltokens.OCEANtoken() OCEAN.approve(pool.address, toBase18(OCEAN_stake), from_wallet=self._web3wallet) pool.joinswapExternAmountIn( tokenIn_address=globaltokens.OCEAN_address(), tokenAmountIn_base=toBase18(OCEAN_stake), minPoolAmountOut_base=toBase18(0.0), from_wallet=self._web3wallet) self.resetCachedInfo()
def create_pool(self, datatoken: Datatoken, _DT_STAKE: float, _OCEAN_STAKE: float, POOL_WEIGHT_DT: float, POOL_WEIGHT_OCEAN: float): OCEAN = OCEANtoken() dt_stake: int = web3util.toBase18(_DT_STAKE) ocean_stake: int = web3util.toBase18(_OCEAN_STAKE) pool_weight_dt: int = web3util.toBase18(POOL_WEIGHT_DT) pool_weight_ocean: int = web3util.toBase18(POOL_WEIGHT_OCEAN) pool_address = BFactory().newBPool(from_wallet=self.web3wallet) pool = BPool(pool_address) datatoken.approve(pool.address, web3util.toBase18(dt_stake), from_wallet=self.web3wallet) OCEAN.approve(pool.address, web3util.toBase18(_OCEAN_STAKE), from_wallet=self.web3wallet) pool.bind( token_address=datatoken.address, balance_base=dt_stake, weight_base=pool_weight_dt, from_wallet=self.web3wallet) pool.bind( token_address=OCEAN.address, balance_base=ocean_stake, weight_base=pool_weight_ocean, from_wallet=self.web3wallet) pool.finalize(from_wallet=self.web3wallet) return pool
def test_conftest(alice_pool:bpool.BPool, alice_DT:datatoken.Datatoken): #are alice_pool's datatokens the same as alice_DT? OCEAN_address = globaltokens.OCEAN_address() alice_pool_DT_address = [a for a in alice_pool.getFinalTokens() if a != OCEAN_address][0] assert alice_pool_DT_address == alice_DT.address
def _BPT_base(self, pool: bpool.BPool) -> int: return pool.balanceOf_base(self._address)
def stakeOCEAN(self, OCEAN_stake: float, pool: bpool.BPool): pool.joinswapExternAmountIn(tokenIn_address=globaltokens.OCEAN_address, tokenAmountIn_base=toBase18(OCEAN_stake), minPoolAmountOut_base=toBase18(0.0), from_wallet=self._web3wallet)