Skip to content

Commit 4a68f31

Browse files
authored
Merge pull request #80 from bancorprotocol/unallocated-network-liquidity
Rename "available" to "unallocated"
2 parents ef139ab + e7b0f5a commit 4a68f31

File tree

9 files changed

+46
-45
lines changed

9 files changed

+46
-45
lines changed

packages/v3/contracts/helpers/TestBancorNetwork.sol

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ contract TestBancorNetwork is BancorNetwork, TestTime {
7272
address provider,
7373
IReserveToken pool,
7474
uint256 baseTokenAmount,
75-
uint256 availableNetworkTokenLiquidity
75+
uint256 unallocatedNetworkTokenLiquidity
7676
) external returns (PoolCollectionDepositAmounts memory) {
77-
return poolCollection.depositFor(provider, pool, baseTokenAmount, availableNetworkTokenLiquidity);
77+
return poolCollection.depositFor(provider, pool, baseTokenAmount, unallocatedNetworkTokenLiquidity);
7878
}
7979

8080
function withdrawFromNetworkPoolT(address provider, uint256 poolTokenAmount)

packages/v3/contracts/network/BancorNetwork.sol

+4-4
Original file line numberDiff line numberDiff line change
@@ -766,10 +766,10 @@ contract BancorNetwork is IBancorNetwork, Upgradeable, ReentrancyGuardUpgradeabl
766766
// get the pool collection that managed this pool
767767
IPoolCollection poolCollection = _poolCollection(pool);
768768

769-
// if there is no available network token liquidity - it's enough to check that the pool is whitelisted. Otherwise,
769+
// if all network token liquidity is allocated - it's enough to check that the pool is whitelisted. Otherwise,
770770
// we need to check if the network token pool is able to provide network liquidity
771-
uint256 availableNetworkTokenLiquidity = cachedNetworkTokenPool.availableMintingAmount(pool);
772-
if (availableNetworkTokenLiquidity == 0) {
771+
uint256 unallocatedNetworkTokenLiquidity = cachedNetworkTokenPool.unallocatedLiquidity(pool);
772+
if (unallocatedNetworkTokenLiquidity == 0) {
773773
require(_settings.isTokenWhitelisted(pool), "ERR_POOL_NOT_WHITELISTED");
774774
} else {
775775
require(
@@ -798,7 +798,7 @@ contract BancorNetwork is IBancorNetwork, Upgradeable, ReentrancyGuardUpgradeabl
798798
provider,
799799
pool,
800800
baseTokenAmount,
801-
availableNetworkTokenLiquidity
801+
unallocatedNetworkTokenLiquidity
802802
);
803803

804804
// request additional liquidity from the network token pool and transfer it to the vault

packages/v3/contracts/pools/NetworkTokenPool.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ contract NetworkTokenPool is INetworkTokenPool, Upgradeable, ReentrancyGuardUpgr
226226
/**
227227
* @inheritdoc INetworkTokenPool
228228
*/
229-
function availableMintingAmount(IReserveToken pool) external view override returns (uint256) {
229+
function unallocatedLiquidity(IReserveToken pool) external view override returns (uint256) {
230230
return MathEx.subMax0(_settings.poolMintingLimit(pool), _mintedAmounts[pool]);
231231
}
232232

packages/v3/contracts/pools/PoolCollection.sol

+10-10
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ contract PoolCollection is IPoolCollection, Owned, ReentrancyGuardUpgradeable, U
420420
address provider,
421421
IReserveToken pool,
422422
uint256 baseTokenAmount,
423-
uint256 availableNetworkTokenLiquidity
423+
uint256 unallocatedNetworkTokenLiquidity
424424
)
425425
external
426426
override
@@ -434,7 +434,7 @@ contract PoolCollection is IPoolCollection, Owned, ReentrancyGuardUpgradeable, U
434434
PoolDepositParams memory depositParams = _poolDepositParams(
435435
pool,
436436
baseTokenAmount,
437-
availableNetworkTokenLiquidity
437+
unallocatedNetworkTokenLiquidity
438438
);
439439

440440
Pool memory poolData = _poolData[pool];
@@ -537,7 +537,7 @@ contract PoolCollection is IPoolCollection, Owned, ReentrancyGuardUpgradeable, U
537537
function _poolDepositParams(
538538
IReserveToken pool,
539539
uint256 baseTokenAmount,
540-
uint256 availableNetworkTokenLiquidity
540+
uint256 unallocatedNetworkTokenLiquidity
541541
) private view returns (PoolDepositParams memory depositParams) {
542542
Pool memory poolData = _poolData[pool];
543543
require(_validPool(poolData), "ERR_POOL_DOES_NOT_EXIST");
@@ -565,8 +565,8 @@ contract PoolCollection is IPoolCollection, Owned, ReentrancyGuardUpgradeable, U
565565
rate = poolData.averageRate.rate;
566566
}
567567

568-
// if there is no available network token liquidity - treat all the base token amount as excess and finish
569-
if (availableNetworkTokenLiquidity == 0) {
568+
// if all network token liquidity is allocated - treat all the base token amount as excess and finish
569+
if (unallocatedNetworkTokenLiquidity == 0) {
570570
depositParams.baseTokenExcessLiquidity = baseTokenAmount;
571571
depositParams.baseTokenDeltaAmount = 0;
572572

@@ -576,13 +576,13 @@ contract PoolCollection is IPoolCollection, Owned, ReentrancyGuardUpgradeable, U
576576
// calculate the matching network token trading liquidity amount
577577
depositParams.networkTokenDeltaAmount = MathEx.mulDivF(baseTokenAmount, rate.n, rate.d);
578578

579-
// if there's not enough available network token liquidity - we'll use as much as we can and the remaining base
580-
// token liquidity will be treated as excess
581-
if (depositParams.networkTokenDeltaAmount > availableNetworkTokenLiquidity) {
579+
// if most of network token liquidity is allocated - we'll use as much as we can and the remaining base token
580+
// liquidity will be treated as excess
581+
if (depositParams.networkTokenDeltaAmount > unallocatedNetworkTokenLiquidity) {
582582
uint256 unavailableNetworkTokenAmount = depositParams.networkTokenDeltaAmount -
583-
availableNetworkTokenLiquidity;
583+
unallocatedNetworkTokenLiquidity;
584584

585-
depositParams.networkTokenDeltaAmount = availableNetworkTokenLiquidity;
585+
depositParams.networkTokenDeltaAmount = unallocatedNetworkTokenLiquidity;
586586
depositParams.baseTokenExcessLiquidity = MathEx.mulDivF(unavailableNetworkTokenAmount, rate.d, rate.n);
587587
}
588588

packages/v3/contracts/pools/interfaces/INetworkTokenPool.sol

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ interface INetworkTokenPool is IUpgradeable {
8989
function isNetworkLiquidityEnabled(IReserveToken pool, IPoolCollection poolCollection) external view returns (bool);
9090

9191
/**
92-
* @dev returns the available co-investment network token liquidity for a given pool
92+
* @dev returns the unallocated co-investment network token liquidity for a given pool
9393
*/
94-
function availableMintingAmount(IReserveToken pool) external view returns (uint256);
94+
function unallocatedLiquidity(IReserveToken pool) external view returns (uint256);
9595

9696
/**
9797
* @dev mints network tokens to the recipient

packages/v3/contracts/pools/interfaces/IPoolCollection.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ interface IPoolCollection is IVersioned {
129129
address provider,
130130
IReserveToken pool,
131131
uint256 baseTokenAmount,
132-
uint256 availableNetworkTokenLiquidity
132+
uint256 unallocatedNetworkTokenLiquidity
133133
) external returns (DepositAmounts memory);
134134

135135
/**

packages/v3/test/network/BancorNetwork.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -953,7 +953,7 @@ describe('BancorNetwork', () => {
953953
});
954954
});
955955
} else {
956-
context('when there is no available network token liquidity', () => {
956+
context('when there is no unallocated network token liquidity', () => {
957957
beforeEach(async () => {
958958
await networkSettings.setPoolMintingLimit(
959959
token.address,
@@ -982,7 +982,7 @@ describe('BancorNetwork', () => {
982982
});
983983
});
984984

985-
context('when there is enough available network token liquidity', () => {
985+
context('when there is enough unallocated network token liquidity', () => {
986986
beforeEach(async () => {
987987
await networkSettings.setPoolMintingLimit(
988988
token.address,
@@ -1081,7 +1081,7 @@ describe('BancorNetwork', () => {
10811081
});
10821082

10831083
context(
1084-
'when close to the limit of the available network token liquidity',
1084+
'when close to the limit of the unallocated network token liquidity',
10851085
() => {
10861086
beforeEach(async () => {
10871087
await networkSettings.setPoolMintingLimit(
@@ -1251,7 +1251,7 @@ describe('BancorNetwork', () => {
12511251
await reserveToken.transfer(senderAddress, amount);
12521252
});
12531253

1254-
context('when there is no available network token liquidity', () => {
1254+
context('when there is no unallocated network token liquidity', () => {
12551255
beforeEach(async () => {
12561256
await networkSettings.setPoolMintingLimit(
12571257
token.address,
@@ -1280,7 +1280,7 @@ describe('BancorNetwork', () => {
12801280
});
12811281
});
12821282

1283-
context('when there is enough available network token liquidity', () => {
1283+
context('when there is enough unallocated network token liquidity', () => {
12841284
beforeEach(async () => {
12851285
await networkSettings.setPoolMintingLimit(token.address, MAX_UINT256);
12861286
});
@@ -1340,7 +1340,7 @@ describe('BancorNetwork', () => {
13401340
});
13411341

13421342
context(
1343-
'when close to the limit of the available network token liquidity',
1343+
'when close to the limit of the unallocated network token liquidity',
13441344
() => {
13451345
beforeEach(async () => {
13461346
await networkSettings.setPoolMintingLimit(

packages/v3/test/pools/NetworkTokenPool.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ describe('NetworkTokenPool', () => {
317317
const testRequest = async (amount: BigNumber, expectedAmount: BigNumber) => {
318318
const prevStakedBalance = await networkTokenPool.stakedBalance();
319319
const prevMintedAmount = await networkTokenPool.mintedAmount(reserveToken.address);
320-
const prevAvailableLiquidity = await networkTokenPool.availableMintingAmount(reserveToken.address);
320+
const prevUnallocatedLiquidity = await networkTokenPool.unallocatedLiquidity(reserveToken.address);
321321

322322
const prevPoolTokenTotalSupply = await networkPoolToken.totalSupply();
323323
const prevPoolPoolTokenBalance = await networkPoolToken.balanceOf(networkTokenPool.address);
@@ -346,8 +346,8 @@ describe('NetworkTokenPool', () => {
346346
expect(await networkTokenPool.mintedAmount(reserveToken.address)).to.equal(
347347
prevMintedAmount.add(expectedAmount)
348348
);
349-
expect(await networkTokenPool.availableMintingAmount(reserveToken.address)).to.equal(
350-
prevAvailableLiquidity.sub(expectedAmount)
349+
expect(await networkTokenPool.unallocatedLiquidity(reserveToken.address)).to.equal(
350+
prevUnallocatedLiquidity.sub(expectedAmount)
351351
);
352352

353353
expect(await networkPoolToken.totalSupply()).to.equal(
@@ -532,7 +532,7 @@ describe('NetworkTokenPool', () => {
532532
const testRenounce = async (amount: BigNumber) => {
533533
const prevStakedBalance = await networkTokenPool.stakedBalance();
534534
const prevMintedAmount = await networkTokenPool.mintedAmount(reserveToken.address);
535-
const prevAvailableLiquidity = await networkTokenPool.availableMintingAmount(reserveToken.address);
535+
const prevUnallocatedLiquidity = await networkTokenPool.unallocatedLiquidity(reserveToken.address);
536536

537537
const prevPoolTokenTotalSupply = await networkPoolToken.totalSupply();
538538
const prevPoolPoolTokenBalance = await networkPoolToken.balanceOf(networkTokenPool.address);
@@ -558,9 +558,9 @@ describe('NetworkTokenPool', () => {
558558
prevMintedAmount.sub(renouncedAmount)
559559
);
560560

561-
expect(await networkTokenPool.availableMintingAmount(reserveToken.address)).to.equal(
562-
prevAvailableLiquidity.gt(renouncedAmount)
563-
? prevAvailableLiquidity.add(renouncedAmount)
561+
expect(await networkTokenPool.unallocatedLiquidity(reserveToken.address)).to.equal(
562+
prevUnallocatedLiquidity.gt(renouncedAmount)
563+
? prevUnallocatedLiquidity.add(renouncedAmount)
564564
: MINTING_LIMIT
565565
);
566566

@@ -1028,7 +1028,7 @@ describe('NetworkTokenPool', () => {
10281028
it(`should collect ${name} fees of ${feeAmount.toString()}`, async () => {
10291029
const prevStakedBalance = await networkTokenPool.stakedBalance();
10301030
const prevMintedAmount = await networkTokenPool.mintedAmount(reserveToken.address);
1031-
const prevAvailableLiquidity = await networkTokenPool.availableMintingAmount(reserveToken.address);
1031+
const prevUnallocatedLiquidity = await networkTokenPool.unallocatedLiquidity(reserveToken.address);
10321032
const expectedMintedAmount = type === FEE_TYPES.trading ? feeAmount : 0;
10331033

10341034
await network.onNetworkTokenFeesCollectedT(reserveToken.address, feeAmount, type);
@@ -1037,8 +1037,8 @@ describe('NetworkTokenPool', () => {
10371037
expect(await networkTokenPool.mintedAmount(reserveToken.address)).to.equal(
10381038
prevMintedAmount.add(expectedMintedAmount)
10391039
);
1040-
expect(await networkTokenPool.availableMintingAmount(reserveToken.address)).to.equal(
1041-
prevAvailableLiquidity.sub(expectedMintedAmount)
1040+
expect(await networkTokenPool.unallocatedLiquidity(reserveToken.address)).to.equal(
1041+
prevUnallocatedLiquidity.sub(expectedMintedAmount)
10421042
);
10431043
});
10441044
}

packages/v3/test/pools/PoolCollection.ts

+10-9
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@ describe('PoolCollection', () => {
956956
context('when below the deposit limit', () => {
957957
const testDepositFor = async (
958958
baseTokenAmount: BigNumber,
959-
availableNetworkTokenLiquidity = MAX_UINT256
959+
unallocatedNetworkTokenLiquidity = MAX_UINT256
960960
) => {
961961
const prevPoolData = await poolCollection.poolData(reserveToken.address);
962962

@@ -977,15 +977,15 @@ describe('PoolCollection', () => {
977977
provider.address,
978978
reserveToken.address,
979979
baseTokenAmount,
980-
availableNetworkTokenLiquidity
980+
unallocatedNetworkTokenLiquidity
981981
);
982982

983983
const res = await network.depositToPoolCollectionForT(
984984
poolCollection.address,
985985
provider.address,
986986
reserveToken.address,
987987
baseTokenAmount,
988-
availableNetworkTokenLiquidity
988+
unallocatedNetworkTokenLiquidity
989989
);
990990

991991
const poolData = await poolCollection.poolData(reserveToken.address);
@@ -1014,11 +1014,12 @@ describe('PoolCollection', () => {
10141014

10151015
let networkTokenDeltaAmount = baseTokenAmount.mul(rate.n).div(rate.d);
10161016
let baseTokenExcessLiquidity = BigNumber.from(0);
1017-
if (networkTokenDeltaAmount.gt(availableNetworkTokenLiquidity)) {
1018-
const unavailableNetworkTokenAmount =
1019-
networkTokenDeltaAmount.sub(availableNetworkTokenLiquidity);
1017+
if (networkTokenDeltaAmount.gt(unallocatedNetworkTokenLiquidity)) {
1018+
const unavailableNetworkTokenAmount = networkTokenDeltaAmount.sub(
1019+
unallocatedNetworkTokenLiquidity
1020+
);
10201021

1021-
networkTokenDeltaAmount = availableNetworkTokenLiquidity;
1022+
networkTokenDeltaAmount = unallocatedNetworkTokenLiquidity;
10221023
baseTokenExcessLiquidity = unavailableNetworkTokenAmount.mul(rate.d).div(rate.n);
10231024
}
10241025

@@ -1109,7 +1110,7 @@ describe('PoolCollection', () => {
11091110
}
11101111
});
11111112

1112-
context('when exceeding the available network token liquidity', () => {
1113+
context('when exceeding the unallocated network token liquidity', () => {
11131114
it('should deposit', async () => {
11141115
for (const amount of [
11151116
toWei(BigNumber.from(1_000_000)),
@@ -1149,7 +1150,7 @@ describe('PoolCollection', () => {
11491150
}
11501151
});
11511152

1152-
context('when exceeding the available network token liquidity', () => {
1153+
context('when exceeding the unallocated network token liquidity', () => {
11531154
it('should deposit', async () => {
11541155
for (const amount of [
11551156
toWei(BigNumber.from(1_000_000)),

0 commit comments

Comments
 (0)