nearcore icon indicating copy to clipboard operation
nearcore copied to clipboard

yield/resume: separate timeout receipts in balance checker

Open saketh-are opened this issue 3 months ago • 2 comments

Instead of lumping in yield timeouts with incoming receipts, gives them their own field in BalanceMismatchError.

saketh-are avatar Mar 21 '24 21:03 saketh-are

Codecov Report

Attention: Patch coverage is 28.57143% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 71.43%. Comparing base (5b4d787) to head (69ffc35). Report is 1 commits behind head on master.

Files Patch % Lines
core/primitives/src/errors.rs 0.00% 3 Missing :warning:
runtime/runtime/src/balance_checker.rs 50.00% 0 Missing and 2 partials :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #10853      +/-   ##
==========================================
- Coverage   71.44%   71.43%   -0.01%     
==========================================
  Files         764      764              
  Lines      153894   153899       +5     
  Branches   153894   153899       +5     
==========================================
- Hits       109954   109945       -9     
- Misses      38939    38952      +13     
- Partials     5001     5002       +1     
Flag Coverage Δ
backward-compatibility 0.24% <0.00%> (-0.01%) :arrow_down:
db-migration 0.24% <0.00%> (-0.01%) :arrow_down:
genesis-check 1.41% <0.00%> (-0.01%) :arrow_down:
integration-tests 36.82% <14.28%> (+0.06%) :arrow_up:
linux 70.07% <28.57%> (-0.02%) :arrow_down:
linux-nightly 70.91% <28.57%> (-0.03%) :arrow_down:
macos 54.61% <14.28%> (-0.01%) :arrow_down:
pytests 1.64% <0.00%> (-0.01%) :arrow_down:
sanity-checks 1.42% <0.00%> (-0.01%) :arrow_down:
unittests 67.15% <28.57%> (+<0.01%) :arrow_up:
upgradability 0.29% <0.00%> (-0.01%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 21 '24 22:03 codecov[bot]

So, one thing I'm not sure about is that this is modifying a borsh-encoded type, and as far as I can tell no provisions are being taken to ensure that both the old and new data can be decoded/encoded.

Important questions:

  • Where does this type end up at?
  • Is it protocol-version sensitive?
  • What are our options to make this compatible across e.g. protocol version upgrade if so?

nagisa avatar Mar 25 '24 14:03 nagisa