staking end-to-end works

This commit is contained in:
Greg Hysen
2019-05-22 14:17:23 -07:00
parent 13d2cca2bc
commit c4ca72cf22
3 changed files with 23 additions and 16 deletions

View File

@@ -62,15 +62,13 @@ contract ZrxVault is
external external
onlyStakingContract onlyStakingContract
{ {
/*
// deposit ZRX from owner // deposit ZRX from owner
erc20Proxy.transferFrom( erc20Proxy.transferFrom(
zrxAssetData, zrxAssetData,
address(this),
owner, owner,
address(this),
amount amount
); );
*/
// update balance // update balance
balances[owner] = _safeAdd(balances[owner], amount); balances[owner] = _safeAdd(balances[owner], amount);

View File

@@ -71,22 +71,27 @@ describe('Staking Core', () => {
}); });
describe('end-to-end tests', () => { describe('end-to-end tests', () => {
it('staking', async () => { it('staking', async () => {
// setup tets parameters
const amount = stakingWrapper.toBaseUnitAmount(10); const amount = stakingWrapper.toBaseUnitAmount(10);
// check zrx token balance // check zrx token balances before minting stake
const zrxTokenBalance = await stakingWrapper.getZrxTokenBalance(stakers[0]); const zrxTokenBalanceOfVaultBeforeStaking = await stakingWrapper.getZrxTokenBalanceOfZrxVault();
console.log(zrxTokenBalance); expect(zrxTokenBalanceOfVaultBeforeStaking).to.be.bignumber.equal(new BigNumber(0));
expect(zrxTokenBalance).to.be.bignumber.gte(amount); const zrxTokenBalanceOfStakerBeforeStaking = await stakingWrapper.getZrxTokenBalance(stakers[0]);
expect(zrxTokenBalanceOfStakerBeforeStaking).to.be.bignumber.gte(amount);
// mint stake // mint stake
const stakeMinted = await stakingWrapper.stake(stakers[0], amount); const stakeMinted = await stakingWrapper.stake(stakers[0], amount);
console.log(stakeMinted); expect(stakeMinted).to.be.bignumber.equal(amount);
//expect(stakeMinted).to.be.equal(amount); // check stake balance after minting
const stakeBalance = await stakingWrapper.getStakeBalance(stakers[0]);
/* expect(stakeBalance).to.be.bignumber.equal(amount);
const stakeBalance = stakingWrapper.getStakeBalance(stakers[0]); // check zrx vault balance
expect(stakeBalance).to.be.equal(stakeAmount); const vaultBalance = await stakingWrapper.getZrxVaultBalance(stakers[0]);
const vaultBalance = stakingWrapper.getZrxVaultBalance(stakers[0]); expect(vaultBalance).to.be.bignumber.equal(amount);
expect(vaultBalance).to.be.equal(stakeAmount); // check zrx token balances
*/ const zrxTokenBalanceOfVaultAfterStaking = await stakingWrapper.getZrxTokenBalanceOfZrxVault();
expect(zrxTokenBalanceOfVaultAfterStaking).to.be.bignumber.equal(amount);
const zrxTokenBalanceOfStakerAfterStaking = await stakingWrapper.getZrxTokenBalance(stakers[0]);
expect(zrxTokenBalanceOfStakerAfterStaking).to.be.bignumber.equal(zrxTokenBalanceOfStakerBeforeStaking.minus(amount));
}); });
}); });
}); });

View File

@@ -77,6 +77,10 @@ export class StakingWrapper {
const balance = await this._zrxTokenContract.balanceOf.callAsync(holder); const balance = await this._zrxTokenContract.balanceOf.callAsync(holder);
return balance; return balance;
} }
public async getZrxTokenBalanceOfZrxVault(): Promise<BigNumber> {
const balance = await this._zrxTokenContract.balanceOf.callAsync(this.getZrxVaultContract().address);
return balance;
}
public toBaseUnitAmount(amount: BigNumber | number): BigNumber { public toBaseUnitAmount(amount: BigNumber | number): BigNumber {
const decimals = 18; const decimals = 18;
const amountAsBigNumber = typeof(amount) === 'number' ? new BigNumber(amount) : amount; const amountAsBigNumber = typeof(amount) === 'number' ? new BigNumber(amount) : amount;