@@ -51,7 +51,7 @@ contract XanV1UnitTest is Test {
5151
5252 uninitializedProxy.initialize ({initialMintRecipient: _defaultSender});
5353
54- assertEq (uninitializedProxy.unlockedBalanceOf (_defaultSender), Parameters.SUPPLY );
54+ assertEq (uninitializedProxy.unlockedBalanceOf (_defaultSender), uninitializedProxy. totalSupply () );
5555 }
5656
5757 function test_lock_locks_incrementally () public {
@@ -65,7 +65,7 @@ contract XanV1UnitTest is Test {
6565 }
6666
6767 function test_lock_emits_the_Locked_event () public {
68- uint256 valueToLock = Parameters.SUPPLY / 3 ;
68+ uint256 valueToLock = _xanProxy. totalSupply () / 3 ;
6969
7070 vm.expectEmit (address (_xanProxy));
7171 emit IXanV1.Locked ({account: _defaultSender, value: valueToLock});
@@ -76,7 +76,7 @@ contract XanV1UnitTest is Test {
7676
7777 function test_transfer_reverts_on_insufficient_unlocked_tokens () public {
7878 vm.startPrank (_defaultSender);
79- _xanProxy.lock (Parameters.SUPPLY );
79+ _xanProxy.lock (_xanProxy. totalSupply () );
8080
8181 uint256 unlocked = _xanProxy.unlockedBalanceOf (_defaultSender);
8282 assertEq (unlocked, 0 );
@@ -91,8 +91,9 @@ contract XanV1UnitTest is Test {
9191 }
9292
9393 function test_transfer_transfers_tokens () public {
94- assertEq (_xanProxy.balanceOf (_defaultSender), Parameters.SUPPLY);
95- assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), Parameters.SUPPLY);
94+ uint256 supply = _xanProxy.totalSupply ();
95+ assertEq (_xanProxy.balanceOf (_defaultSender), supply);
96+ assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), supply);
9697 assertEq (_xanProxy.lockedBalanceOf (_defaultSender), 0 );
9798
9899 assertEq (_xanProxy.balanceOf (_RECEIVER), 0 );
@@ -102,8 +103,8 @@ contract XanV1UnitTest is Test {
102103 vm.prank (_defaultSender);
103104 _xanProxy.transfer ({to: _RECEIVER, value: 1 });
104105
105- assertEq (_xanProxy.balanceOf (_defaultSender), Parameters.SUPPLY - 1 );
106- assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), Parameters.SUPPLY - 1 );
106+ assertEq (_xanProxy.balanceOf (_defaultSender), supply - 1 );
107+ assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), supply - 1 );
107108 assertEq (_xanProxy.lockedBalanceOf (_defaultSender), 0 );
108109
109110 assertEq (_xanProxy.balanceOf (_RECEIVER), 1 );
@@ -121,7 +122,7 @@ contract XanV1UnitTest is Test {
121122
122123 function test_transferAndLock_reverts_on_insufficient_unlocked_tokens () public {
123124 vm.startPrank (_defaultSender);
124- _xanProxy.lock (Parameters.SUPPLY );
125+ _xanProxy.lock (_xanProxy. totalSupply () );
125126
126127 uint256 unlocked = _xanProxy.unlockedBalanceOf (_defaultSender);
127128 assertEq (unlocked, 0 );
@@ -136,8 +137,10 @@ contract XanV1UnitTest is Test {
136137 }
137138
138139 function test_transfer_transfers_and_locks_tokens () public {
139- assertEq (_xanProxy.balanceOf (_defaultSender), Parameters.SUPPLY);
140- assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), Parameters.SUPPLY);
140+ uint256 supply = _xanProxy.totalSupply ();
141+
142+ assertEq (_xanProxy.balanceOf (_defaultSender), supply);
143+ assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), supply);
141144 assertEq (_xanProxy.lockedBalanceOf (_defaultSender), 0 );
142145
143146 assertEq (_xanProxy.balanceOf (_RECEIVER), 0 );
@@ -147,8 +150,8 @@ contract XanV1UnitTest is Test {
147150 vm.prank (_defaultSender);
148151 _xanProxy.transferAndLock ({to: _RECEIVER, value: 1 });
149152
150- assertEq (_xanProxy.balanceOf (_defaultSender), Parameters.SUPPLY - 1 );
151- assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), Parameters.SUPPLY - 1 );
153+ assertEq (_xanProxy.balanceOf (_defaultSender), supply - 1 );
154+ assertEq (_xanProxy.unlockedBalanceOf (_defaultSender), supply - 1 );
152155 assertEq (_xanProxy.lockedBalanceOf (_defaultSender), 0 );
153156
154157 assertEq (_xanProxy.balanceOf (_RECEIVER), 1 );
@@ -179,7 +182,7 @@ contract XanV1UnitTest is Test {
179182 }
180183
181184 function test_castVote_emits_the_VoteCast_event () public {
182- uint256 valueToLock = Parameters.SUPPLY / 3 ;
185+ uint256 valueToLock = _xanProxy. totalSupply () / 3 ;
183186
184187 vm.startPrank (_defaultSender);
185188 _xanProxy.lock (valueToLock);
@@ -224,7 +227,7 @@ contract XanV1UnitTest is Test {
224227 }
225228
226229 function test_castVote_reverts_if_the_votum_has_already_been_casted () public {
227- uint256 valueToLock = Parameters.SUPPLY / 3 ;
230+ uint256 valueToLock = _xanProxy. totalSupply () / 3 ;
228231
229232 vm.startPrank (_defaultSender);
230233 _xanProxy.lock (valueToLock);
@@ -248,8 +251,8 @@ contract XanV1UnitTest is Test {
248251 }
249252
250253 function test_castVote_increases_votes_if_more_tokens_have_been_locked () public {
251- uint256 firstLockValue = Parameters.SUPPLY / 3 ;
252- uint256 secondLockValue = Parameters.SUPPLY - firstLockValue;
254+ uint256 firstLockValue = _xanProxy. totalSupply () / 3 ;
255+ uint256 secondLockValue = _xanProxy. totalSupply () - firstLockValue;
253256
254257 vm.startPrank (_defaultSender);
255258
@@ -265,8 +268,8 @@ contract XanV1UnitTest is Test {
265268 }
266269
267270 function test_castVote_sets_the_votes_of_the_caller_to_the_locked_balance () public {
268- uint256 firstLockValue = Parameters.SUPPLY / 3 ;
269- uint256 secondLockValue = Parameters.SUPPLY - firstLockValue;
271+ uint256 firstLockValue = _xanProxy. totalSupply () / 3 ;
272+ uint256 secondLockValue = _xanProxy. totalSupply () - firstLockValue;
270273
271274 vm.startPrank (_defaultSender);
272275 assertEq (_xanProxy.votum (_IMPL), 0 );
@@ -284,7 +287,7 @@ contract XanV1UnitTest is Test {
284287 }
285288
286289 function test_revokeVote_emits_the_VoteRevoked_event () public {
287- uint256 valueToLock = Parameters.SUPPLY / 2 ;
290+ uint256 valueToLock = _xanProxy. totalSupply () / 2 ;
288291
289292 vm.startPrank (_defaultSender);
290293 _xanProxy.lock (valueToLock);
@@ -299,18 +302,18 @@ contract XanV1UnitTest is Test {
299302
300303 function test_revokeVote_sets_the_votes_of_the_caller_to_zero () public {
301304 vm.startPrank (_defaultSender);
302- _xanProxy.lock (Parameters.SUPPLY );
305+ _xanProxy.lock (_xanProxy. totalSupply () );
303306 _xanProxy.castVote (_IMPL);
304- assertEq (_xanProxy.votum (_IMPL), Parameters.SUPPLY );
307+ assertEq (_xanProxy.votum (_IMPL), _xanProxy. totalSupply () );
305308
306309 _xanProxy.revokeVote (_IMPL);
307310 assertEq (_xanProxy.votum (_IMPL), 0 );
308311 vm.stopPrank ();
309312 }
310313
311314 function test_revokeVote_subtracts_the_old_votum_from_the_total_votes () public {
312- uint256 votesReceiver = Parameters.SUPPLY / 3 ;
313- uint256 votesDefaultSender = Parameters.SUPPLY - votesReceiver;
315+ uint256 votesReceiver = _xanProxy. totalSupply () / 3 ;
316+ uint256 votesDefaultSender = _xanProxy. totalSupply () - votesReceiver;
314317
315318 // Send tokens to `_RECEIVER` from `_defaultSender` lock them.
316319 vm.startPrank (_defaultSender);
@@ -365,7 +368,7 @@ contract XanV1UnitTest is Test {
365368
366369 function test_startUpgradeDelay_emits_the_DelayStarted_event () public {
367370 vm.startPrank (_defaultSender);
368- _xanProxy.lock (Parameters.SUPPLY );
371+ _xanProxy.lock (_xanProxy. totalSupply () );
369372 _xanProxy.castVote (_IMPL);
370373 vm.stopPrank ();
371374
@@ -390,7 +393,7 @@ contract XanV1UnitTest is Test {
390393
391394 function test_startUpgradeDelay_reverts_if_quorum_is_not_met () public {
392395 uint256 quorumThreshold =
393- (Parameters.SUPPLY * Parameters.QUORUM_RATIO_NUMERATOR) / Parameters.QUORUM_RATIO_DENOMINATOR;
396+ (_xanProxy. totalSupply () * Parameters.QUORUM_RATIO_NUMERATOR) / Parameters.QUORUM_RATIO_DENOMINATOR;
394397
395398 vm.startPrank (_defaultSender);
396399 // Lock first half.
@@ -566,7 +569,7 @@ contract XanV1UnitTest is Test {
566569 vm.startPrank (_defaultSender);
567570
568571 uint256 quorumThreshold =
569- (Parameters.SUPPLY * Parameters.QUORUM_RATIO_NUMERATOR) / Parameters.QUORUM_RATIO_DENOMINATOR;
572+ (_xanProxy. totalSupply () * Parameters.QUORUM_RATIO_NUMERATOR) / Parameters.QUORUM_RATIO_DENOMINATOR;
570573
571574 // Meet the quorum threshold with one excess vote.
572575 _xanProxy.lock (quorumThreshold + 1 );
@@ -590,7 +593,7 @@ contract XanV1UnitTest is Test {
590593 }
591594
592595 function test_lockedBalanceOf_returns_the_locked_balance () public {
593- uint256 valueToLock = Parameters.SUPPLY / 3 ;
596+ uint256 valueToLock = _xanProxy. totalSupply () / 3 ;
594597
595598 vm.prank (_defaultSender);
596599 _xanProxy.lock (valueToLock);
@@ -599,8 +602,8 @@ contract XanV1UnitTest is Test {
599602 }
600603
601604 function test_unlockedBalanceOf_returns_the_unlocked_balance () public {
602- uint256 valueToLock = Parameters.SUPPLY / 3 ;
603- uint256 expectedUnlockedValue = Parameters.SUPPLY - valueToLock;
605+ uint256 valueToLock = _xanProxy. totalSupply () / 3 ;
606+ uint256 expectedUnlockedValue = _xanProxy. totalSupply () - valueToLock;
604607
605608 vm.prank (_defaultSender);
606609 _xanProxy.lock (valueToLock);
@@ -609,7 +612,7 @@ contract XanV1UnitTest is Test {
609612 }
610613
611614 function test_lockedSupply_returns_the_locked_supply () public {
612- uint256 valueToLock = Parameters.SUPPLY / 3 ;
615+ uint256 valueToLock = _xanProxy. totalSupply () / 3 ;
613616
614617 vm.startPrank (_defaultSender);
615618
@@ -623,6 +626,13 @@ contract XanV1UnitTest is Test {
623626 assertEq (_xanProxy.lockedSupply (), 3 * valueToLock);
624627 }
625628
629+ function test_initialize_mints_1_billion_tokens () public view {
630+ uint256 expectedSupply = 10 ** 9 * (10 ** _xanProxy.decimals ());
631+
632+ assertEq (Parameters.SUPPLY, expectedSupply);
633+ assertEq (_xanProxy.totalSupply (), expectedSupply);
634+ }
635+
626636 function testFuzz_lockedBalanceOf_and_unlockedBalanceOf_sum_to_balanceOf (address owner ) public view {
627637 assertEq (_xanProxy.lockedBalanceOf (owner) + _xanProxy.unlockedBalanceOf (owner), _xanProxy.balanceOf (owner));
628638 }
0 commit comments