Merge pull request #640 from 0xProject/await-transaction-success
Add awaitTransactionSuccess where needed
This commit is contained in:
commit
ae47da3801
@ -1,16 +1,21 @@
|
|||||||
import * as Web3 from 'web3';
|
import { Provider } from '@0xproject/types';
|
||||||
|
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||||
|
|
||||||
import { TokenRegistryContract } from '../contract_wrappers/generated/token_registry';
|
import { TokenRegistryContract } from '../contract_wrappers/generated/token_registry';
|
||||||
|
|
||||||
import { Token } from './types';
|
import { Token } from './types';
|
||||||
|
|
||||||
|
import { constants } from './constants';
|
||||||
|
|
||||||
export class TokenRegWrapper {
|
export class TokenRegWrapper {
|
||||||
private _tokenReg: TokenRegistryContract;
|
private _tokenReg: TokenRegistryContract;
|
||||||
constructor(tokenRegContract: TokenRegistryContract) {
|
private _web3Wrapper: Web3Wrapper;
|
||||||
|
constructor(tokenRegContract: TokenRegistryContract, provider: Provider) {
|
||||||
this._tokenReg = tokenRegContract;
|
this._tokenReg = tokenRegContract;
|
||||||
|
this._web3Wrapper = new Web3Wrapper(provider);
|
||||||
}
|
}
|
||||||
public async addTokenAsync(token: Token, from: string): Promise<string> {
|
public async addTokenAsync(token: Token, from: string): Promise<string> {
|
||||||
const tx = this._tokenReg.addToken.sendTransactionAsync(
|
const txHash = await this._tokenReg.addToken.sendTransactionAsync(
|
||||||
token.address as string,
|
token.address as string,
|
||||||
token.name,
|
token.name,
|
||||||
token.symbol,
|
token.symbol,
|
||||||
@ -19,7 +24,8 @@ export class TokenRegWrapper {
|
|||||||
token.swarmHash,
|
token.swarmHash,
|
||||||
{ from },
|
{ from },
|
||||||
);
|
);
|
||||||
return tx;
|
await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS);
|
||||||
|
return txHash;
|
||||||
}
|
}
|
||||||
public async getTokenMetaDataAsync(tokenAddress: string): Promise<Token> {
|
public async getTokenMetaDataAsync(tokenAddress: string): Promise<Token> {
|
||||||
const data = await this._tokenReg.getTokenMetaData.callAsync(tokenAddress);
|
const data = await this._tokenReg.getTokenMetaData.callAsync(tokenAddress);
|
||||||
|
@ -66,8 +66,14 @@ describe('AssetProxyOwner', () => {
|
|||||||
SECONDS_TIME_LOCKED,
|
SECONDS_TIME_LOCKED,
|
||||||
);
|
);
|
||||||
multiSigWrapper = new MultiSigWrapper(multiSig, provider);
|
multiSigWrapper = new MultiSigWrapper(multiSig, provider);
|
||||||
await erc20Proxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: initialOwner });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
await erc721Proxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: initialOwner });
|
await erc20Proxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: initialOwner }),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await erc721Proxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: initialOwner }),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await blockchainLifecycle.startAsync();
|
await blockchainLifecycle.startAsync();
|
||||||
|
@ -83,7 +83,10 @@ describe('EtherToken', () => {
|
|||||||
|
|
||||||
it('should convert ether tokens to ether with sufficient balance', async () => {
|
it('should convert ether tokens to ether with sufficient balance', async () => {
|
||||||
const ethToDeposit = new BigNumber(Web3Wrapper.toWei(new BigNumber(1)));
|
const ethToDeposit = new BigNumber(Web3Wrapper.toWei(new BigNumber(1)));
|
||||||
await etherToken.deposit.sendTransactionAsync({ value: ethToDeposit });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await etherToken.deposit.sendTransactionAsync({ value: ethToDeposit }),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
const initEthTokenBalance = await etherToken.balanceOf.callAsync(account);
|
const initEthTokenBalance = await etherToken.balanceOf.callAsync(account);
|
||||||
const initEthBalance = await web3Wrapper.getBalanceInWeiAsync(account);
|
const initEthBalance = await web3Wrapper.getBalanceInWeiAsync(account);
|
||||||
const ethTokensToWithdraw = initEthTokenBalance;
|
const ethTokensToWithdraw = initEthTokenBalance;
|
||||||
|
@ -35,7 +35,7 @@ describe('TokenRegistry', () => {
|
|||||||
owner = accounts[0];
|
owner = accounts[0];
|
||||||
notOwner = accounts[1];
|
notOwner = accounts[1];
|
||||||
tokenReg = await TokenRegistryContract.deployFrom0xArtifactAsync(artifacts.TokenRegistry, provider, txDefaults);
|
tokenReg = await TokenRegistryContract.deployFrom0xArtifactAsync(artifacts.TokenRegistry, provider, txDefaults);
|
||||||
tokenRegWrapper = new TokenRegWrapper(tokenReg);
|
tokenRegWrapper = new TokenRegWrapper(tokenReg, provider);
|
||||||
});
|
});
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await blockchainLifecycle.startAsync();
|
await blockchainLifecycle.startAsync();
|
||||||
|
@ -64,7 +64,10 @@ describe('UnlimitedAllowanceToken', () => {
|
|||||||
const receiver = spender;
|
const receiver = spender;
|
||||||
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const amountToTransfer = new BigNumber(1);
|
const amountToTransfer = new BigNumber(1);
|
||||||
await token.transfer.sendTransactionAsync(receiver, amountToTransfer, { from: owner });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await token.transfer.sendTransactionAsync(receiver, amountToTransfer, { from: owner }),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
const finalOwnerBalance = await token.balanceOf.callAsync(owner);
|
const finalOwnerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const finalReceiverBalance = await token.balanceOf.callAsync(receiver);
|
const finalReceiverBalance = await token.balanceOf.callAsync(receiver);
|
||||||
|
|
||||||
@ -86,7 +89,10 @@ describe('UnlimitedAllowanceToken', () => {
|
|||||||
it('should throw if owner has insufficient balance', async () => {
|
it('should throw if owner has insufficient balance', async () => {
|
||||||
const ownerBalance = await token.balanceOf.callAsync(owner);
|
const ownerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const amountToTransfer = ownerBalance.plus(1);
|
const amountToTransfer = ownerBalance.plus(1);
|
||||||
await token.approve.sendTransactionAsync(spender, amountToTransfer, { from: owner });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await token.approve.sendTransactionAsync(spender, amountToTransfer, { from: owner }),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
return expect(
|
return expect(
|
||||||
token.transferFrom.callAsync(owner, spender, amountToTransfer, {
|
token.transferFrom.callAsync(owner, spender, amountToTransfer, {
|
||||||
from: spender,
|
from: spender,
|
||||||
@ -121,11 +127,17 @@ describe('UnlimitedAllowanceToken', () => {
|
|||||||
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const amountToTransfer = initOwnerBalance;
|
const amountToTransfer = initOwnerBalance;
|
||||||
const initSpenderAllowance = constants.UNLIMITED_ALLOWANCE_IN_BASE_UNITS;
|
const initSpenderAllowance = constants.UNLIMITED_ALLOWANCE_IN_BASE_UNITS;
|
||||||
await token.approve.sendTransactionAsync(spender, initSpenderAllowance, { from: owner });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
await token.transferFrom.sendTransactionAsync(owner, spender, amountToTransfer, {
|
await token.approve.sendTransactionAsync(spender, initSpenderAllowance, { from: owner }),
|
||||||
from: spender,
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
gas: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
);
|
||||||
});
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await token.transferFrom.sendTransactionAsync(owner, spender, amountToTransfer, {
|
||||||
|
from: spender,
|
||||||
|
gas: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||||
|
}),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
|
|
||||||
const newSpenderAllowance = await token.allowance.callAsync(owner, spender);
|
const newSpenderAllowance = await token.allowance.callAsync(owner, spender);
|
||||||
expect(initSpenderAllowance).to.be.bignumber.equal(newSpenderAllowance);
|
expect(initSpenderAllowance).to.be.bignumber.equal(newSpenderAllowance);
|
||||||
@ -135,11 +147,17 @@ describe('UnlimitedAllowanceToken', () => {
|
|||||||
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const amountToTransfer = initOwnerBalance;
|
const amountToTransfer = initOwnerBalance;
|
||||||
const initSpenderAllowance = initOwnerBalance;
|
const initSpenderAllowance = initOwnerBalance;
|
||||||
await token.approve.sendTransactionAsync(spender, initSpenderAllowance, { from: owner });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
await token.transferFrom.sendTransactionAsync(owner, spender, amountToTransfer, {
|
await token.approve.sendTransactionAsync(spender, initSpenderAllowance, { from: owner }),
|
||||||
from: spender,
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
gas: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
);
|
||||||
});
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await token.transferFrom.sendTransactionAsync(owner, spender, amountToTransfer, {
|
||||||
|
from: spender,
|
||||||
|
gas: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||||
|
}),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
|
|
||||||
const newOwnerBalance = await token.balanceOf.callAsync(owner);
|
const newOwnerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const newSpenderBalance = await token.balanceOf.callAsync(spender);
|
const newSpenderBalance = await token.balanceOf.callAsync(spender);
|
||||||
@ -152,11 +170,17 @@ describe('UnlimitedAllowanceToken', () => {
|
|||||||
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
const initOwnerBalance = await token.balanceOf.callAsync(owner);
|
||||||
const amountToTransfer = initOwnerBalance;
|
const amountToTransfer = initOwnerBalance;
|
||||||
const initSpenderAllowance = initOwnerBalance;
|
const initSpenderAllowance = initOwnerBalance;
|
||||||
await token.approve.sendTransactionAsync(spender, initSpenderAllowance, { from: owner });
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
await token.transferFrom.sendTransactionAsync(owner, spender, amountToTransfer, {
|
await token.approve.sendTransactionAsync(spender, initSpenderAllowance, { from: owner }),
|
||||||
from: spender,
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
gas: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
);
|
||||||
});
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
|
await token.transferFrom.sendTransactionAsync(owner, spender, amountToTransfer, {
|
||||||
|
from: spender,
|
||||||
|
gas: constants.MAX_TOKEN_TRANSFERFROM_GAS,
|
||||||
|
}),
|
||||||
|
constants.AWAIT_TRANSACTION_MINED_MS,
|
||||||
|
);
|
||||||
|
|
||||||
const newSpenderAllowance = await token.allowance.callAsync(owner, spender);
|
const newSpenderAllowance = await token.allowance.callAsync(owner, spender);
|
||||||
expect(newSpenderAllowance).to.be.bignumber.equal(0);
|
expect(newSpenderAllowance).to.be.bignumber.equal(0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user