8000 Deprecate `CompilableTransactionMessage` by lorisleiva · Pull Request #584 · anza-xyz/kit · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Deprecate CompilableTransactionMessage #584

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
merged 1 commit into from
Jul 9, 2025

Conversation

lorisleiva
Copy link
Member
@lorisleiva lorisleiva commented Jun 26, 2025

This PR deprecated the CompilableTransactionMessage type and removes internal usages of that type.

Copy link
changeset-bot bot commented Jun 26, 2025

🦋 Changeset detected

Latest commit: 1af5afc

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

This PR includes changesets to release 40 packages
Name Type
@solana/transaction-messages Patch
@solana/signers Patch
@solana/kit Patch
@solana/programs Patch
@solana/rpc-api Patch
@solana/rpc-subscriptions-api Patch
@solana/transaction-confirmation Patch
@solana/transactions Patch
@solana/react Patch
@solana/rpc Patch
@solana/sysvars Patch
@solana/rpc-subscriptions Patch
@solana/compat Patch
@solana/rpc-graphql 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/errors Patch
@solana/fast-stable-stringify Patch
@solana/functional Patch
@solana/instructions Patch
@solana/keys Patch
@solana/nominal-types Patch
@solana/options Patch
@solana/promises Patch
@solana/rpc-parsed-types Patch
@solana/rpc-spec-types Patch
@solana/rpc-spec Patch
@solana/rpc-subscriptions-channel-websocket Patch
@solana/rpc-subscriptions-spec Patch
@solana/rpc-transformers Patch
@solana/rpc-transport-http Patch
@solana/rpc-types Patch
@solana/subscribable 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
Member Author
lorisleiva commented Jun 26, 2025

@lorisleiva lorisleiva changed the title Deprecate CompilableTransactionMessage Deprecate CompilableTransactionMessage Jun 26, 2025
Copy link
bundlemon bot commented Jun 26, 2025

BundleMon

Files updated (4)
Status Path Size Limits
@solana/kit production bundle
kit/dist/index.production.min.js
34.5KB (-24B -0.07%) -
kit/dist/index.browser.mjs
2.53KB (-186B -6.7%) -
kit/dist/index.native.mjs
2.53KB (-186B -6.71%) -
kit/dist/index.node.mjs
2.53KB (-186B -6.71%) -
Unchanged files (123)
Status Path Size Limits
rpc-graphql/dist/index.browser.mjs
18.82KB -
rpc-graphql/dist/index.native.mjs
18.82KB -
rpc-graphql/dist/index.node.mjs
18.82KB -
errors/dist/index.node.mjs
14.59KB -
errors/dist/index.browser.mjs
14.57KB -
errors/dist/index.native.mjs
14.57KB -
transaction-messages/dist/index.browser.mjs
7.37KB -
transaction-messages/dist/index.native.mjs
7.36KB -
transaction-messages/dist/index.node.mjs
7.36KB -
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 -
addresses/dist/index.browser.mjs
2.93KB -
rpc-transformers/dist/index.browser.mjs
2.93KB -
rpc-transformers/dist/index.native.mjs
2.93KB -
addresses/dist/index.native.mjs
2.93KB -
addresses/dist/index.node.mjs
2.93KB -
rpc-transformers/dist/index.node.mjs
2.93KB -
signers/dist/index.browser.mjs
2.63KB -
signers/dist/index.native.mjs
2.63KB -
signers/dist/index.node.mjs
2.62KB -
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.39KB -
sysvars/dist/index.browser.mjs
2.35KB -
sysvars/dist/index.native.mjs
2.34KB -
transaction-confirmation/dist/index.native.mj
s
2.34KB -
sysvars/dist/index.node.mjs
2.34KB -
transaction-confirmation/dist/index.browser.m
js
2.34KB -
transactions/dist/index.browser.mjs
2.3KB -
transactions/dist/index.native.mjs
2.3KB -
transactions/dist/index.node.mjs
2.29KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.18KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.13KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.13KB -
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 -
react/dist/index.native.mjs
1.99KB -
react/dist/index.browser.mjs
1.99KB -
react/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.53KB -
rpc-types/dist/index.native.mjs
1.53KB -
rpc-types/dist/index.node.mjs
1.53KB -
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
852B -
rpc-spec/dist/index.native.mjs
851B -
rpc-spec/dist/index.node.mjs
850B -
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
230B -
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 -
ws-impl/dist/index.browser.mjs
113B -
crypto-impl/dist/index.node.mjs
111B -
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 -582B -0.16%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@lorisleiva lorisleiva force-pushed the 06-26-deprecate_compilabletransactionmessage branch from b01ee8e to 7601485 Compare June 26, 2025 15:48
Copy link
Contributor
github-actions bot commented Jun 26, 2025

Documentation Preview: https://kit-docs-ayvdsulmd-anza-tech.vercel.app

@lorisleiva lorisleiva marked this pull request as ready for review June 26, 2025 16:32
Copy link
Collaborator
@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.

Maybe just expand on the tests a bit to show ‘lifetime absent’ messages getting treated properly?

Comment on lines 209 to 217
it('asks for a replacement blockhash even when the transaction message has a blockhash lifetime', () => {
const transactionMessage = {
...mockTransactionMessage,
lifetimeConstraint: MOCK_BLOCKHASH_LIFETIME_CONSTRAINT,
};

getComputeUnitEstimateForTransactionMessage_INTERNAL_ONLY_DO_NOT_EXPORT({
rpc,
transactionMessage: {
...mockTransactionMessage,
lifetimeConstraint: MOCK_BLOCKHASH_LIFETIME_CONSTRAINT,
},
transactionMessage,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Per #581, this is one of those opportunities where we can just leave the lifetimeConstraint out rather than to supply a fake one right? ie. this should be split into two tests, one where you don't supply one at all, and one where you supply one that just gets written over.

Copy link
Member Author

Choose a reason for hiding this comment

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

It's gone sir. 🫡

Comment on lines -45 to -50
// HACK: Since the `compileTransaction()` method will not compile a transaction with no lifetime we
// supply a dummy lifetime.
const INVALID_BUT_SUFFICIENT_FOR_COMPILATION_BLOCKHASH = {
blockhash: '11111111111111111111111111111111' as Blockhash,
lastValidBlockHeight: 0n, // This is not included in compiled transactions; it can be anything.
} as const;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Added via Giphy

@lorisleiva lorisleiva force-pushed the 06-26-allow_messages_with_no_lifetime_in_size_helpers branch from 9a4e686 to 75cd14a Compare June 27, 2025 10:00
@lorisleiva lorisleiva force-pushed the 06-26-deprecate_compilabletransactionmessage branch 2 times, most recently from 6e65787 to df62f6d Compare July 1, 2025 09:18
@lorisleiva lorisleiva force-pushed the 06-26-allow_messages_with_no_lifetime_in_size_helpers branch from 75cd14a to 41452b8 Compare July 1, 2025 09:18
@lorisleiva lorisleiva force-pushed the 06-26-deprecate_compilabletransactionmessage branch from df62f6d to 2f5b244 Compare July 1, 2025 09:22
@lorisleiva lorisleiva force-pushed the 06-26-allow_messages_with_no_lifetime_in_size_helpers branch from 41452b8 to 721dacd Compare July 1, 2025 09:22
@lorisleiva lorisleiva force-pushed the 06-26-deprecate_compilabletransactionmessage branch from 2f5b244 to 49de3a2 Compare July 1, 2025 09:43
Copy link
Collaborator
@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.

Added via Giphy

@lorisleiva lorisleiva force-pushed the 06-26-allow_messages_with_no_lifetime_in_size_helpers branch from 721dacd to a0cbc0d Compare July 9, 2025 08:13
@lorisleiva lorisleiva force-pushed the 06-26-deprecate_compilabletransactionmessage branch from 49de3a2 to 2e02696 Compare July 9, 2025 08:13
Copy link
Member Author
lorisleiva commented Jul 9, 2025

Merge activity

  • Jul 9, 8:32 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jul 9, 8:49 AM UTC: Graphite rebased this pull request as part of a merge.
  • Jul 9, 8:52 AM UTC: @lorisleiva merged this pull request with Graphite.

@lorisleiva lorisleiva changed the base branch from 06-26-allow_messages_with_no_lifetime_in_size_helpers to graphite-base/584 July 9, 2025 08:45
@lorisleiva lorisleiva changed the base branch from graphite-base/584 to main July 9, 2025 08:48
@lorisleiva lorisleiva force-pushed the 06-26-deprecate_compilabletransactionmessage branch from 2e02696 to 1af5afc Compare July 9, 2025 08:49
@lorisleiva lorisleiva merged commit 760fb83 into main Jul 9, 2025
14 checks passed
@lorisleiva lorisleiva deleted the 06-26-deprecate_compilabletransactionmessage branch July 9, 2025 08:52
@github-actions github-actions bot mentioned this pull request Jul 9, 2025
steveluscher pushed a commit that referenced this pull request Jul 14, 2025
This PR adjusts some of the changesets of a [previously merged PR stack](#584) such that `major` bumps are used when breaking changes are introduced.
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
0