aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-08-24 21:26:59 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-08-25 04:48:51 +0800
commit6f227c152d49b6266fab3c8eb054c16e3c9cef45 (patch)
tree5d8b89a0c45bdaef6d5b28a4383eeb1700575245
parentaf242278c35eba00ad48fdb7699800ac28f54059 (diff)
downloaddexon-0x-contracts-6f227c152d49b6266fab3c8eb054c16e3c9cef45.tar.gz
dexon-0x-contracts-6f227c152d49b6266fab3c8eb054c16e3c9cef45.tar.zst
dexon-0x-contracts-6f227c152d49b6266fab3c8eb054c16e3c9cef45.zip
Add tests for unlimited allowance
-rw-r--r--src/contract_wrappers/token_wrapper.ts2
-rw-r--r--test/token_wrapper_test.ts21
2 files changed, 22 insertions, 1 deletions
diff --git a/src/contract_wrappers/token_wrapper.ts b/src/contract_wrappers/token_wrapper.ts
index a9abb4f09..472ff909a 100644
--- a/src/contract_wrappers/token_wrapper.ts
+++ b/src/contract_wrappers/token_wrapper.ts
@@ -21,7 +21,7 @@ import {
ContractEventObj,
} from '../types';
-const ALLOWANCE_TO_ZERO_GAS_AMOUNT = 45730;
+const ALLOWANCE_TO_ZERO_GAS_AMOUNT = 47155;
/**
* This class includes all the functionality related to interacting with ERC20 token contracts.
diff --git a/test/token_wrapper_test.ts b/test/token_wrapper_test.ts
index 8adaa6351..e466cc0ad 100644
--- a/test/token_wrapper_test.ts
+++ b/test/token_wrapper_test.ts
@@ -206,6 +206,17 @@ describe('TokenWrapper', () => {
return expect(allowanceAfterSet).to.be.bignumber.equal(expectedAllowanceAfterAllowanceSet);
});
});
+ describe('#setUnlimitedAllowanceAsync', () => {
+ it('should set the unlimited spender\'s allowance', async () => {
+ const token = tokens[0];
+ const ownerAddress = coinbase;
+ const spenderAddress = addressWithoutFunds;
+
+ await zeroEx.token.setUnlimitedAllowanceAsync(token.address, ownerAddress, spenderAddress);
+ const allowance = await zeroEx.token.getAllowanceAsync(token.address, ownerAddress, spenderAddress);
+ return expect(allowance).to.be.bignumber.equal(zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS);
+ });
+ });
describe('#getAllowanceAsync', () => {
describe('With web3 provider with accounts', () => {
it('should get the proxy allowance', async () => {
@@ -282,6 +293,16 @@ describe('TokenWrapper', () => {
return expect(allowanceAfterSet).to.be.bignumber.equal(expectedAllowanceAfterAllowanceSet);
});
});
+ describe('#setUnlimitedProxyAllowanceAsync', () => {
+ it('should set the unlimited proxy allowance', async () => {
+ const token = tokens[0];
+ const ownerAddress = coinbase;
+
+ await zeroEx.token.setUnlimitedProxyAllowanceAsync(token.address, ownerAddress);
+ const allowance = await zeroEx.token.getProxyAllowanceAsync(token.address, ownerAddress);
+ return expect(allowance).to.be.bignumber.equal(zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS);
+ });
+ });
describe('#subscribeAsync', () => {
const indexFilterValues = {};
const shouldThrowOnInsufficientBalanceOrAllowance = true;