Skip to content

Commit a8d8ba0

Browse files
authored
Merge pull request #49 from axieinfinity/feature/lib-event-range
feat(LibEventRange): add `LibEventRange` lib
2 parents 07d4305 + c71cab3 commit a8d8ba0

File tree

2 files changed

+57
-26
lines changed

2 files changed

+57
-26
lines changed

logs/contract-code-sizes.log

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,16 @@
1-
| Contract | Size (kB) | Margin (kB) |
2-
|---------------------------|-----------|-------------|
3-
| LibErrorHandler | 0.086 | 24.49 |
4-
| LibNativeTransfer | 0.086 | 24.49 |
5-
| LibSafeRange | 0.086 | 24.49 |
6-
| Math | 0.086 | 24.49 |
7-
| MockERC20 | 3.704 | 20.872 |
8-
| MockERC721 | 3.964 | 20.612 |
9-
| Panic | 0.086 | 24.49 |
10-
| RONTransferHelper | 0.086 | 24.49 |
11-
| RONTransferHelperExtended | 0.086 | 24.49 |
12-
| SafeCast | 0.086 | 24.49 |
13-
| SignedMath | 0.086 | 24.49 |
14-
| StdStyle | 0.086 | 24.49 |
15-
| Strings | 0.086 | 24.49 |
16-
| TransferFromHelper | 0.086 | 24.49 |
17-
| TransferHelper | 0.086 | 24.49 |
18-
| console | 0.086 | 24.49 |
19-
| console2 | 0.086 | 24.49 |
20-
| safeconsole | 0.086 | 24.49 |
21-
| stdError | 0.592 | 23.984 |
22-
| stdJson | 0.086 | 24.49 |
23-
| stdMath | 0.086 | 24.49 |
24-
| stdStorage | 0.086 | 24.49 |
25-
| stdStorageSafe | 0.086 | 24.49 |
26-
| stdToml | 0.086 | 24.49 |
1+
| Contract | Size (B) | Margin (B) |
2+
|---------------------------|----------|------------|
3+
| LibErrorHandler | 86 | 24,490 |
4+
| LibEventRange | 86 | 24,490 |
5+
| LibNativeTransfer | 86 | 24,490 |
6+
| LibSafeRange | 86 | 24,490 |
7+
| Math | 86 | 24,490 |
8+
| Panic | 86 | 24,490 |
9+
| RONTransferHelper | 86 | 24,490 |
10+
| RONTransferHelperExtended | 86 | 24,490 |
11+
| SafeCast | 86 | 24,490 |
12+
| SignedMath | 86 | 24,490 |
13+
| Strings | 86 | 24,490 |
14+
| TransferFromHelper | 86 | 24,490 |
15+
| TransferHelper | 86 | 24,490 |
2716

src/LibEventRange.sol

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.0;
3+
4+
struct EventRange {
5+
// uint40 is enough to represent the timestamp until year 36812
6+
uint40 startedAt;
7+
uint40 endedAt;
8+
/// @dev Reserved space for future upgrades
9+
uint176 __reserved;
10+
}
11+
12+
using LibEventRange for EventRange global;
13+
14+
library LibEventRange {
15+
/**
16+
* @dev Checks whether the event range is valid.
17+
*/
18+
function valid(EventRange memory range) internal pure returns (bool) {
19+
return range.startedAt <= range.endedAt;
20+
}
21+
22+
/**
23+
* @dev Returns whether the current range is not yet started.
24+
*/
25+
function isNotYetStarted(EventRange memory range) internal view returns (bool) {
26+
return block.timestamp < range.startedAt;
27+
}
28+
29+
/**
30+
* @dev Returns whether the current range is ended or not.
31+
*/
32+
function isEnded(EventRange memory range) internal view returns (bool) {
33+
return range.endedAt <= block.timestamp;
34+
}
35+
36+
/**
37+
* @dev Returns whether the current block is in period.
38+
*/
39+
function isInPeriod(EventRange memory range) internal view returns (bool) {
40+
return range.startedAt <= block.timestamp && block.timestamp < range.endedAt;
41+
}
42+
}

0 commit comments

Comments
 (0)