Use SafeERC20.forceApprove in safeIncreaseAllowance and safeDecreaseAllowance (#4260)

Co-authored-by: Francisco <fg@frang.io>
This commit is contained in:
Hadrien Croubois
2023-05-25 21:27:48 +02:00
committed by GitHub
parent 238d17cab9
commit 25edd3cd62
3 changed files with 14 additions and 6 deletions

View File

@ -182,16 +182,19 @@ contract('SafeERC20', function (accounts) {
await this.token.$_approve(this.mock.address, spender, 100);
});
it('safeApprove can increase approval', async function () {
await expectRevert(this.mock.$safeIncreaseAllowance(this.token.address, spender, 10), 'USDT approval failure');
it('safeIncreaseAllowance works', async function () {
await this.mock.$safeIncreaseAllowance(this.token.address, spender, 10);
expect(this.token.allowance(this.mock.address, spender, 90));
});
it('safeApprove can decrease approval', async function () {
await expectRevert(this.mock.$safeDecreaseAllowance(this.token.address, spender, 10), 'USDT approval failure');
it('safeDecreaseAllowance works', async function () {
await this.mock.$safeDecreaseAllowance(this.token.address, spender, 10);
expect(this.token.allowance(this.mock.address, spender, 110));
});
it('forceApprove works', async function () {
await this.mock.$forceApprove(this.token.address, spender, 200);
expect(this.token.allowance(this.mock.address, spender, 200));
});
});
});