Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

Accept bigints in RPC error factories #3519

Merged
merged 1 commit into from
Nov 5, 2024

Conversation

lorisleiva
Copy link
Contributor

@lorisleiva lorisleiva commented Nov 1, 2024

This PR makes the failing tests introduced in the previous PR pass.

See #3518.

Copy link

changeset-bot bot commented Nov 1, 2024

🦋 Changeset detected

Latest commit: 2ee94ba

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

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
Contributor Author

lorisleiva commented Nov 1, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @lorisleiva and the rest of your teammates on Graphite Graphite

Copy link

bundlemon bot commented Nov 1, 2024

BundleMon

Files updated (7)
Status Path Size Limits
errors/dist/index.native.mjs
13.98KB (+52B +0.36%) -
errors/dist/index.browser.mjs
13.99KB (+51B +0.36%) -
errors/dist/index.node.mjs
14KB (+51B +0.36%) -
@solana/web3.js production bundle
library/dist/index.production.min.js
33.65KB (-40B -0.12%) -
rpc-transport-http/dist/index.browser.mjs
1.9KB (-125B -6.03%) -
rpc-transport-http/dist/index.node.mjs
1.75KB (-125B -6.53%) -
rpc-transport-http/dist/index.native.mjs
1.9KB (-126B -6.08%) -
Unchanged files (118)
Status Path Size Limits
rpc-graphql/dist/index.browser.mjs
18.79KB -
rpc-graphql/dist/index.native.mjs
18.79KB -
rpc-graphql/dist/index.node.mjs
18.79KB -
transaction-messages/dist/index.browser.mjs
7.05KB -
transaction-messages/dist/index.native.mjs
7.05KB -
transaction-messages/dist/index.node.mjs
7.05KB -
codecs-data-structures/dist/index.browser.mjs
4.63KB -
codecs-data-structures/dist/index.native.mjs
4.62KB -
codecs-data-structures/dist/index.node.mjs
4.62KB -
webcrypto-ed25519-polyfill/dist/index.node.mj
s
3.49KB -
webcrypto-ed25519-polyfill/dist/index.browser
.mjs
3.47KB -
webcrypto-ed25519-polyfill/dist/index.native.
mjs
3.45KB -
rpc-subscriptions/dist/index.browser.mjs
3.33KB -
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-subscriptions/dist/index.native.mjs
3.26KB -
rpc-subscriptions/dist/index.node.mjs
3.25KB -
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.8KB -
addresses/dist/index.native.mjs
2.8KB -
addresses/dist/index.node.mjs
2.8KB -
library/dist/index.browser.mjs
2.67KB -
library/dist/index.native.mjs
2.67KB -
library/dist/index.node.mjs
2.67KB -
codecs-strings/dist/index.browser.mjs
2.53KB -
signers/dist/index.browser.mjs
2.53KB -
signers/dist/index.native.mjs
2.53KB -
signers/dist/index.node.mjs
2.53KB -
codecs-strings/dist/index.node.mjs
2.48KB -
codecs-strings/dist/index.native.mjs
2.46KB -
sysvars/dist/index.browser.mjs
2.32KB -
sysvars/dist/index.native.mjs
2.31KB -
sysvars/dist/index.node.mjs
2.31KB -
transaction-confirmation/dist/index.browser.m
js
2.3KB -
transaction-confirmation/dist/index.native.mj
s
2.3KB -
transaction-confirmation/dist/index.node.mjs
2.3KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.04KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.04KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.03KB -
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 -
transactions/dist/index.native.mjs
1.99KB -
transactions/dist/index.node.mjs
1.99KB -
react/dist/index.native.mjs
1.98KB -
react/dist/index.browser.mjs
1.98KB -
react/dist/index.node.mjs
1.98KB -
rpc/dist/index.node.mjs
1.87KB -
keys/dist/index.browser.mjs
1.86KB -
keys/dist/index.native.mjs
1.86KB -
keys/dist/index.node.mjs
1.85KB -
rpc/dist/index.browser.mjs
1.77KB -
rpc/dist/index.native.mjs
1.76KB -
subscribable/dist/index.browser.mjs
1.69KB -
subscribable/dist/index.native.mjs
1.69KB -
subscribable/dist/index.node.mjs
1.69KB -
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.native.mjs
1.27KB -
rpc-subscriptions-channel-websocket/dist/inde
x.browser.mjs
1.26KB -
rpc-subscriptions-channel-websocket/dist/inde
x.node.mjs
1.25KB -
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.12KB -
accounts/dist/index.native.mjs
1.12KB -
accounts/dist/index.node.mjs
1.12KB -
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-spec-types/dist/index.node.mjs
961B -
rpc-api/dist/index.node.mjs
960B -
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
790B -
instructions/dist/index.browser.mjs
771B -
instructions/dist/index.native.mjs
770B -
instructions/dist/index.node.mjs
768B -
assertions/dist/index.native.mjs
724B -
fast-stable-stringify/dist/index.browser.mjs
724B -
assertions/dist/index.node.mjs
723B -
fast-stable-stringify/dist/index.native.mjs
723B -
fast-stable-stringify/dist/index.node.mjs
722B -
compat/dist/index.browser.mjs
712B -
compat/dist/index.native.mjs
711B -
compat/dist/index.node.mjs
710B -
programs/dist/index.browser.mjs
329B -
programs/dist/index.native.mjs
327B -
programs/dist/index.node.mjs
325B -
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 -
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 -262B -0.08%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@lorisleiva lorisleiva force-pushed the loris/accept-bigints-in-error-factories branch 2 times, most recently from 73aedaf to 2d5d282 Compare November 1, 2024 09:43
@lorisleiva lorisleiva marked this pull request as ready for review November 1, 2024 09:49
Copy link
Contributor

@mcintyre94 mcintyre94 left a comment

Choose a reason for hiding this comment

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

Nice, looks good!

Copy link
Contributor

@steveluscher steveluscher left a comment

Choose a reason for hiding this comment

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

I'm fine with this, but I don't think I actually understand why the numeric keypath allowlist is insufficient for this. The root data has that special case in the transport (which we could add to the subscriptions one) and for the errors-as-data (ie. instruction errors) I think we could put a keypath here:

simulateTransaction: [
...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),
...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),
],

Anyway, I think that what this is doing is playing fast and loose with the types, but only internal to the transport; devs will never see a bigint error code.

Added via Giphy

Copy link
Contributor Author

lorisleiva commented Nov 5, 2024

Merge activity

  • Nov 5, 3:30 AM EST: A user started a stack merge that includes this pull request via Graphite.
  • Nov 5, 3:34 AM EST: Graphite rebased this pull request as part of a merge.
  • Nov 5, 3:35 AM EST: A user merged this pull request with Graphite.

@lorisleiva lorisleiva changed the base branch from loris/add-failing-tests-for-bigint-codes-and-indices to graphite-base/3519 November 5, 2024 08:30
@lorisleiva lorisleiva changed the base branch from graphite-base/3519 to master November 5, 2024 08:32
@lorisleiva lorisleiva force-pushed the loris/accept-bigints-in-error-factories branch from 2d5d282 to 2ee94ba Compare November 5, 2024 08:33
@lorisleiva lorisleiva merged commit 2798061 into master Nov 5, 2024
8 checks passed
@lorisleiva lorisleiva deleted the loris/accept-bigints-in-error-factories branch November 5, 2024 08:35
This was referenced Nov 5, 2024
Copy link
Contributor

Because there has been no activity on this PR for 14 days since it was merged, it has been automatically locked. Please open a new issue if it requires a follow up.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants