From 266c5dcf6921b93fffbc56b8aace7dcccb2ce658 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Thu, 4 Jul 2024 09:29:37 +0800 Subject: [PATCH] more --- .../protocol/test/L1/TaikoL1TestGroup1.t.sol | 42 +++++-------- .../protocol/test/L1/TaikoL1TestGroup10.t.sol | 2 +- .../protocol/test/L1/TaikoL1TestGroup2.t.sol | 51 +++++----------- .../protocol/test/L1/TaikoL1TestGroup3.t.sol | 59 ++++++------------- .../protocol/test/L1/TaikoL1TestGroup4.t.sol | 16 ++--- .../protocol/test/L1/TaikoL1TestGroup5.t.sol | 39 +++++------- .../protocol/test/L1/TaikoL1TestGroup6.t.sol | 15 ++--- .../protocol/test/L1/TaikoL1TestGroup9.t.sol | 47 ++++++--------- .../protocol/test/L1/TaikoL1TestGroupBase.sol | 4 ++ 9 files changed, 94 insertions(+), 181 deletions(-) diff --git a/packages/protocol/test/L1/TaikoL1TestGroup1.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup1.t.sol index 98709022b4..6f36f4a4d4 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup1.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup1.t.sol @@ -33,7 +33,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { proposedAt = blk.proposedAt; - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); } // Prove the block @@ -79,9 +79,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { provenAt = ts.timestamp; - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); } console2.log("====== Verify block"); @@ -105,7 +103,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { assertEq(ts.validityBond, tierOp.validityBond); assertEq(ts.timestamp, provenAt); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); } } @@ -139,7 +137,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { proposedAt = blk.proposedAt; - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); } // Prove the block @@ -173,9 +171,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { provenAt = ts.timestamp; - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.validityBond); } console2.log("====== Verify block"); @@ -199,8 +195,8 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { assertEq(ts.validityBond, tierOp.validityBond); assertEq(ts.timestamp, provenAt); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq(tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether); } } @@ -250,10 +246,8 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { assertEq(ts.prover, Taylor); assertEq(ts.validityBond, tierOp.validityBond); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether); } } @@ -303,9 +297,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { assertEq(ts.prover, Alice); assertEq(ts.validityBond, tierOp.validityBond); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.validityBond); } } @@ -356,10 +348,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { assertEq(ts.prover, Taylor); assertEq(ts.validityBond, tierOp.validityBond); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), - 10_000 ether - L1.getConfig().livenessBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - L1.getConfig().livenessBond); } } // Test summary: @@ -393,7 +382,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { proposedAt = blk.proposedAt; - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); } // Prove the block @@ -428,8 +417,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { provenAt = ts.timestamp; assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), - 10_000 ether - tierOp.validityBond - livenessBond + totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond - livenessBond ); } @@ -454,7 +442,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { assertEq(ts.validityBond, tierOp.validityBond); assertEq(ts.timestamp, provenAt); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); } } @@ -483,7 +471,7 @@ contract TaikoL1TestGroup1 is TaikoL1TestGroupBase { proposedAt = blk.proposedAt; - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup10.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup10.t.sol index a756bb556d..d146bbae97 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup10.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup10.t.sol @@ -39,7 +39,7 @@ contract TaikoL10TestGroup1 is TaikoL1TestGroupBase { (, TaikoData.SlotB memory b) = L1.getStateVariables(); assertEq(b.lastVerifiedBlockId, 5); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup2.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup2.t.sol index 7df525d7ae..bbadc22c78 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup2.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup2.t.sol @@ -55,12 +55,8 @@ contract TaikoL1TestGroup2 is TaikoL1TestGroupBase { assertEq(ts.prover, Alice); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); } console2.log("====== William proves Alice is right"); @@ -84,12 +80,10 @@ contract TaikoL1TestGroup2 is TaikoL1TestGroupBase { assertEq(ts.prover, William); assertEq(ts.timestamp, block.timestamp); // not zero - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), + totalTkoBalance(tko, L1, William), 10_000 ether - tierSgx.validityBond + tierOp.contestBond * 7 / 8 ); } @@ -112,10 +106,7 @@ contract TaikoL1TestGroup2 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_SGX); assertEq(ts.prover, William); - assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), - 10_000 ether + tierOp.contestBond * 7 / 8 - ); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether + tierOp.contestBond * 7 / 8); } } @@ -170,12 +161,8 @@ contract TaikoL1TestGroup2 is TaikoL1TestGroupBase { assertEq(ts.prover, Alice); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); } console2.log("====== William proves Tayler is right"); @@ -199,16 +186,12 @@ contract TaikoL1TestGroup2 is TaikoL1TestGroupBase { assertEq(ts.prover, William); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); uint256 quarterReward = tierOp.validityBond * 7 / 8 / 4; + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether + quarterReward * 3); assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether + quarterReward * 3 - ); - assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), + totalTkoBalance(tko, L1, William), 10_000 ether - tierSgx.validityBond + quarterReward ); } @@ -232,17 +215,11 @@ contract TaikoL1TestGroup2 is TaikoL1TestGroupBase { assertEq(ts.validityBond, tierSgx.validityBond); assertEq(ts.prover, William); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); uint256 quarterReward = tierOp.validityBond * 7 / 8 / 4; - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether + quarterReward * 3 - ); - assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether + quarterReward - ); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether + quarterReward * 3); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether + quarterReward); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup3.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup3.t.sol index 49eee32370..d0e59155d6 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup3.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup3.t.sol @@ -58,13 +58,9 @@ contract TaikoL1TestGroup3 is TaikoL1TestGroupBase { assertEq(ts.prover, James); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq( - tko.balanceOf(James) + L1.bondBalanceOf(James), 10_000 ether - tierOp.validityBond - ); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, James), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); } console2.log("====== William proves James is right"); @@ -88,12 +84,10 @@ contract TaikoL1TestGroup3 is TaikoL1TestGroupBase { assertEq(ts.prover, William); assertEq(ts.timestamp, block.timestamp); // not zero - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), + totalTkoBalance(tko, L1, William), 10_000 ether - tierSgx.validityBond + tierOp.contestBond * 7 / 8 ); } @@ -116,10 +110,7 @@ contract TaikoL1TestGroup3 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_SGX); assertEq(ts.prover, William); - assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), - 10_000 ether + tierOp.contestBond * 7 / 8 - ); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether + tierOp.contestBond * 7 / 8); } } @@ -177,13 +168,9 @@ contract TaikoL1TestGroup3 is TaikoL1TestGroupBase { assertEq(ts.prover, James); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq( - tko.balanceOf(James) + L1.bondBalanceOf(James), 10_000 ether - tierOp.validityBond - ); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, James), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); } console2.log("====== William proves Tayler is right"); @@ -207,17 +194,13 @@ contract TaikoL1TestGroup3 is TaikoL1TestGroupBase { assertEq(ts.prover, William); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq( - tko.balanceOf(James) + L1.bondBalanceOf(James), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, James), 10_000 ether - tierOp.validityBond); uint256 quarterReward = tierOp.validityBond * 7 / 8 / 4; + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether + quarterReward * 3); assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether + quarterReward * 3 - ); - assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), + totalTkoBalance(tko, L1, William), 10_000 ether - tierSgx.validityBond + quarterReward ); } @@ -241,18 +224,12 @@ contract TaikoL1TestGroup3 is TaikoL1TestGroupBase { assertEq(ts.validityBond, tierSgx.validityBond); assertEq(ts.prover, William); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); uint256 quarterReward = tierOp.validityBond * 7 / 8 / 4; - assertEq( - tko.balanceOf(James) + L1.bondBalanceOf(James), 10_000 ether - tierOp.validityBond - ); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether + quarterReward * 3 - ); - assertEq( - tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether + quarterReward - ); + assertEq(totalTkoBalance(tko, L1, James), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether + quarterReward * 3); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether + quarterReward); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup4.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup4.t.sol index b0c44577f2..f0a4892f66 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup4.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup4.t.sol @@ -53,9 +53,7 @@ contract TaikoL1TestGroup4 is TaikoL1TestGroupBase { assertEq(ts.prover, Taylor); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); assertEq( tko.balanceOf(Taylor), 10_000 ether - tierSgx.validityBond + tierOp.validityBond * 7 / 8 @@ -80,10 +78,7 @@ contract TaikoL1TestGroup4 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_SGX); assertEq(ts.prover, Taylor); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), - 10_000 ether + tierOp.validityBond * 7 / 8 - ); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether + tierOp.validityBond * 7 / 8); } } @@ -139,7 +134,7 @@ contract TaikoL1TestGroup4 is TaikoL1TestGroupBase { assertEq(ts.prover, Taylor); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); assertEq(tko.balanceOf(David), 10_000 ether - tierOp.validityBond); assertEq( tko.balanceOf(Taylor), @@ -165,10 +160,7 @@ contract TaikoL1TestGroup4 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_SGX); assertEq(ts.prover, Taylor); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), - 10_000 ether + tierOp.validityBond * 7 / 8 - ); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether + tierOp.validityBond * 7 / 8); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup5.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup5.t.sol index d5841c4ad1..df449095b8 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup5.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup5.t.sol @@ -45,8 +45,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== Guardian re-approve with the same transition"); @@ -84,8 +84,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== William contests with a lower tier proof"); @@ -118,8 +118,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_GUARDIAN); assertEq(ts.prover, address(gp)); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } @@ -183,10 +183,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== Verify the block"); @@ -207,10 +205,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_GUARDIAN); assertEq(ts.prover, address(gp)); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } @@ -277,9 +273,9 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); assertEq(tko.balanceOf(David), 10_000 ether - tierOp.validityBond); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== Verify the block"); @@ -300,9 +296,9 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_GUARDIAN); assertEq(ts.prover, address(gp)); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); assertEq(tko.balanceOf(David), 10_000 ether - tierOp.validityBond); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } @@ -344,11 +340,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), - 10_000 ether - L1.getConfig().livenessBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - L1.getConfig().livenessBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup6.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup6.t.sol index 2e05666616..ce36eb7e92 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup6.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup6.t.sol @@ -56,11 +56,9 @@ contract TaikoL1TestGroup6 is TaikoL1TestGroupBase { assertEq(ts.prover, Alice); assertEq(ts.timestamp, block.timestamp); // not zero + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), + totalTkoBalance(tko, L1, Alice), 10_000 ether - tierSgx.validityBond + tierOp.contestBond * 7 / 8 ); } @@ -83,13 +81,8 @@ contract TaikoL1TestGroup6 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_SGX); assertEq(ts.prover, Alice); - assertEq( - tko.balanceOf(Taylor) + L1.bondBalanceOf(Taylor), 10_000 ether - tierOp.contestBond - ); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), - 10_000 ether + tierOp.contestBond * 7 / 8 - ); + assertEq(totalTkoBalance(tko, L1, Taylor), 10_000 ether - tierOp.contestBond); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether + tierOp.contestBond * 7 / 8); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroup9.t.sol b/packages/protocol/test/L1/TaikoL1TestGroup9.t.sol index a599d74ba8..16bd04a3f5 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroup9.t.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroup9.t.sol @@ -67,8 +67,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== Guardian re-approve with the same transition"); @@ -107,8 +107,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== William contests with a lower tier proof"); @@ -142,8 +142,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_GUARDIAN); assertEq(ts.prover, address(gp)); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } @@ -208,10 +208,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== Verify the block"); @@ -233,10 +231,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_GUARDIAN); assertEq(ts.prover, address(gp)); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } @@ -304,11 +300,9 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq( - tko.balanceOf(Carol) + L1.bondBalanceOf(Carol), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Carol), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } console2.log("====== Verify the block"); @@ -330,11 +324,9 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.tier, LibTiers.TIER_GUARDIAN); assertEq(ts.prover, address(gp)); - assertEq(tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), 10_000 ether - livenessBond); - assertEq( - tko.balanceOf(Carol) + L1.bondBalanceOf(Carol), 10_000 ether - tierOp.validityBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - livenessBond); + assertEq(totalTkoBalance(tko, L1, Carol), 10_000 ether - tierOp.validityBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } @@ -377,11 +369,8 @@ contract TaikoL1TestGroup5 is TaikoL1TestGroupBase { assertEq(ts.prover, address(gp)); assertEq(ts.timestamp, block.timestamp); - assertEq( - tko.balanceOf(Alice) + L1.bondBalanceOf(Alice), - 10_000 ether - L1.getConfig().livenessBond - ); - assertEq(tko.balanceOf(William) + L1.bondBalanceOf(William), 10_000 ether); + assertEq(totalTkoBalance(tko, L1, Alice), 10_000 ether - L1.getConfig().livenessBond); + assertEq(totalTkoBalance(tko, L1, William), 10_000 ether); } } } diff --git a/packages/protocol/test/L1/TaikoL1TestGroupBase.sol b/packages/protocol/test/L1/TaikoL1TestGroupBase.sol index a57dbebec3..f79507b6d1 100644 --- a/packages/protocol/test/L1/TaikoL1TestGroupBase.sol +++ b/packages/protocol/test/L1/TaikoL1TestGroupBase.sol @@ -129,6 +129,10 @@ abstract contract TaikoL1TestGroupBase is TaikoL1TestBase { } } + function totalTkoBalance(TaikoToken tko, TaikoL1 L1, address user) internal returns (uint256) { + return tko.balanceOf(user) + L1.bondBalanceOf(user); + } + function printBlock(TaikoData.Block memory blk) internal view { (, TaikoData.SlotB memory b) = L1.getStateVariables(); console2.log("---CHAIN:");