Skip to content

Commit

Permalink
Merge 3e535ef into fb9a8e1
Browse files Browse the repository at this point in the history
  • Loading branch information
PierrickGT committed Sep 30, 2021
2 parents fb9a8e1 + 3e535ef commit ffc1693
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 13 deletions.
1 change: 0 additions & 1 deletion contracts/Reserve.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import "./interfaces/IReserve.sol";
import "./libraries/ObservationLib.sol";
import "./libraries/RingBuffer.sol";

/**
* @title PoolTogether V4 Reserve
Expand Down
8 changes: 4 additions & 4 deletions contracts/libraries/DrawRingBufferLib.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

pragma solidity 0.8.6;

import "./RingBuffer.sol";
import "./RingBufferLib.sol";

/// @title Library for creating and managing a draw ring buffer.
library DrawRingBufferLib {
Expand Down Expand Up @@ -30,7 +30,7 @@ library DrawRingBufferLib {
return
Buffer({
lastDrawId: _drawId,
nextIndex: uint32(RingBuffer.nextIndex(_buffer.nextIndex, _buffer.cardinality)),
nextIndex: uint32(RingBufferLib.nextIndex(_buffer.nextIndex, _buffer.cardinality)),
cardinality: _buffer.cardinality
});
}
Expand All @@ -45,8 +45,8 @@ library DrawRingBufferLib {
uint32 indexOffset = _buffer.lastDrawId - _drawId;
require(indexOffset < _buffer.cardinality, "DRB/expired-draw");

uint256 mostRecent = RingBuffer.mostRecentIndex(_buffer.nextIndex, _buffer.cardinality);
uint256 mostRecent = RingBufferLib.mostRecentIndex(_buffer.nextIndex, _buffer.cardinality);

return uint32(RingBuffer.offset(uint32(mostRecent), indexOffset, _buffer.cardinality));
return uint32(RingBufferLib.offset(uint32(mostRecent), indexOffset, _buffer.cardinality));
}
}
6 changes: 3 additions & 3 deletions contracts/libraries/ObservationLib.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ pragma solidity 0.8.6;
import "@openzeppelin/contracts/utils/math/SafeCast.sol";

import "./OverflowSafeComparatorLib.sol";
import "./RingBuffer.sol";
import "./RingBufferLib.sol";

/// @title Observation Library
/// @notice This library allows one to store an array of timestamped values and efficiently binary search them.
Expand Down Expand Up @@ -51,7 +51,7 @@ library ObservationLib {

while (true) {
currentIndex = (leftSide + rightSide) / 2;
beforeOrAt = _observations[uint24(RingBuffer.wrap(currentIndex, _cardinality))];
beforeOrAt = _observations[uint24(RingBufferLib.wrap(currentIndex, _cardinality))];
uint32 beforeOrAtTimestamp = beforeOrAt.timestamp;

// We've landed on an uninitialized timestamp, keep searching higher (more recently)
Expand All @@ -60,7 +60,7 @@ library ObservationLib {
continue;
}

atOrAfter = _observations[uint24(RingBuffer.nextIndex(currentIndex, _cardinality))];
atOrAfter = _observations[uint24(RingBufferLib.nextIndex(currentIndex, _cardinality))];

bool targetAtOrAfter = beforeOrAtTimestamp.lte(_target, _time);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

pragma solidity 0.8.6;

library RingBuffer {
library RingBufferLib {
/// @notice Returns TWAB index.
/// @dev `twabs` is a circular buffer of `MAX_CARDINALITY` size equal to 32. So the array goes from 0 to 31.
/// @dev In order to navigate the circular buffer, we need to use the modulo operator.
Expand Down
6 changes: 3 additions & 3 deletions contracts/libraries/TwabLib.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import "@openzeppelin/contracts/utils/math/SafeCast.sol";

import "./ExtendedSafeCast.sol";
import "./OverflowSafeComparatorLib.sol";
import "./RingBuffer.sol";
import "./RingBufferLib.sol";
import "./ObservationLib.sol";

/// @title Time-Weighted Average Balance Library
Expand Down Expand Up @@ -134,7 +134,7 @@ library TwabLib {
ObservationLib.Observation[MAX_CARDINALITY] storage _twabs,
AccountDetails memory _accountDetails
) internal view returns (uint24 index, ObservationLib.Observation memory twab) {
index = uint24(RingBuffer.mostRecentIndex(_accountDetails.nextTwabIndex, MAX_CARDINALITY));
index = uint24(RingBufferLib.mostRecentIndex(_accountDetails.nextTwabIndex, MAX_CARDINALITY));
twab = _twabs[index];
}

Expand Down Expand Up @@ -360,7 +360,7 @@ library TwabLib {
_twabs[_accountDetails.nextTwabIndex] = newTwab;

_accountDetails.nextTwabIndex = uint24(
RingBuffer.nextIndex(_accountDetails.nextTwabIndex, MAX_CARDINALITY)
RingBufferLib.nextIndex(_accountDetails.nextTwabIndex, MAX_CARDINALITY)
);

_accountDetails.cardinality += 1;
Expand Down
2 changes: 1 addition & 1 deletion contracts/test/TwabLibraryExposed.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
pragma solidity 0.8.6;

import "../libraries/TwabLib.sol";
import "../libraries/RingBuffer.sol";
import "../libraries/RingBufferLib.sol";

/// @title TwabLibExposed contract to test TwabLib library
/// @author PoolTogether Inc.
Expand Down

0 comments on commit ffc1693

Please sign in to comment.