From 51b5c9e44e18745647b9cb55ff71e4f41b5a4982 Mon Sep 17 00:00:00 2001 From: bweick Date: Fri, 10 Jan 2020 11:47:26 -0800 Subject: [PATCH 1/2] Add restriction to minimumBid being at most 1% of market cap. --- contracts/core/liquidators/impl/LinearAuction.sol | 4 ++-- package.json | 2 +- .../core/liquidators/impl/linearAuction.spec.ts | 10 ++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/contracts/core/liquidators/impl/LinearAuction.sol b/contracts/core/liquidators/impl/LinearAuction.sol index b096ffb96..0c444b524 100644 --- a/contracts/core/liquidators/impl/LinearAuction.sol +++ b/contracts/core/liquidators/impl/LinearAuction.sol @@ -86,8 +86,8 @@ contract LinearAuction is Auction { // remainingCurrentSets must be greater than minimumBid or no bidding would be allowed require( - _startingCurrentSetQuantity >= minimumBid, - "Auction.initializeAuction: Not enough collateral to rebalance" + _startingCurrentSetQuantity.div(minimumBid) >= 100, + "Auction.initializeAuction: Minimum bid must be less than 1% of collateral." ); _linearAuction.auction.minimumBid = minimumBid; diff --git a/package.json b/package.json index f31d80f40..a6d85073b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "set-protocol-contracts", - "version": "1.3.17-beta", + "version": "1.3.18-beta", "description": "Smart contracts for {Set} Protocol", "main": "dist/artifacts/index.js", "typings": "dist/typings/artifacts/index.d.ts", diff --git a/test/contracts/core/liquidators/impl/linearAuction.spec.ts b/test/contracts/core/liquidators/impl/linearAuction.spec.ts index b6392c1de..5a3734532 100644 --- a/test/contracts/core/liquidators/impl/linearAuction.spec.ts +++ b/test/contracts/core/liquidators/impl/linearAuction.spec.ts @@ -319,6 +319,16 @@ contract('LinearAuction', accounts => { await expectRevertError(subject()); }); }); + + describe('when there is insufficient collateral to rebalance', async () => { + beforeEach(async () => { + subjectStartingCurrentSetQuantity = gWei(199); + }); + + it('should revert', async () => { + await expectRevertError(subject()); + }); + }); }); describe('[CONTEXT] Initialized auction', async () => { From b4ef2ce02512b4c9949c41d18a9ad33741f08cf4 Mon Sep 17 00:00:00 2001 From: bweick Date: Fri, 10 Jan 2020 12:29:52 -0800 Subject: [PATCH 2/2] Update error msg. --- contracts/core/liquidators/impl/LinearAuction.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/core/liquidators/impl/LinearAuction.sol b/contracts/core/liquidators/impl/LinearAuction.sol index 0c444b524..0f0f332a7 100644 --- a/contracts/core/liquidators/impl/LinearAuction.sol +++ b/contracts/core/liquidators/impl/LinearAuction.sol @@ -87,7 +87,7 @@ contract LinearAuction is Auction { // remainingCurrentSets must be greater than minimumBid or no bidding would be allowed require( _startingCurrentSetQuantity.div(minimumBid) >= 100, - "Auction.initializeAuction: Minimum bid must be less than 1% of collateral." + "Auction.initializeAuction: Minimum bid must be less than or equal to 1% of collateral." ); _linearAuction.auction.minimumBid = minimumBid;