aboutsummaryrefslogtreecommitdiffstats
path: root/packages/fill-scenarios/src/fill_scenarios.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fill-scenarios/src/fill_scenarios.ts')
-rw-r--r--packages/fill-scenarios/src/fill_scenarios.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/fill-scenarios/src/fill_scenarios.ts b/packages/fill-scenarios/src/fill_scenarios.ts
index 84c5fbc27..afe42fe32 100644
--- a/packages/fill-scenarios/src/fill_scenarios.ts
+++ b/packages/fill-scenarios/src/fill_scenarios.ts
@@ -238,8 +238,15 @@ export class FillScenarios {
this._web3Wrapper.getProvider(),
this._web3Wrapper.getContractDefaults(),
);
- const txHash = await erc721Token.mint.sendTransactionAsync(address, tokenId, { from: this._coinbase });
- await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS);
+ try {
+ const currentOwner = await erc721Token.ownerOf.callAsync(tokenId);
+ if (currentOwner !== address) {
+ throw new Error(`Token ${tokenAddress}:${tokenId} is already owner by ${currentOwner}`);
+ }
+ } catch (err) {
+ const txHash = await erc721Token.mint.sendTransactionAsync(address, tokenId, { from: this._coinbase });
+ await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS);
+ }
}
private async _increaseERC20BalanceAndAllowanceAsync(
tokenAddress: string,