ebtc-protocol/ebtc

Investigate fuzz test failure

Closed this issue · 2 comments

Related to previous issue?
had another instance

Counterexample: calldata=0x3695c4cb0000000000000000000000000000000000000000000000000f13fa701b15b084, args=[1086487294524108932]]

[FAIL. Reason: Arithmetic over/underflow Counterexample: calldata=0x7f2ba647000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000026f6, args=[18446744073709551615, 9974]] testPartiallyLiquidateSingleCDP(uint256,uint256) (runs: 10, μ: 1434487, ~: 1518288)
Traces:
  [[1158](https://github.com/Badger-Finance/ebtc/actions/runs/4909880961/jobs/8766549060?pr=333#step:8:1159)958] CdpManagerLiquidationTest::testPartiallyLiquidateSingleCDP(18446744073709551615, 9974) 
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [2370] PriceFeedTestnet::getPrice() [staticcall]
    │   └─ ← 74280000000000000
    ├─ [522] Utilities::calculateCollAmount(18446744073709551615, 74280000000000000, 2050000000000000000) [staticcall]
    │   └─ ← 509098348830163985066
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [24546] CollateralTokenTester::approve(BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], 115792089237316195423570985008687907853269984665640564039457584007913129639935) 
    │   ├─ emit Approval(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, guy: BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], wad: 115792089237316195423570985008687907853269984665640564039457584007913129639935)
    │   └─ ← true
    ├─ [0] VM::deal(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 10000000000000000000000) 
    │   └─ ← ()
    ├─ [5150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 0
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [44902] CollateralTokenTester::deposit{value: 10000000000000000000000}() 
    │   ├─ emit Deposit(dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 10000000000000000000000, _share: 10000000000000000000000)
    │   └─ ← ()
    ├─ [1150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 10000000000000000000000
    ├─ [0] VM::startPrank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [2546] CollateralTokenTester::approve(BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], 115792089237316195423570985008687907853269984665640564039457584007913129639935) 
    │   ├─ emit Approval(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, guy: BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], wad: 115792089237316195423570985008687907853269984665640564039457584007913129639935)
    │   └─ ← true
    ├─ [542274] BorrowerOperations::openCdp(200000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 10000000000000000000000) 
    │   ├─ [2429] CdpManager::locked() [staticcall]
    │   │   └─ ← 1
    │   ├─ [3620] PriceFeedTestnet::fetchPrice() 
    │   │   ├─ emit LastGoodPriceUpdated(_lastGoodPrice: 74280000000000000)
    │   │   └─ ← 74280000000000000
    │   ├─ [2381] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [2348] DefaultPool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [2358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [2358] DefaultPool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(0) [staticcall]
    │   │   └─ ← 0
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(9999800000000000000000) [staticcall]
    │   │   └─ ← 9999800000000000000000
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(200000000000000000) [staticcall]
    │   │   └─ ← 200000000000000000
    │   ├─ [381] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [348] DefaultPool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(0) [staticcall]
    │   │   └─ ← 0
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [358] DefaultPool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [170037] SortedCdps::insert(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 4999900000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000) 
    │   │   ├─ [2593] CdpManager::getCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   │   │   └─ ← 0
    │   │   ├─ emit NodeAdded(_id: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _NICR: 4999900000000000000000000)
    │   │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    │   ├─ [20754] CdpManager::setCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 1) 
    │   │   └─ ← ()
    │   ├─ [22810] CdpManager::increaseCdpColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 9999800000000000000000) 
    │   │   └─ ← 9999800000000000000000
    │   ├─ [22842] CdpManager::increaseCdpDebt(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 200000000000000000) 
    │   │   └─ ← 200000000000000000
    │   ├─ [22621] CdpManager::setCdpLiquidatorRewardShares(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 200000000000000000) 
    │   │   └─ ← ()
    │   ├─ [38519] CdpManager::updateCdpRewardSnapshots(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) 
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1000000000000000000) [staticcall]
    │   │   │   └─ ← 1000000000000000000
    │   │   ├─ emit CdpSnapshotsUpdated(_L_ETH: 0, _L_EBTCDebt: 0)
    │   │   └─ ← ()
    │   ├─ [48445] CdpManager::updateStakeAndTotalStakes(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) 
    │   │   ├─ emit TotalStakesUpdated(_newTotalStakes: 9999800000000000000000)
    │   │   └─ ← 9999800000000000000000
    │   ├─ [45285] CdpManager::addCdpIdToArray(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) 
    │   │   └─ ← 0
    │   ├─ emit CdpCreated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _creator: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, arrayIndex: 0)
    │   ├─ [21641] ActivePool::increaseEBTCDebt(200000000000000000) 
    │   │   ├─ emit ActivePoolEBTCDebtUpdated(_EBTCDebt: 200000000000000000)
    │   │   └─ ← ()
    │   ├─ [47194] EBTCToken::mint(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 200000000000000000) 
    │   │   ├─ emit Transfer(src: 0x0000000000000000000000000000000000000000, dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 200000000000000000)
    │   │   └─ ← ()
    │   ├─ emit CdpUpdated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _oldDebt: 0, _oldColl: 0, _debt: 200000000000000000, _coll: 9999800000000000000000, _stake: 9999800000000000000000, _operation: 0)
    │   ├─ [21211] CollateralTokenTester::transferFrom(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], 10000000000000000000000) 
    │   │   ├─ emit Transfer(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, dst: ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], wad: 10000000000000000000000, _share: 10000000000000000000000)
    │   │   └─ ← true
    │   ├─ [21608] ActivePool::receiveColl(9999800000000000000000) 
    │   │   ├─ emit ActivePoolETHBalanceUpdated(_ETH: 9999800000000000000000)
    │   │   └─ ← ()
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [0] VM::stopPrank() 
    │   └─ ← ()
    ├─ [0] VM::deal(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 509098348830163985066) 
    │   └─ ← ()
    ├─ [1150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 0
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [23002] CollateralTokenTester::deposit{value: 509098348830163985066}() 
    │   ├─ emit Deposit(dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 509098348830163985066, _share: 509098348830163985066)
    │   └─ ← ()
    ├─ [1150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 509098348830163985066
    ├─ [0] VM::startPrank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [2546] CollateralTokenTester::approve(BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], 115792089237316195423570985008687907853269984665640564039457584007913129639935) 
    │   ├─ emit Approval(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, guy: BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], wad: 115792089237316195423570985008687907853269984665640564039457584007913129639935)
    │   └─ ← true
    ├─ [317224] BorrowerOperations::openCdp(18446744073709551615, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 509098348830163985066) 
    │   ├─ [429] CdpManager::locked() [staticcall]
    │   │   └─ ← 1
    │   ├─ [1620] PriceFeedTestnet::fetchPrice() 
    │   │   ├─ emit LastGoodPriceUpdated(_lastGoodPrice: 74280000000000000)
    │   │   └─ ← 74280000000000000
    │   ├─ [381] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 9999800000000000000000
    │   ├─ [348] DefaultPool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 200000000000000000
    │   ├─ [358] DefaultPool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(9999800000000000000000) [staticcall]
    │   │   └─ ← 9999800000000000000000
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(508898348830163985066) [staticcall]
    │   │   └─ ← 508898348830163985066
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(200000000000000000) [staticcall]
    │   │   └─ ← 200000000000000000
    │   ├─ [381] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 9999800000000000000000
    │   ├─ [348] DefaultPool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(9999800000000000000000) [staticcall]
    │   │   └─ ← 9999800000000000000000
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 200000000000000000
    │   ├─ [358] DefaultPool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [130618] SortedCdps::insert(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 2758743476879749282853, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000) 
    │   │   ├─ [2593] CdpManager::getCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   │   │   └─ ← 0
    │   │   ├─ [6127] CdpManager::getNominalICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   │   │   └─ ← 4999900000000000000000000
    │   │   ├─ [4127] CdpManager::getNominalICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   │   │   └─ ← 4999900000000000000000000
    │   │   ├─ emit NodeAdded(_id: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _NICR: 2758743476879749282853)
    │   │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    │   ├─ [20754] CdpManager::setCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 1) 
    │   │   └─ ← ()
    │   ├─ [22810] CdpManager::increaseCdpColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 508898348830163985066) 
    │   │   └─ ← 508898348830163985066
    │   ├─ [22842] CdpManager::increaseCdpDebt(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 18446744073709551615) 
    │   │   └─ ← 18446744073709551615
    │   ├─ [22621] CdpManager::setCdpLiquidatorRewardShares(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 200000000000000000) 
    │   │   └─ ← ()
    │   ├─ [30519] CdpManager::updateCdpRewardSnapshots(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1000000000000000000) [staticcall]
    │   │   │   └─ ← 1000000000000000000
    │   │   ├─ emit CdpSnapshotsUpdated(_L_ETH: 0, _L_EBTCDebt: 0)
    │   │   └─ ← ()
    │   ├─ [24545] CdpManager::updateStakeAndTotalStakes(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   │   ├─ emit TotalStakesUpdated(_newTotalStakes: 10508698348830163985066)
    │   │   └─ ← 508898348830163985066
    │   ├─ [23385] CdpManager::addCdpIdToArray(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   │   └─ ← 1
    │   ├─ emit CdpCreated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _creator: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, arrayIndex: 1)
    │   ├─ [1741] ActivePool::increaseEBTCDebt(18446744073709551615) 
    │   │   ├─ emit ActivePoolEBTCDebtUpdated(_EBTCDebt: 18646744073709551615)
    │   │   └─ ← ()
    │   ├─ [3394] EBTCToken::mint(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 18446744073709551615) 
    │   │   ├─ emit Transfer(src: 0x0000000000000000000000000000000000000000, dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 18446744073709551615)
    │   │   └─ ← ()
    │   ├─ emit CdpUpdated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _oldDebt: 0, _oldColl: 0, _debt: 18446744073709551615, _coll: 508898348830163985066, _stake: 508898348830163985066, _operation: 0)
    │   ├─ [3691] CollateralTokenTester::transferFrom(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], 509098348830163985066) 
    │   │   ├─ emit Transfer(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, dst: ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], wad: 509098348830163985066, _share: 509098348830163985066)
    │   │   └─ ← true
    │   ├─ [1708] ActivePool::receiveColl(508898348830163985066) 
    │   │   ├─ emit ActivePoolETHBalanceUpdated(_ETH: 10508698348830163985066)
    │   │   └─ ← ()
    │   └─ ← 2758743476879749282853
    ├─ [483] SortedCdps::getNext(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [338] SortedCdps::getFirst() [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [370] PriceFeedTestnet::getPrice() [staticcall]
    │   └─ ← 37140000000000000
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [5440] CdpManager::getCurrentICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 37140000000000000) [staticcall]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(9999800000000000000000) [staticcall]
    │   │   └─ ← 9999800000000000000000
    │   └─ ← 1856962860000000000000
    ├─ [5143] CdpManager::getTCR(37140000000000000) [staticcall]
    │   ├─ [381] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 10508698348830163985066
    │   ├─ [348] DefaultPool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 18646744073709551615
    │   ├─ [358] DefaultPool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(10508698348830163985066) [staticcall]
    │   │   └─ ← 10508698348830163985066
    │   └─ ← 209308957710[1210](https://github.com/Badger-Finance/ebtc/actions/runs/4909880961/jobs/8766549060?pr=333#step:8:1211)5288
    ├─ [5143] CdpManager::getTCR(37140000000000000) [staticcall]
    │   ├─ [381] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 10508698348830163985066
    │   ├─ [348] DefaultPool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 18646744073709551615
    │   ├─ [358] DefaultPool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(10508698348830163985066) [staticcall]
    │   │   └─ ← 10508698348830163985066
    │   └─ ← 20930895771012105288
    ├─ [5440] CdpManager::getCurrentICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 37140000000000000) [staticcall]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(508898348830163985066) [staticcall]
    │   │   └─ ← 508898348830163985066
    │   └─ ← 1024597327313138883
    ├─ [374] CdpManager::CCR() [staticcall]
    │   └─ ← 1250000000000000000
    ├─ [351] CdpManager::MCR() [staticcall]
    │   └─ ← 1100000000000000000
    ├─ [3885] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 18446744073709551615, 508898348830163985066, 0, 0
    ├─ [328] CdpManager::LICR() [staticcall]
    │   └─ ← 1030000000000000000
    ├─ [306] CdpManager::MIN_NET_COLL() [staticcall]
    │   └─ ← 2000000000000000000
    └─ ← "Arithmetic over/underflow"

[PASS] testRetryFullLiquidation() (gas: 189)
[PASS] testSequenceLiquidateMultipleCDPs(uint256,uint256,uint256) (runs: 40, μ: 1845127, ~: 1844465)
Test result: FAILED. 6 passed; 1 failed; finished in 63.10s

Failing tests:
Encountered 1 failing test in foundry_test/CdpManager.Liquidation.t.sol:CdpManagerLiquidationTest
[FAIL. Reason: Arithmetic over/underflow Counterexample: calldata=0x7f2ba647000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000026f6, args=[18446744073709551615, 9974]] testPartiallyLiquidateSingleCDP(uint256,uint256) (runs: 10, μ: 1434487, ~: 1518288)
[FAIL. Reason: LiquidationLibrary: Coll remaining in partially liquidated CDP must be >= minimum Counterexample: calldata=0x7f2ba647000000000000000000000000000000000000000000000000f304aeb0cd6fc52900000000000000000000000000000000000000000000000000000000000026d5, args=[17511313325507462441 [1.751e19], 9941]] testPartiallyLiquidateSingleCDP(uint256,uint256) (runs: 19, μ: 1321049, ~: 1448155)
Traces:
  [1246385] CdpManagerLiquidationTest::testPartiallyLiquidateSingleCDP(17511313325507462441 [1.751e19], 9941) 
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::assume(true) [staticcall]
    │   └─ ← ()
    ├─ [2348] PriceFeedTestnet::getPrice() [staticcall]
    │   └─ ← 74280000000000000 [7.428e16]
    ├─ [522] Utilities::calculateCollAmount(17511313325507462441 [1.751e19], 74280000000000000 [7.428e16], 2050000000000000000 [2.05e18]) [staticcall]
    │   └─ ← 483282072122917312924 [4.832e20]
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [24546] CollateralTokenTester::approve(BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], 115792089237316195423570985008687907853269984665640564039457584007913129639935 [1.157e77]) 
    │   ├─ emit Approval(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, guy: BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], wad: 115792089237316195423570985008687907853269984665640564039457584007913129639935 [1.157e77])
    │   └─ ← true
    ├─ [0] VM::deal(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 10000000000000000000000 [1e22]) 
    │   └─ ← ()
    ├─ [5150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 0
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [44902] CollateralTokenTester::deposit{value: 10000000000000000000000}() 
    │   ├─ emit Deposit(dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 10000000000000000000000 [1e22], _share: 10000000000000000000000 [1e22])
    │   └─ ← ()
    ├─ [1150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 10000000000000000000000 [1e22]
    ├─ [0] VM::startPrank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [2546] CollateralTokenTester::approve(BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], 115792089237316195423570985008687907853269984665640564039457584007913129639935 [1.157e77]) 
    │   ├─ emit Approval(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, guy: BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], wad: 115792089237316195423570985008687907853269984665640564039457584007913129639935 [1.157e77])
    │   └─ ← true
    ├─ [527881] BorrowerOperations::openCdp(200000000000000000 [2e17], 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 10000000000000000000000 [1e22]) 
    │   ├─ [2407] CdpManager::locked() [staticcall]
    │   │   └─ ← 1
    │   ├─ [3620] PriceFeedTestnet::fetchPrice() 
    │   │   ├─ emit LastGoodPriceUpdated(_lastGoodPrice: 74280000000000000 [7.428e16])
    │   │   └─ ← 74280000000000000 [7.428e16]
    │   ├─ [2359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [2358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(0) [staticcall]
    │   │   └─ ← 0
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(9999800000000000000000 [9.999e21]) [staticcall]
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(200000000000000000 [2e17]) [staticcall]
    │   │   └─ ← 200000000000000000 [2e17]
    │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 0
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(0) [staticcall]
    │   │   └─ ← 0
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 0
    │   ├─ [170027] SortedCdps::insert(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 4999900000000000000000000 [4.999e24], 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000) 
    │   │   ├─ [2593] CdpManager::getCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   │   │   └─ ← 0
    │   │   ├─ emit NodeAdded(_id: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _NICR: 4999900000000000000000000 [4.999e24])
    │   │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    │   ├─ [20754] CdpManager::setCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 1) 
    │   │   └─ ← ()
    │   ├─ [22832] CdpManager::increaseCdpColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 9999800000000000000000 [9.999e21]) 
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [22820] CdpManager::increaseCdpDebt(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 200000000000000000 [2e17]) 
    │   │   └─ ← 200000000000000000 [2e17]
    │   ├─ [22599] CdpManager::setCdpLiquidatorRewardShares(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 200000000000000000 [2e17]) 
    │   │   └─ ← ()
    │   ├─ [34053] CdpManager::updateCdpRewardSnapshots(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) 
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1000000000000000000 [1e18]) [staticcall]
    │   │   │   └─ ← 1000000000000000000 [1e18]
    │   │   ├─ emit CdpSnapshotsUpdated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _L_EBTCDebt: 0)
    │   │   └─ ← ()
    │   ├─ [48374] CdpManager::updateStakeAndTotalStakes(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) 
    │   │   ├─ emit TotalStakesUpdated(_newTotalStakes: 9999800000000000000000 [9.999e21])
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [45263] CdpManager::addCdpIdToArray(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) 
    │   │   └─ ← 0
    │   ├─ emit CdpCreated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _creator: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, arrayIndex: 0)
    │   ├─ [21667] ActivePool::increaseEBTCDebt(200000000000000000 [2e17]) 
    │   │   ├─ emit ActivePoolEBTCDebtUpdated(_EBTCDebt: 0)
    │   │   └─ ← ()
    │   ├─ [47123] EBTCToken::mint(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 200000000000000000 [2e17]) 
    │   │   ├─ emit Transfer(src: 0x0000000000000000000000000000000000000000, dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 200000000000000000 [2e17])
    │   │   └─ ← ()
    │   ├─ emit CdpUpdated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _oldDebt: 0, _oldColl: 0, _debt: 200000000000000000 [2e17], _coll: 9999800000000000000000 [9.999e21], _stake: 9999800000000000000000 [9.999e21], _operation: 0)
    │   ├─ [2[1211](https://github.com/Badger-Finance/ebtc/actions/runs/4974860272/jobs/8901559093?pr=365#step:8:1212)] CollateralTokenTester::transferFrom(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], 10000000000000000000000 [1e22]) 
    │   │   ├─ emit Transfer(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, dst: ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], wad: 10000000000000000000000 [1e22], _share: 10000000000000000000000 [1e22])
    │   │   └─ ← true
    │   ├─ [21639] ActivePool::receiveColl(9999800000000000000000 [9.999e21]) 
    │   │   ├─ emit ActivePoolCollBalanceUpdated(_coll: 0)
    │   │   └─ ← ()
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [0] VM::stopPrank() 
    │   └─ ← ()
    ├─ [0] VM::deal(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 483282072122917312924 [4.832e20]) 
    │   └─ ← ()
    ├─ [1150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 0
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [23002] CollateralTokenTester::deposit{value: 483282072122917312924}() 
    │   ├─ emit Deposit(dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 483282072122917312924 [4.832e20], _share: 483282072122917312924 [4.832e20])
    │   └─ ← ()
    ├─ [1150] CollateralTokenTester::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 483282072122917312924 [4.832e20]
    ├─ [0] VM::startPrank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [2546] CollateralTokenTester::approve(BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], 115792089237316195423570985008687907853269984665640564039457584007913129639935 [1.157e77]) 
    │   ├─ emit Approval(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, guy: BorrowerOperations: [0x8f63307945c5857CB95722762e65e73922a4341E], wad: 115792089237316195423570985008687907853269984665640564039457584007913129639935 [1.157e77])
    │   └─ ← true
    ├─ [309021] BorrowerOperations::openCdp(17511313325507462441 [1.751e19], 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 483282072122917312924 [4.832e20]) 
    │   ├─ [407] CdpManager::locked() [staticcall]
    │   │   └─ ← 1
    │   ├─ [1620] PriceFeedTestnet::fetchPrice() 
    │   │   ├─ emit LastGoodPriceUpdated(_lastGoodPrice: 74280000000000000 [7.428e16])
    │   │   └─ ← 74280000000000000 [7.428e16]
    │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 200000000000000000 [2e17]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(9999800000000000000000 [9.999e21]) [staticcall]
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(483082072122917312924 [4.83e20]) [staticcall]
    │   │   └─ ← 483082072122917312924 [4.83e20]
    │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(200000000000000000 [2e17]) [staticcall]
    │   │   └─ ← 200000000000000000 [2e17]
    │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(9999800000000000000000 [9.999e21]) [staticcall]
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 200000000000000000 [2e17]
    │   ├─ [128298] SortedCdps::insert(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 2758685560261471821048 [2.758e21], 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000) 
    │   │   ├─ [2593] CdpManager::getCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   │   │   └─ ← 0
    │   │   ├─ [4972] CdpManager::getNominalICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   │   │   └─ ← 4999900000000000000000000 [4.999e24]
    │   │   ├─ [2972] CdpManager::getNominalICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   │   │   └─ ← 4999900000000000000000000 [4.999e24]
    │   │   ├─ emit NodeAdded(_id: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _NICR: 2758685560261471821048 [2.758e21])
    │   │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    │   ├─ [20754] CdpManager::setCdpStatus(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 1) 
    │   │   └─ ← ()
    │   ├─ [22832] CdpManager::increaseCdpColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 483082072122917312924 [4.83e20]) 
    │   │   └─ ← 483082072122917312924 [4.83e20]
    │   ├─ [22820] CdpManager::increaseCdpDebt(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 17511313325507462441 [1.751e19]) 
    │   │   └─ ← 17511313325507462441 [1.751e19]
    │   ├─ [22599] CdpManager::setCdpLiquidatorRewardShares(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 200000000000000000 [2e17]) 
    │   │   └─ ← ()
    │   ├─ [28053] CdpManager::updateCdpRewardSnapshots(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1000000000000000000 [1e18]) [staticcall]
    │   │   │   └─ ← 1000000000000000000 [1e18]
    │   │   ├─ emit CdpSnapshotsUpdated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _L_EBTCDebt: 0)
    │   │   └─ ← ()
    │   ├─ [24474] CdpManager::updateStakeAndTotalStakes(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   │   ├─ emit TotalStakesUpdated(_newTotalStakes: 10482882072122917312924 [1.048e22])
    │   │   └─ ← 483082072122917312924 [4.83e20]
    │   ├─ [23363] CdpManager::addCdpIdToArray(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   │   └─ ← 1
    │   ├─ emit CdpCreated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _creator: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, arrayIndex: 1)
    │   ├─ [1767] ActivePool::increaseEBTCDebt(17511313325507462441 [1.751e19]) 
    │   │   ├─ emit ActivePoolEBTCDebtUpdated(_EBTCDebt: 200000000000000000 [2e17])
    │   │   └─ ← ()
    │   ├─ [3323] EBTCToken::mint(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, 17511313325507462441 [1.751e19]) 
    │   │   ├─ emit Transfer(src: 0x0000000000000000000000000000000000000000, dst: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, wad: 17511313325507462441 [1.751e19])
    │   │   └─ ← ()
    │   ├─ emit CdpUpdated(_cdpId: 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, _borrower: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, _oldDebt: 0, _oldColl: 0, _debt: 17511313325507462441 [1.751e19], _coll: 483082072122917312924 [4.83e20], _stake: 483082072122917312924 [4.83e20], _operation: 0)
    │   ├─ [3691] CollateralTokenTester::transferFrom(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], 483282072122917312924 [4.832e20]) 
    │   │   ├─ emit Transfer(src: 0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7, dst: ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00], wad: 483282072122917312924 [4.832e20], _share: 483282072122917312924 [4.832e20])
    │   │   └─ ← true
    │   ├─ [1739] ActivePool::receiveColl(483082072122917312924 [4.83e20]) 
    │   │   ├─ emit ActivePoolCollBalanceUpdated(_coll: 9999800000000000000000 [9.999e21])
    │   │   └─ ← ()
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    ├─ [0] VM::stopPrank() 
    │   └─ ← ()
    ├─ [2649] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 17511313325507462441 [1.751e19], 483082072122917312924 [4.83e20], 0
    ├─ [3270] PriceFeedTestnet::setPrice(37140000000000000 [3.714e16]) 
    │   └─ ← true
    ├─ [647] CollateralTokenTester::sharesOf(ActivePool: [0x7FfA61f206386F609B342fB886493c4C2c650c00]) [staticcall]
    │   └─ ← 10483282072122917312924 [1.048e22]
    ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   └─ ← 10482882072122917312924 [1.048e22]
    ├─ [404] EBTCToken::totalSupply() [staticcall]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [404] EBTCToken::totalSupply() [staticcall]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [425] CdpManager::getCdpIdsCount() [staticcall]
    │   └─ ← 2
    ├─ [686] CdpManager::CdpIds(0) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [2649] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   └─ ← 200000000000000000 [2e17], 9999800000000000000000 [9.999e21], 0
    ├─ [686] CdpManager::CdpIds(1) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    ├─ [2649] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 17511313325507462441 [1.751e19], 483082072122917312924 [4.83e20], 0
    ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   └─ ← 10482882072122917312924 [1.048e22]
    ├─ [495] Utilities::assertApproximateEq(10482882072122917312924 [1.048e22], 10482882072122917312924 [1.048e22], 2000000 [2e6]) [staticcall]
    │   └─ ← true
    ├─ [425] CdpManager::getCdpIdsCount() [staticcall]
    │   └─ ← 2
    ├─ [686] CdpManager::CdpIds(0) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [2649] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   └─ ← 200000000000000000 [2e17], 9999800000000000000000 [9.999e21], 0
    ├─ [686] CdpManager::CdpIds(1) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    ├─ [2649] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 17511313325507462441 [1.751e19], 483082072122917312924 [4.83e20], 0
    ├─ [1108] CdpManager::getEntireSystemDebt() [staticcall]
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 17711313325507462441 [1.771e19]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [495] Utilities::assertApproximateEq(17711313325507462441 [1.771e19], 17711313325507462441 [1.771e19], 2000000 [2e6]) [staticcall]
    │   └─ ← true
    ├─ [425] CdpManager::getCdpIdsCount() [staticcall]
    │   └─ ← 2
    ├─ [380] SortedCdps::getSize() [staticcall]
    │   └─ ← 2
    ├─ [425] CdpManager::getCdpIdsCount() [staticcall]
    │   └─ ← 2
    ├─ [686] CdpManager::CdpIds(0) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [535] CdpManager::getCdpStake(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   └─ ← 9999800000000000000000 [9.999e21]
    ├─ [686] CdpManager::CdpIds(1) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    ├─ [535] CdpManager::getCdpStake(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 483082072122917312924 [4.83e20]
    ├─ [385] CdpManager::totalStakes() [staticcall]
    │   └─ ← 10482882072122917312924 [1.048e22]
    ├─ [425] CdpManager::getCdpIdsCount() [staticcall]
    │   └─ ← 2
    ├─ [406] CdpManager::stFeePerUnitg() [staticcall]
    │   └─ ← 1000000000000000000 [1e18]
    ├─ [686] CdpManager::CdpIds(0) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [617] CdpManager::stFeePerUnitcdp(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   └─ ← 1000000000000000000 [1e18]
    ├─ [686] CdpManager::CdpIds(1) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    ├─ [617] CdpManager::stFeePerUnitcdp(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 1000000000000000000 [1e18]
    ├─ [2647] CollateralTokenTester::sharesOf(CollSurplusPool: [0x17D52Ce739aD0770f35Efe8a2c33f4E802B2dbf0]) [staticcall]
    │   └─ ← 0
    ├─ [2381] CollSurplusPool::getStEthColl() [staticcall]
    │   └─ ← 0
    ├─ [338] SortedCdps::getFirst() [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [483] SortedCdps::getNext(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [2972] CdpManager::getNominalICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000) [staticcall]
    │   └─ ← 4999900000000000000000000 [4.999e24]
    ├─ [2972] CdpManager::getNominalICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 2758685560261471821048 [2.758e21]
    ├─ [483] SortedCdps::getNext(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [338] SortedCdps::getFirst() [staticcall]
    │   └─ ← 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000
    ├─ [348] PriceFeedTestnet::getPrice() [staticcall]
    │   └─ ← 37140000000000000 [3.714e16]
    ├─ [284] SortedCdps::dummyId() [staticcall]
    │   └─ ← 0x0000000000000000000000000000000000000000000000000000000000000000
    ├─ [4262] CdpManager::getCurrentICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000000, 37140000000000000 [3.714e16]) [staticcall]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(9999800000000000000000 [9.999e21]) [staticcall]
    │   │   └─ ← 9999800000000000000000 [9.999e21]
    │   └─ ← 1856962860000000000000 [1.856e21]
    ├─ [3531] CdpManager::getTCR(37140000000000000 [3.714e16]) [staticcall]
    │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 17711313325507462441 [1.771e19]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(10482882072122917312924 [1.048e22]) [staticcall]
    │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   └─ ← 21982234349495366442 [2.198e19]
    ├─ [3531] CdpManager::getTCR(37140000000000000 [3.714e16]) [staticcall]
    │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 17711313325507462441 [1.771e19]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(10482882072122917312924 [1.048e22]) [staticcall]
    │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   └─ ← 21982234349495366442 [2.198e19]
    ├─ [4262] CdpManager::getCurrentICR(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 37140000000000000 [3.714e16]) [staticcall]
    │   ├─ [892] CollateralTokenTester::getPooledEthByShares(483082072122917312924 [4.83e20]) [staticcall]
    │   │   └─ ← 483082072122917312924 [4.83e20]
    │   └─ ← 1024575817081110634 [1.024e18]
    ├─ [352] CdpManager::CCR() [staticcall]
    │   └─ ← 1250000000000000000 [1.25e18]
    ├─ [329] CdpManager::MCR() [staticcall]
    │   └─ ← 1100000000000000000 [1.1e18]
    ├─ [2649] CdpManager::getEntireDebtAndColl(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [staticcall]
    │   └─ ← 17511313325507462441 [1.751e19], 483082072122917312924 [4.83e20], 0
    ├─ [350] CdpManager::LICR() [staticcall]
    │   └─ ← 1030000000000000000 [1.03e18]
    ├─ [306] CdpManager::MIN_NET_COLL() [staticcall]
    │   └─ ← 2000000000000000000 [2e18]
    ├─ [306] CdpManager::MIN_NET_COLL() [staticcall]
    │   └─ ← 2000000000000000000 [2e18]
    ├─ [670] EBTCToken::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [0] VM::record() 
    │   └─ ← ()
    ├─ [670] EBTCToken::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [0] VM::accesses(EBTCToken: [0x59c4F50aAb77CA59bBdce298927430d6726CB5A4]) 
    │   └─ ← [0x1c2c81df00d8ebc9ae97da17a328bfb720c4e4a741eb5b29c985ec84fb05369c], []
    ├─ [0] VM::load(EBTCToken: [0x59c4F50aAb77CA59bBdce298927430d6726CB5A4], 0x1c2c81df00d8ebc9ae97da17a328bfb720c4e4a741eb5b29c985ec84fb05369c) [staticcall]
    │   └─ ← 0x000000000000000000000000000000000000000000000000f5cb39a18883c529
    ├─ emit SlotFound(who: EBTCToken: [0x59c4F50aAb77CA59bBdce298927430d6726CB5A4], fsig: 0x70a08231, keysHash: 0x2921a74776f7223b0c43f5397a0eee4591bc2ed7899afe3c3e83973b416624e7, slot: 12743397368617786684790201781789425161377583501017073576417376095205811631772 [1.274e76])
    ├─ [670] EBTCToken::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [0] VM::load(EBTCToken: [0x59c4F50aAb77CA59bBdce298927430d6726CB5A4], 0x1c2c81df00d8ebc9ae97da17a328bfb720c4e4a741eb5b29c985ec84fb05369c) [staticcall]
    │   └─ ← 0x000000000000000000000000000000000000000000000000f5cb39a18883c529
    ├─ [0] VM::store(EBTCToken: [0x59c4F50aAb77CA59bBdce298927430d6726CB5A4], 0x1c2c81df00d8ebc9ae97da17a328bfb720c4e4a741eb5b29c985ec84fb05369c, 0x000000000000000000000000000000000000000000000000f304aeb0cd6fc529) 
    │   └─ ← ()
    ├─ [670] EBTCToken::balanceOf(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) [staticcall]
    │   └─ ← 17511313325507462441 [1.751e19]
    ├─ [1108] CdpManager::getEntireSystemDebt() [staticcall]
    │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   └─ ← 17711313325507462441 [1.771e19]
    │   └─ ← 17711313325507462441 [1.771e19]
    ├─ [987] CdpManager::getEntireSystemColl() [staticcall]
    │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   └─ ← 10482882072122917312924 [1.048e22]
    ├─ [0] VM::prank(0x9aF2E2B7e57c1CD7C68C5C3796d8ea67e0018dB7) 
    │   └─ ← ()
    ├─ [26586] CdpManager::partiallyLiquidate(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 17362753325507462440 [1.736e19], 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) 
    │   ├─ [23497] LiquidationLibrary::partiallyLiquidate(0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 17362753325507462440 [1.736e19], 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001, 0x9af2e2b7e57c1cd7c68c5c3796d8ea67e0018db7000000010000000000000001) [delegatecall]
    │   │   ├─ [406] BorrowerOperations::locked() [staticcall]
    │   │   │   └─ ← 1
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1000000000000000000 [1e18]) [staticcall]
    │   │   │   └─ ← 1000000000000000000 [1e18]
    │   │   ├─ [1620] PriceFeedTestnet::fetchPrice() 
    │   │   │   ├─ emit LastGoodPriceUpdated(_lastGoodPrice: 37140000000000000 [3.714e16])
    │   │   │   └─ ← 37140000000000000 [3.714e16]
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(483082072122917312924 [4.83e20]) [staticcall]
    │   │   │   └─ ← 483082072122917312924 [4.83e20]
    │   │   ├─ [359] ActivePool::getStEthColl() [staticcall]
    │   │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   │   ├─ [358] ActivePool::getEBTCDebt() [staticcall]
    │   │   │   └─ ← 17711313325507462441 [1.771e19]
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(10482882072122917312924 [1.048e22]) [staticcall]
    │   │   │   └─ ← 10482882072122917312924 [1.048e22]
    │   │   ├─ [871] CollateralTokenTester::getSharesByPooledEth(481519545645468129057 [4.815e20]) [staticcall]
    │   │   │   └─ ← 481519545645468129057 [4.815e20]
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1000000000000000000 [1e18]) [staticcall]
    │   │   │   └─ ← 1000000000000000000 [1e18]
    │   │   ├─ [892] CollateralTokenTester::getPooledEthByShares(1562526477449183867 [1.562e18]) [staticcall]
    │   │   │   └─ ← 1562526477449183867 [1.562e18]
    │   │   └─ ← "LiquidationLibrary: Coll remaining in partially liquidated CDP must be >= minimum"
    │   └─ ← "LiquidationLibrary: Coll remaining in partially liquidated CDP must be >= minimum"
    └─ ← "LiquidationLibrary: Coll remaining in partially liquidated CDP must be >= minimum"

@dapp-whisperer it should work now with this test fix: f0ec8d0 in dev branch

I verified with the offending counterexample by explicitly setting the parameters in the test testPartiallyLiquidateSingleCDP()

        debtAmt = 18446744073709551615;
        partialRatioBps = 9974;

and

        debtAmt = 17511313325507462441;
        partialRatioBps = 9941;