aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/utils/erc721_wrapper.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-06-20 19:56:27 +0800
committerFabio Berger <me@fabioberger.com>2018-06-20 19:56:27 +0800
commitfb7d425244fd754c478f432c5a64d52917071fbc (patch)
tree6a2659b02c2220346cdcde31eedb83b9d661ec15 /packages/contracts/src/utils/erc721_wrapper.ts
parent3fab40efe553446770c8858afd0020f613ca4d4c (diff)
downloaddexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.tar
dexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.tar.gz
dexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.tar.bz2
dexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.tar.lz
dexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.tar.xz
dexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.tar.zst
dexon-sol-tools-fb7d425244fd754c478f432c5a64d52917071fbc.zip
Add support for setting allowance to unlimited
Diffstat (limited to 'packages/contracts/src/utils/erc721_wrapper.ts')
-rw-r--r--packages/contracts/src/utils/erc721_wrapper.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/contracts/src/utils/erc721_wrapper.ts b/packages/contracts/src/utils/erc721_wrapper.ts
index 7da3b6781..6df9fa12e 100644
--- a/packages/contracts/src/utils/erc721_wrapper.ts
+++ b/packages/contracts/src/utils/erc721_wrapper.ts
@@ -88,6 +88,17 @@ export class ERC721Wrapper {
const proxyAddress = (this._proxyContract as ERC721ProxyContract).address;
await this.approveAsync(proxyAddress, tokenAddress, tokenId);
}
+ public async approveProxyForAllAsync(tokenAddress: string, tokenId: BigNumber, isApproved: boolean): Promise<void> {
+ const tokenContract = this._getTokenContractFromAssetData(tokenAddress);
+ const tokenOwner = await this.ownerOfAsync(tokenAddress, tokenId);
+ const proxyAddress = (this._proxyContract as ERC721ProxyContract).address;
+ await this._web3Wrapper.awaitTransactionSuccessAsync(
+ await tokenContract.setApprovalForAll.sendTransactionAsync(proxyAddress, isApproved, {
+ from: tokenOwner,
+ }),
+ constants.AWAIT_TRANSACTION_MINED_MS,
+ );
+ }
public async approveAsync(to: string, tokenAddress: string, tokenId: BigNumber): Promise<void> {
const tokenContract = this._getTokenContractFromAssetData(tokenAddress);
const tokenOwner = await this.ownerOfAsync(tokenAddress, tokenId);