Skip to content

Repair the SysvarEpochRewards fetcher/decoder/encoder #374

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

steveluscher
Copy link
Collaborator

Problem

This fell out of sync as of anza-xyz/agave#428 and is now reporting incorrect data.

Test Plan

pnpm dlx bun repl
> import {fetchSysvarEpochRewards} from './packages/sysvars';
undefined
> import {createSolanaRpc} from './packages/kit'
undefined
> const r = createSolanaRpc('https://api.mainnet-beta.solana.com')
undefined
> await fetchSysvarEpochRewards(r);
{
  distributionStartingBlockHeight: 310449729n,
  numPartitions: 319n,
  parentBlockhash: 'GYMCsbMsLA1AnsXPaPAA7pAbbA5vEBLTgM3QgBvdBUxF',
  totalPoints: 2643849320321396387655516n,
  totalRewards: 150870678501792n,
  distributedRewards: 150870677130403n,
  active: false
}

Compare to:

curl https://api.mainnet-beta.solana.com -s -X \
  POST -H "Content-Type: application/json" -d '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getAccountInfo",
    "params": [
      "SysvarEpochRewards1111111111111111111111111",
      {
        "encoding": "jsonParsed"
      }
    ]
  }
' | jq
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "apiVersion": "2.1.16",
      "slot": 332620574
    },
    "value": {
      "data": {
        "parsed": {
          "info": {
            "active": false,
            "distributedRewards": "150870677130403",
            "distributionStartingBlockHeight": 310449729,
            "numPartitions": 319,
            "parentBlockhash": "GYMCsbMsLA1AnsXPaPAA7pAbbA5vEBLTgM3QgBvdBUxF",
            "totalPoints": "2643849320321396387655516",
            "totalRewards": "150870678501792"
          },
          "type": "epochRewards"
        },
        "program": "sysvar",
        "space": 81
      },
      "executable": false,
      "lamports": 1454640,
      "owner": "Sysvar1111111111111111111111111111111111111",
      "rentEpoch": 18446744073709551615,
      "space": 81
    }
  },
  "id": 1
}

Copy link

vercel bot commented Apr 10, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
kit-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 11, 2025 5:56pm

Copy link

changeset-bot bot commented Apr 10, 2025

🦋 Changeset detected

Latest commit: f5b85fb

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 39 packages
Name Type
@solana/sysvars Patch
@solana/kit Patch
@solana/accounts Patch
@solana/addresses Patch
@solana/assertions Patch
@solana/codecs-core Patch
@solana/codecs-data-structures Patch
@solana/codecs-numbers Patch
@solana/codecs-strings Patch
@solana/codecs Patch
@solana/compat Patch
@solana/errors Patch
@solana/fast-stable-stringify Patch
@solana/functional Patch
@solana/instructions Patch
@solana/keys Patch
@solana/options Patch
@solana/programs Patch
@solana/promises Patch
@solana/react Patch
@solana/rpc-api Patch
@solana/rpc-graphql Patch
@solana/rpc-parsed-types Patch
@solana/rpc-spec-types Patch
@solana/rpc-spec Patch
@solana/rpc-subscriptions-api Patch
@solana/rpc-subscriptions-channel-websocket Patch
@solana/rpc-subscriptions-spec Patch
@solana/rpc-subscriptions Patch
@solana/rpc-transformers Patch
@solana/rpc-transport-http Patch
@solana/rpc-types Patch
@solana/rpc Patch
@solana/signers Patch
@solana/subscribable Patch
@solana/transaction-confirmation Patch
@solana/transaction-messages Patch
@solana/transactions Patch
@solana/webcrypto-ed25519-polyfill Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

bundlemon bot commented Apr 10, 2025

BundleMon

Files updated (3)
Status Path Size Limits
sysvars/dist/index.native.mjs
2.3KB (+57B +2.48%) -
sysvars/dist/index.node.mjs
2.3KB (+57B +2.48%) -
sysvars/dist/index.browser.mjs
2.3KB (+56B +2.43%) -
Unchanged files (124)
Status Path Size Limits
@solana/kit production bundle
kit/dist/index.production.min.js
34.11KB -
rpc-graphql/dist/index.browser.mjs
18.76KB -
rpc-graphql/dist/index.native.mjs
18.75KB -
rpc-graphql/dist/index.node.mjs
18.75KB -
errors/dist/index.node.mjs
14.48KB -
errors/dist/index.browser.mjs
14.46KB -
errors/dist/index.native.mjs
14.46KB -
transaction-messages/dist/index.browser.mjs
7.06KB -
transaction-messages/dist/index.native.mjs
7.06KB -
transaction-messages/dist/index.node.mjs
7.06KB -
codecs-data-structures/dist/index.native.mjs
4.77KB -
codecs-data-structures/dist/index.browser.mjs
4.77KB -
codecs-data-structures/dist/index.node.mjs
4.77KB -
webcrypto-ed25519-polyfill/dist/index.node.mj
s
3.57KB -
webcrypto-ed25519-polyfill/dist/index.browser
.mjs
3.56KB -
webcrypto-ed25519-polyfill/dist/index.native.
mjs
3.54KB -
rpc-subscriptions/dist/index.browser.mjs
3.38KB -
rpc-subscriptions/dist/index.node.mjs
3.34KB -
rpc-subscriptions/dist/index.native.mjs
3.31KB -
codecs-core/dist/index.browser.mjs
3.3KB -
codecs-core/dist/index.native.mjs
3.3KB -
codecs-core/dist/index.node.mjs
3.3KB -
rpc-transformers/dist/index.browser.mjs
2.92KB -
rpc-transformers/dist/index.native.mjs
2.92KB -
rpc-transformers/dist/index.node.mjs
2.92KB -
addresses/dist/index.browser.mjs
2.86KB -
addresses/dist/index.native.mjs
2.86KB -
addresses/dist/index.node.mjs
2.86KB -
kit/dist/index.browser.mjs
2.71KB -
kit/dist/index.native.mjs
2.71KB -
kit/dist/index.node.mjs
2.71KB -
signers/dist/index.browser.mjs
2.63KB -
signers/dist/index.native.mjs
2.63KB -
signers/dist/index.node.mjs
2.63KB -
codecs-strings/dist/index.browser.mjs
2.53KB -
codecs-strings/dist/index.node.mjs
2.48KB -
codecs-strings/dist/index.native.mjs
2.45KB -
transaction-confirmation/dist/index.node.mjs
2.4KB -
transaction-confirmation/dist/index.native.mj
s
2.34KB -
transaction-confirmation/dist/index.browser.m
js
2.34KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.13KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.08KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.08KB -
keys/dist/index.browser.mjs
2.02KB -
keys/dist/index.native.mjs
2.02KB -
keys/dist/index.node.mjs
2.02KB -
codecs-numbers/dist/index.native.mjs
2.01KB -
codecs-numbers/dist/index.browser.mjs
2.01KB -
codecs-numbers/dist/index.node.mjs
2.01KB -
transactions/dist/index.browser.mjs
1.99KB -
react/dist/index.native.mjs
1.99KB -
transactions/dist/index.native.mjs
1.99KB -
react/dist/index.browser.mjs
1.99KB -
react/dist/index.node.mjs
1.99KB -
transactions/dist/index.node.mjs
1.99KB -
rpc/dist/index.node.mjs
1.95KB -
rpc-transport-http/dist/index.browser.mjs
1.91KB -
rpc-transport-http/dist/index.native.mjs
1.91KB -
rpc/dist/index.native.mjs
1.8KB -
subscribable/dist/index.node.mjs
1.8KB -
rpc/dist/index.browser.mjs
1.8KB -
subscribable/dist/index.native.mjs
1.75KB -
subscribable/dist/index.browser.mjs
1.74KB -
rpc-transport-http/dist/index.node.mjs
1.73KB -
rpc-types/dist/index.browser.mjs
1.6KB -
rpc-types/dist/index.native.mjs
1.6KB -
rpc-types/dist/index.node.mjs
1.6KB -
rpc-subscriptions-channel-websocket/dist/inde
x.node.mjs
1.33KB -
rpc-subscriptions-channel-websocket/dist/inde
x.native.mjs
1.27KB -
rpc-subscriptions-channel-websocket/dist/inde
x.browser.mjs
1.26KB -
options/dist/index.browser.mjs
1.18KB -
options/dist/index.native.mjs
1.18KB -
options/dist/index.node.mjs
1.17KB -
accounts/dist/index.browser.mjs
1.13KB -
accounts/dist/index.native.mjs
1.12KB -
accounts/dist/index.node.mjs
1.12KB -
compat/dist/index.browser.mjs
971B -
compat/dist/index.native.mjs
970B -
compat/dist/index.node.mjs
968B -
rpc-spec-types/dist/index.browser.mjs
964B -
rpc-api/dist/index.browser.mjs
963B -
rpc-api/dist/index.native.mjs
962B -
rpc-spec-types/dist/index.native.mjs
962B -
rpc-api/dist/index.node.mjs
961B -
rpc-spec-types/dist/index.node.mjs
961B -
rpc-subscriptions-api/dist/index.native.mjs
870B -
rpc-subscriptions-api/dist/index.node.mjs
869B -
rpc-subscriptions-api/dist/index.browser.mjs
868B -
rpc-spec/dist/index.browser.mjs
829B -
rpc-spec/dist/index.native.mjs
829B -
rpc-spec/dist/index.node.mjs
828B -
promises/dist/index.browser.mjs
799B -
promises/dist/index.native.mjs
798B -
promises/dist/index.node.mjs
797B -
assertions/dist/index.browser.mjs
783B -
instructions/dist/index.browser.mjs
769B -
instructions/dist/index.native.mjs
768B -
instructions/dist/index.node.mjs
767B -
fast-stable-stringify/dist/index.browser.mjs
726B -
fast-stable-stringify/dist/index.native.mjs
725B -
assertions/dist/index.native.mjs
724B -
fast-stable-stringify/dist/index.node.mjs
724B -
assertions/dist/index.node.mjs
723B -
programs/dist/index.browser.mjs
329B -
programs/dist/index.native.mjs
327B -
programs/dist/index.node.mjs
325B -
event-target-impl/dist/index.node.mjs
233B -
functional/dist/index.browser.mjs
154B -
functional/dist/index.native.mjs
152B -
text-encoding-impl/dist/index.native.mjs
152B -
functional/dist/index.node.mjs
151B -
codecs/dist/index.browser.mjs
137B -
codecs/dist/index.native.mjs
136B -
codecs/dist/index.node.mjs
134B -
event-target-impl/dist/index.browser.mjs
133B -
ws-impl/dist/index.node.mjs
131B -
text-encoding-impl/dist/index.browser.mjs
122B -
text-encoding-impl/dist/index.node.mjs
119B -
crypto-impl/dist/index.node.mjs
114B -
ws-impl/dist/index.browser.mjs
113B -
crypto-impl/dist/index.browser.mjs
109B -
rpc-parsed-types/dist/index.browser.mjs
66B -
rpc-parsed-types/dist/index.native.mjs
65B -
rpc-parsed-types/dist/index.node.mjs
63B -

Total files change +170B +0.05%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@steveluscher steveluscher requested a review from joncinque April 10, 2025 21:33
@steveluscher steveluscher changed the base branch from main to graphite-base/374 April 10, 2025 21:37
@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from 78a9c5f to bb22f90 Compare April 10, 2025 21:37
@steveluscher steveluscher changed the base branch from graphite-base/374 to 04-10-document_solana_subscribable_with_typedoc April 10, 2025 21:37
@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from bb22f90 to e7e76fe Compare April 10, 2025 21:49
@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from e7e76fe to 35cf47d Compare April 10, 2025 23:43
Copy link

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks!

@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from 35cf47d to d8a27fa Compare April 11, 2025 16:33
@steveluscher steveluscher force-pushed the 04-10-document_solana_subscribable_with_typedoc branch from 5c39925 to 68edcfc Compare April 11, 2025 16:33
@steveluscher steveluscher changed the base branch from 04-10-document_solana_subscribable_with_typedoc to graphite-base/374 April 11, 2025 16:34
@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from d8a27fa to 498073a Compare April 11, 2025 16:34
@steveluscher steveluscher changed the base branch from graphite-base/374 to 04-04-document_solana_rpc-subscriptions-spec_with_typedoc April 11, 2025 16:34
Copy link
Collaborator Author

steveluscher commented Apr 11, 2025

Merge activity

  • Apr 11, 9:34 AM PDT: A user started a stack merge that includes this pull request via Graphite.
  • Apr 11, 9:36 AM PDT: Graphite rebased this pull request as part of a merge.
  • Apr 11, 9:41 AM PDT: Graphite couldn't merge this PR because it failed for an unknown reason.
  • Apr 11, 10:43 AM PDT: A user started a stack merge that includes this pull request via Graphite.

@steveluscher steveluscher changed the base branch from 04-04-document_solana_rpc-subscriptions-spec_with_typedoc to graphite-base/374 April 11, 2025 16:35
@steveluscher steveluscher changed the base branch from graphite-base/374 to main April 11, 2025 16:35
@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from 498073a to 553883b Compare April 11, 2025 16:36
@steveluscher steveluscher force-pushed the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch from 553883b to f5b85fb Compare April 11, 2025 17:43
@steveluscher steveluscher merged commit 2fb1fbc into main Apr 11, 2025
10 of 11 checks passed
@steveluscher steveluscher deleted the 04-10-repair_the_sysvarepochrewards_fetcher_decoder_encoder branch April 11, 2025 17:44
@github-actions github-actions bot mentioned this pull request Apr 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants