diff options
author | Fabio Berger <me@fabioberger.com> | 2018-06-20 19:56:27 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-06-20 19:56:27 +0800 |
commit | fb7d425244fd754c478f432c5a64d52917071fbc (patch) | |
tree | 6a2659b02c2220346cdcde31eedb83b9d661ec15 /packages/contracts/src/utils/erc721_wrapper.ts | |
parent | 3fab40efe553446770c8858afd0020f613ca4d4c (diff) | |
download | dexon-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.ts | 11 |
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); |