Skip to content

Commit 9de5def

Browse files
authored
fix(contracts): remove unstaking claim check (#191)
1 parent 64c1677 commit 9de5def

File tree

5 files changed

+236
-89
lines changed

5 files changed

+236
-89
lines changed

contracts/.gas-snapshot

Lines changed: 65 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ SuccinctStakingCancelSlashTests:test_CancelSlash_WhenExactBoundaryTiming() (gas:
1010
SuccinctStakingCancelSlashTests:test_CancelSlash_WhenGovernanceCanFinishImmediately() (gas: 240295)
1111
SuccinctStakingCancelSlashTests:test_CancelSlash_WhenMultipleSlashesCanBeCancelledIndependently() (gas: 218874)
1212
SuccinctStakingCancelSlashTests:test_CancelSlash_WhenNonOwnerCancelsAfterDeadline() (gas: 138154)
13-
SuccinctStakingCancelSlashTests:test_CancelSlash_WhenStakersCanUnstakeAfterCancellation() (gas: 381599)
13+
SuccinctStakingCancelSlashTests:test_CancelSlash_WhenStakersCanUnstakeAfterCancellation() (gas: 363049)
1414
SuccinctStakingCancelSlashTests:test_RevertCancelSlash_WhenAlreadyResolved() (gas: 137407)
1515
SuccinctStakingCancelSlashTests:test_RevertCancelSlash_WhenNonOwnerCancelsEarly() (gas: 132940)
1616
SuccinctStakingDispenseTests:test_Dispense_WhenConsecutiveWithWaiting() (gas: 580194)
@@ -30,76 +30,76 @@ SuccinctStakingDispenseTests:test_Dispense_WhenRateIsZero() (gas: 133785)
3030
SuccinctStakingDispenseTests:test_Dispense_WhenRateLimit() (gas: 510282)
3131
SuccinctStakingDispenseTests:test_Dispense_WhenReentrancyProtection() (gas: 172061)
3232
SuccinctStakingDispenseTests:test_Dispense_WhenTotalEarnedEqualsDispensedPlusAvailable() (gas: 295244)
33-
SuccinctStakingDispenseTests:test_Dispense_WhenValid() (gas: 600717)
33+
SuccinctStakingDispenseTests:test_Dispense_WhenValid() (gas: 582168)
3434
SuccinctStakingDispenseTests:test_Dispense_WhenVeryLargeTimePeriod() (gas: 576052)
3535
SuccinctStakingDispenseTests:test_RevertDispense_WhenNotEnoughPROVE() (gas: 56900)
3636
SuccinctStakingDispenseTests:test_Revert_WhenSetDispenseRate_WhenNotDispenser() (gas: 13531)
3737
SuccinctStakingDispenseTests:test_Revert_WhenSetDispenser_WhenNotOwner() (gas: 15778)
3838
SuccinctStakingDispenseTests:test_SetDispenseRate_WhenValid() (gas: 37299)
3939
SuccinctStakingDispenseTests:test_SetDispenser_WhenValid() (gas: 22253)
4040
SuccinctStakingFulfillmentTests:test_RevertReward_WhenProverNotFound() (gas: 12788)
41-
SuccinctStakingFulfillmentTests:test_Reward_WhenPartialUnstake() (gas: 925207)
42-
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersOneProverRewardDistributedAfterBothStake() (gas: 1078990)
43-
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersOneProverRewardOnlyDistributedAfterFirstStake() (gas: 1097512)
44-
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersTwoProversBothRewarded() (gas: 1328072)
45-
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersTwoProversOneRewarded() (gas: 1206980)
46-
SuccinctStakingFulfillmentTests:test_Reward_WhenUnstaked() (gas: 774650)
41+
SuccinctStakingFulfillmentTests:test_Reward_WhenPartialUnstake() (gas: 889788)
42+
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersOneProverRewardDistributedAfterBothStake() (gas: 1041891)
43+
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersOneProverRewardOnlyDistributedAfterFirstStake() (gas: 1060412)
44+
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersTwoProversBothRewarded() (gas: 1290973)
45+
SuccinctStakingFulfillmentTests:test_Reward_WhenTwoStakersTwoProversOneRewarded() (gas: 1169880)
46+
SuccinctStakingFulfillmentTests:test_Reward_WhenUnstaked() (gas: 756100)
4747
SuccinctStakingFulfillmentTests:test_Reward_WhenValid() (gas: 590301)
4848
SuccinctStakingInitalizationTests:test_RevertInitialize_WhenAlreadyInitialized() (gas: 27195)
49-
SuccinctStakingInitalizationTests:test_RevertInitialize_WhenNotOwner() (gas: 4660821)
49+
SuccinctStakingInitalizationTests:test_RevertInitialize_WhenNotOwner() (gas: 4618694)
5050
SuccinctStakingMiscellaneousTests:test_Misc_BelowMinimumStake() (gas: 145046)
51-
SuccinctStakingMiscellaneousTests:test_Misc_CannotAvoidSlashingByUnstaking() (gas: 782336)
51+
SuccinctStakingMiscellaneousTests:test_Misc_CannotAvoidSlashingByUnstaking() (gas: 763787)
5252
SuccinctStakingMiscellaneousTests:test_Misc_CannotSwitchProvers() (gas: 459678)
53-
SuccinctStakingMiscellaneousTests:test_Misc_ConcurrentOperations() (gas: 1195461)
53+
SuccinctStakingMiscellaneousTests:test_Misc_ConcurrentOperations() (gas: 1158362)
5454
SuccinctStakingMiscellaneousTests:test_Misc_DispenseOneWei() (gas: 160184)
5555
SuccinctStakingMiscellaneousTests:test_Misc_DispenseOverflow() (gas: 160045)
5656
SuccinctStakingMiscellaneousTests:test_Misc_DispenseZeroTime() (gas: 163513)
57-
SuccinctStakingMiscellaneousTests:test_Misc_DustAmountsCanBeUnstaked() (gas: 766259)
58-
SuccinctStakingMiscellaneousTests:test_Misc_ExactMinimumStake() (gas: 611532)
59-
SuccinctStakingMiscellaneousTests:test_Misc_ExactTimingBoundaries() (gas: 517554)
57+
SuccinctStakingMiscellaneousTests:test_Misc_DustAmountsCanBeUnstaked() (gas: 730840)
58+
SuccinctStakingMiscellaneousTests:test_Misc_ExactMinimumStake() (gas: 592982)
59+
SuccinctStakingMiscellaneousTests:test_Misc_ExactTimingBoundaries() (gas: 499004)
6060
SuccinctStakingMiscellaneousTests:test_Misc_ExchangeRateManipulation() (gas: 722604)
6161
SuccinctStakingMiscellaneousTests:test_Misc_FinishUnstakeNoClaims() (gas: 369919)
6262
SuccinctStakingMiscellaneousTests:test_Misc_FrontrunningRewardDistribution() (gas: 614396)
6363
SuccinctStakingMiscellaneousTests:test_Misc_MaxUint256Operations() (gas: 390861)
64-
SuccinctStakingMiscellaneousTests:test_Misc_MaximumStakeValues() (gas: 610972)
65-
SuccinctStakingMiscellaneousTests:test_Misc_MultiplePartialUnstakesExceedBalance() (gas: 573809)
66-
SuccinctStakingMiscellaneousTests:test_Misc_MultipleUnstakeRequestsCannotDrainFunds() (gas: 526974)
64+
SuccinctStakingMiscellaneousTests:test_Misc_MaximumStakeValues() (gas: 592423)
65+
SuccinctStakingMiscellaneousTests:test_Misc_MultiplePartialUnstakesExceedBalance() (gas: 550303)
66+
SuccinctStakingMiscellaneousTests:test_Misc_MultipleUnstakeRequestsCannotDrainFunds() (gas: 507598)
6767
SuccinctStakingMiscellaneousTests:test_Misc_NonOwnerCannotSlash() (gas: 469677)
6868
SuccinctStakingMiscellaneousTests:test_Misc_PermitExpiredDeadline() (gas: 34217)
69-
SuccinctStakingMiscellaneousTests:test_Misc_RestakeAfterFullUnstake() (gas: 867852)
69+
SuccinctStakingMiscellaneousTests:test_Misc_RestakeAfterFullUnstake() (gas: 849302)
7070
SuccinctStakingMiscellaneousTests:test_Misc_RewardAndSlashSameBlock() (gas: 619246)
71-
SuccinctStakingMiscellaneousTests:test_Misc_RoundingErrorsDoNotAccumulate() (gas: 3847582)
71+
SuccinctStakingMiscellaneousTests:test_Misc_RoundingErrorsDoNotAccumulate() (gas: 3677206)
7272
SuccinctStakingMiscellaneousTests:test_Misc_SlashExactTimingBoundary() (gas: 548832)
7373
SuccinctStakingMiscellaneousTests:test_Misc_SlashInvalidIndex() (gas: 472039)
74-
SuccinctStakingMiscellaneousTests:test_Misc_UnstakeMoreThanBalance() (gas: 372775)
75-
SuccinctStakingMiscellaneousTests:test_Misc_UnstakeQueueDoS() (gas: 4940685)
74+
SuccinctStakingMiscellaneousTests:test_Misc_UnstakeMoreThanBalance() (gas: 372440)
75+
SuccinctStakingMiscellaneousTests:test_Misc_UnstakeQueueDoS() (gas: 4755189)
7676
SuccinctStakingMiscellaneousTests:test_Misc_VaultReturnsZero() (gas: 457157)
7777
SuccinctStakingMiscellaneousTests:test_Misc_ZeroProverAddress() (gas: 19892)
7878
SuccinctStakingRegistryTests:test_CreateProver_WhenValid() (gas: 1645914)
7979
SuccinctStakingRegistryTests:test_RevertCreateProver_WhenAlreadyCreated() (gas: 1640377)
8080
SuccinctStakingSetupTests:test_SetUp() (gas: 127994)
8181
SuccinctStakingSlashTests:test_RevertSlash_WhenProverNotFound() (gas: 413960)
82-
SuccinctStakingSlashTests:test_Slash_Events() (gas: 848568)
82+
SuccinctStakingSlashTests:test_Slash_Events() (gas: 826095)
8383
SuccinctStakingSlashTests:test_Slash_Events_WhenDeactivated() (gas: 582573)
84-
SuccinctStakingSlashTests:test_Slash_WhenCancelled() (gas: 663676)
85-
SuccinctStakingSlashTests:test_Slash_WhenCumulativeSlashAmountExceedsBalance() (gas: 714366)
86-
SuccinctStakingSlashTests:test_Slash_WhenDispenseAfterFullSlash() (gas: 701849)
87-
SuccinctStakingSlashTests:test_Slash_WhenDispenseBeforeFullSlash() (gas: 686042)
88-
SuccinctStakingSlashTests:test_Slash_WhenFactorZeroResetWithDeactivation() (gas: 670841)
89-
SuccinctStakingSlashTests:test_Slash_WhenFullAmount() (gas: 664051)
84+
SuccinctStakingSlashTests:test_Slash_WhenCancelled() (gas: 645126)
85+
SuccinctStakingSlashTests:test_Slash_WhenCumulativeSlashAmountExceedsBalance() (gas: 695814)
86+
SuccinctStakingSlashTests:test_Slash_WhenDispenseAfterFullSlash() (gas: 683297)
87+
SuccinctStakingSlashTests:test_Slash_WhenDispenseBeforeFullSlash() (gas: 667490)
88+
SuccinctStakingSlashTests:test_Slash_WhenFactorZeroResetWithDeactivation() (gas: 652289)
89+
SuccinctStakingSlashTests:test_Slash_WhenFullAmount() (gas: 645499)
9090
SuccinctStakingSlashTests:test_Slash_WhenFullSlashDeactivatesProver() (gas: 498582)
91-
SuccinctStakingSlashTests:test_Slash_WhenMultipleSlashesBeforeUnstakeFinish() (gas: 907042)
92-
SuccinctStakingSlashTests:test_Slash_WhenPartialAmount() (gas: 708119)
91+
SuccinctStakingSlashTests:test_Slash_WhenMultipleSlashesBeforeUnstakeFinish() (gas: 888492)
92+
SuccinctStakingSlashTests:test_Slash_WhenPartialAmount() (gas: 689569)
9393
SuccinctStakingSlashTests:test_Slash_WhenPartialSlashEventuallyDeactivates() (gas: 779779)
9494
SuccinctStakingSlashTests:test_Slash_WhenRequestingWhenProverHasNoStake() (gas: 143769)
9595
SuccinctStakingSlashTests:test_Slash_WhenRewardAfterFullSlash() (gas: 606196)
96-
SuccinctStakingSlashTests:test_Slash_WhenSingleSlashAmountExceedsBalance() (gas: 650621)
97-
SuccinctStakingSlashTests:test_Slash_WhenSlashExceedsVaultButNotTotal() (gas: 794744)
96+
SuccinctStakingSlashTests:test_Slash_WhenSingleSlashAmountExceedsBalance() (gas: 632069)
97+
SuccinctStakingSlashTests:test_Slash_WhenSlashExceedsVaultButNotTotal() (gas: 776194)
9898
SuccinctStakingSlashTests:test_Slash_WhenStakeBlockedAfterDeactivation() (gas: 530040)
99-
SuccinctStakingSlashTests:test_Slash_WhenTwoProversDispenseAfterOneFullSlash() (gas: 1122365)
100-
SuccinctStakingSlashTests:test_Slash_WhenTwoStakersDispenseBeforeFullSlash() (gas: 942383)
101-
SuccinctStakingSlashTests:test_Slash_WhenTwoStakersFullSlash() (gas: 906371)
102-
SuccinctStakingSlashTests:test_Slash_WhenVaultDrainedToZero() (gas: 658397)
99+
SuccinctStakingSlashTests:test_Slash_WhenTwoProversDispenseAfterOneFullSlash() (gas: 1085264)
100+
SuccinctStakingSlashTests:test_Slash_WhenTwoStakersDispenseBeforeFullSlash() (gas: 905279)
101+
SuccinctStakingSlashTests:test_Slash_WhenTwoStakersFullSlash() (gas: 869267)
102+
SuccinctStakingSlashTests:test_Slash_WhenVaultDrainedToZero() (gas: 639848)
103103
SuccinctStakingStakeTests:test_PermitAndStake_WhenAttackerFrontruns() (gas: 402373)
104104
SuccinctStakingStakeTests:test_PermitAndStake_WhenLessThanApproved() (gas: 419932)
105105
SuccinctStakingStakeTests:test_PermitAndStake_WhenValid() (gas: 415464)
@@ -125,34 +125,35 @@ SuccinctStakingTransferTests:test_RevertTransfer_WhenstPROVE() (gas: 371298)
125125
SuccinctStakingTransferTests:test_RevertWithdraw_WhenDirectiPROVEFromProver() (gas: 379037)
126126
SuccinctStakingTransferTests:test_RevertWithdraw_WhenDirectiPROVEFromStaker() (gas: 387776)
127127
SuccinctStakingTransferTests:test_Transfer_WhenProve() (gas: 23892)
128-
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenAmountExceedsBalance() (gas: 410902)
129-
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenFinishUnstakeWhileProverHasSlashRequest() (gas: 606212)
130-
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenRequestUnstakeWhileProverHasSlashRequest() (gas: 505315)
131-
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenTooManyUnstakeRequests() (gas: 1706700)
132-
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenZeroAmount() (gas: 401000)
133-
SuccinctStakingUnstakeTests:test_Unstake_WhenEarlyAttempt() (gas: 551848)
134-
SuccinctStakingUnstakeTests:test_Unstake_WhenManySmallStakesUnstakes() (gas: 1299200)
135-
SuccinctStakingUnstakeTests:test_Unstake_WhenManySmallStakesUnstakesTimeBetween() (gas: 1303160)
136-
SuccinctStakingUnstakeTests:test_Unstake_WhenManySmallUnstakes() (gas: 1526709)
137-
SuccinctStakingUnstakeTests:test_Unstake_WhenMaxRequestsReset() (gas: 2755733)
138-
SuccinctStakingUnstakeTests:test_Unstake_WhenMultipleRewards() (gas: 892346)
139-
SuccinctStakingUnstakeTests:test_Unstake_WhenMultipleUnstakes() (gas: 715964)
140-
SuccinctStakingUnstakeTests:test_Unstake_WhenOneStakerTwoProversRewardNonDelegated() (gas: 1030494)
141-
SuccinctStakingUnstakeTests:test_Unstake_WhenProverFullSlashAfterEscrow() (gas: 652536)
142-
SuccinctStakingUnstakeTests:test_Unstake_WhenProverFullSlashBeforeEscrow() (gas: 606828)
143-
SuccinctStakingUnstakeTests:test_Unstake_WhenProverPartialSlashAfterEscrow() (gas: 649546)
144-
SuccinctStakingUnstakeTests:test_Unstake_WhenProverPartialSlashBeforeEscrow() (gas: 670467)
145-
SuccinctStakingUnstakeTests:test_Unstake_WhenRequestAfterSlash() (gas: 1057575)
146-
SuccinctStakingUnstakeTests:test_Unstake_WhenRewardDuringOngoingUnstake() (gas: 889314)
147-
SuccinctStakingUnstakeTests:test_Unstake_WhenRewardDuringOngoingUnstakeOutOfOrder() (gas: 889297)
148-
SuccinctStakingUnstakeTests:test_Unstake_WhenRewardDuringUnstakePeriod() (gas: 865242)
149-
SuccinctStakingUnstakeTests:test_Unstake_WhenSlashDuringUnstakePeriod() (gas: 799168)
150-
SuccinctStakingUnstakeTests:test_Unstake_WhenSomeClaimsReadyOthersNot() (gas: 1089812)
151-
SuccinctStakingUnstakeTests:test_Unstake_WhenSomeoneElseFinishesUnstake() (gas: 564020)
152-
SuccinctStakingUnstakeTests:test_Unstake_WhenTwoClaimsMixedReady() (gas: 637458)
153-
SuccinctStakingUnstakeTests:test_Unstake_WhenTwoStakersOneProverReward() (gas: 1107663)
154-
SuccinctStakingUnstakeTests:test_Unstake_WhenTwoStakersTwoProversDispenseOnly() (gas: 1008880)
155-
SuccinctStakingUnstakeTests:test_Unstake_WhenValid() (gas: 636056)
128+
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenAmountExceedsBalance() (gas: 410596)
129+
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenFinishUnstakeWhileProverHasSlashRequest() (gas: 583768)
130+
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenRequestUnstakeWhileProverHasSlashRequest() (gas: 505344)
131+
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenTooManyUnstakeRequests() (gas: 1448867)
132+
SuccinctStakingUnstakeTests:test_RevertUnstake_WhenZeroAmount() (gas: 401029)
133+
SuccinctStakingUnstakeTests:test_Unstake_WhenEarlyAttempt() (gas: 533341)
134+
SuccinctStakingUnstakeTests:test_Unstake_WhenManySmallStakesUnstakes() (gas: 1280792)
135+
SuccinctStakingUnstakeTests:test_Unstake_WhenManySmallStakesUnstakesTimeBetween() (gas: 1284752)
136+
SuccinctStakingUnstakeTests:test_Unstake_WhenManySmallUnstakes() (gas: 1474218)
137+
SuccinctStakingUnstakeTests:test_Unstake_WhenMaxRequestsReset() (gas: 2354172)
138+
SuccinctStakingUnstakeTests:test_Unstake_WhenMultipleRequestsSumToFull() (gas: 574979)
139+
SuccinctStakingUnstakeTests:test_Unstake_WhenMultipleRewards() (gas: 873763)
140+
SuccinctStakingUnstakeTests:test_Unstake_WhenMultipleUnstakes() (gas: 680378)
141+
SuccinctStakingUnstakeTests:test_Unstake_WhenOneStakerTwoProversRewardNonDelegated() (gas: 993441)
142+
SuccinctStakingUnstakeTests:test_Unstake_WhenProverFullSlashAfterEscrow() (gas: 633984)
143+
SuccinctStakingUnstakeTests:test_Unstake_WhenProverFullSlashBeforeEscrow() (gas: 588276)
144+
SuccinctStakingUnstakeTests:test_Unstake_WhenProverPartialSlashAfterEscrow() (gas: 630996)
145+
SuccinctStakingUnstakeTests:test_Unstake_WhenProverPartialSlashBeforeEscrow() (gas: 651900)
146+
SuccinctStakingUnstakeTests:test_Unstake_WhenRequestAfterSlash() (gas: 1020036)
147+
SuccinctStakingUnstakeTests:test_Unstake_WhenRewardDuringOngoingUnstake() (gas: 851999)
148+
SuccinctStakingUnstakeTests:test_Unstake_WhenRewardDuringOngoingUnstakeOutOfOrder() (gas: 851982)
149+
SuccinctStakingUnstakeTests:test_Unstake_WhenRewardDuringUnstakePeriod() (gas: 846655)
150+
SuccinctStakingUnstakeTests:test_Unstake_WhenSlashDuringUnstakePeriod() (gas: 780419)
151+
SuccinctStakingUnstakeTests:test_Unstake_WhenSomeClaimsReadyOthersNot() (gas: 990403)
152+
SuccinctStakingUnstakeTests:test_Unstake_WhenSomeoneElseFinishesUnstake() (gas: 545494)
153+
SuccinctStakingUnstakeTests:test_Unstake_WhenTwoClaimsMixedReady() (gas: 598860)
154+
SuccinctStakingUnstakeTests:test_Unstake_WhenTwoStakersOneProverReward() (gas: 1070621)
155+
SuccinctStakingUnstakeTests:test_Unstake_WhenTwoStakersTwoProversDispenseOnly() (gas: 971827)
156+
SuccinctStakingUnstakeTests:test_Unstake_WhenValid() (gas: 619438)
156157
SuccinctTokenTest:test_InitialOwner() (gas: 12700)
157158
SuccinctTokenTest:test_Mint_WhenOwner() (gas: 60886)
158159
SuccinctTokenTest:test_RevertMint_WhenNotOwner() (gas: 10986)

contracts/src/SuccinctStaking.sol

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -289,11 +289,8 @@ contract SuccinctStaking is
289289
// Get the amount of $stPROVE this staker currently has.
290290
uint256 stPROVEBalance = balanceOf(msg.sender);
291291

292-
// Get the amount $stPROVE this staker has in pending unstake claims.
293-
uint256 stPROVEClaim = _getUnstakeClaimBalance(msg.sender);
294-
295292
// Check that this staker has enough $stPROVE to unstake this amount.
296-
if (stPROVEBalance < stPROVEClaim + _stPROVE) revert InsufficientStakeBalance();
293+
if (stPROVEBalance < _stPROVE) revert InsufficientStakeBalance();
297294

298295
// Escrow the $iPROVE.
299296
uint256 iPROVEEscrow = _escrowUnstakeRequest(msg.sender, prover, _stPROVE);
@@ -311,7 +308,6 @@ contract SuccinctStaking is
311308
// Record the unstake request.
312309
unstakeClaims[msg.sender].push(
313310
UnstakeClaim({
314-
stPROVE: _stPROVE,
315311
iPROVEEscrow: iPROVEEscrow,
316312
slashFactor: pool.slashFactor,
317313
timestamp: block.timestamp
@@ -614,7 +610,7 @@ contract SuccinctStaking is
614610
PROVE = IERC4626(iProve).redeem(iPROVEScaled, _staker, address(this));
615611
}
616612

617-
emit Unstake(_staker, _prover, PROVE, iPROVEScaled, _claim.stPROVE);
613+
emit Unstake(_staker, _prover, PROVE, iPROVEScaled);
618614
}
619615

620616
/// @dev Iterate over the unstake claims, processing each one that has passed the unstake
@@ -641,13 +637,6 @@ contract SuccinctStaking is
641637
}
642638
}
643639

644-
/// @dev Get the $stPROVE sum of all unstake claims for a staker.
645-
function _getUnstakeClaimBalance(address _staker) internal view returns (uint256 stPROVE) {
646-
for (uint256 i = 0; i < unstakeClaims[_staker].length; i++) {
647-
stPROVE += unstakeClaims[_staker][i].stPROVE;
648-
}
649-
}
650-
651640
/// @dev Set the new dispenser.
652641
function _setDispenser(address _dispenser) internal {
653642
emit DispenserUpdate(dispenser, _dispenser);

contracts/src/interfaces/ISuccinctStaking.sol

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ import {IProverRegistry} from "./IProverRegistry.sol";
55

66
interface ISuccinctStaking is IProverRegistry {
77
/// @dev Represents a claim for unstaking.
8-
/// @param stPROVE The share amount of $stPROVE requested to be unstaked.
98
/// @param iPROVEEscrow The escrowed amount of $iPROVE at request time.
109
/// @param slashFactor The slash factor for the prover when the claim was created (1e27 fp).
1110
/// @param timestamp The timestamp when the unstake was requested. Used for comparing against
1211
/// the `unstakePeriod()` to determine if the claim can be finished.
1312
struct UnstakeClaim {
14-
uint256 stPROVE;
1513
uint256 iPROVEEscrow;
1614
uint256 slashFactor;
1715
uint256 timestamp;
@@ -61,13 +59,7 @@ interface ISuccinctStaking is IProverRegistry {
6159
);
6260

6361
/// @dev Emitted when a staker unstakes from a prover.
64-
event Unstake(
65-
address indexed staker,
66-
address indexed prover,
67-
uint256 PROVE,
68-
uint256 iPROVE,
69-
uint256 stPROVE
70-
);
62+
event Unstake(address indexed staker, address indexed prover, uint256 PROVE, uint256 iPROVE);
7163

7264
/// @dev Emitted when a prover is requested to be slashed.
7365
event SlashRequest(address indexed prover, uint256 iPROVE, uint256 index);

contracts/src/mocks/MockStaking.sol

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ contract MockStaking is ProverRegistry, ISuccinctStaking {
112112

113113
unstakeClaims[msg.sender].push(
114114
UnstakeClaim({
115-
stPROVE: _stPROVE,
116115
iPROVEEscrow: _stPROVE,
117116
slashFactor: pool.slashFactor,
118117
timestamp: block.timestamp

0 commit comments

Comments
 (0)