solana-labs/solana

Versioned Transaction and Address Lookup Table feature activation

jstarry opened this issue ยท 24 comments

Problem

Support for versioned transactions and the new address lookup table feature hasn't been enabled on the mainnet-beta cluster yet. Enabling this feature is critical for allowing users to read / write more accounts in a single atomic transaction.

Rollout Plan

  • Core Implementation
  • Core Audit
  • RPC Support
    • Support versioned transactions in sendTransaction, simulateTransaction, getTransaction, and getBlock: #22530 (v1.10)
    • Include lookup table keys in account keys list for parsedJson requests: #27552 (v1.10)
    • getFeeForMessage: #28217 (pending v1.10 release)
    • Improved unsupported transaction version error: #28249 (pending v1.10 release)
  • Client Implementation
  • Guides
  • Activate max_tx_account_locks feature
    • Testnet
    • Devnet
    • Mainnet-Beta
  • Activate require_static_program_ids_in_transaction: #25034
    • Testnet
    • Devnet
    • Mainnet-Beta
  • Activate versioned_tx_message_enabled: #24047
    • Testnet
    • Devnet
    • Mainnet-Beta
  • Activate increase_tx_account_lock_limit: #27241
    • Testnet
    • Devnet
    • Mainnet-Beta
  • Activate loosen_cpi_size_restriction: #26641
    • Testnet
    • Devnet
    • Mainnet-Beta

Wen mainnet-beta?

got here via https://github.com/staccDOTsol/address-lookup-table-multi-swap

kidding lol wp

Any update on this being merged ?

The changes are merged but guides are still in progress. We are targeting a launch at the end of September assuming that all parties have enough time to prepare.

Is there any demo of using address lookup table and version transaction ?

This might help a little
https://medium.com/@antematterio/how-to-use-address-lookup-tables-in-solana-e2fe42dcc101

@jstarry Just checking in. Is this on mainnet? Thanks!

Targeting Oct 7th for activation

Note, activation tomorrow but latest cli does not have #27123 in solana-cli 1.14.3

still on for a 7th october activation? have heard some rumors of the update being paused for now

Pushing back one more epoch to avoid activating on the weekend in case any service get disrupted due to the new transaction version. So the new date is Monday, Oct 10th.

thanks for the update!

one

more

epoch

Have there been noticeable getBlock perf. hits with this or did a new index get added that needs to be added to get the same perf as prior to activation?

Did this ever get activated?

Did this ever get activated?

Yes, it did. A few weeks ago...

Hi @jstarry,

Just wondering if I'm understanding this correctly, but if an ALT is deactivated and closed, it seems to mean that a message which references that ALT can no longer load any addresses belonging to that ALT?

Hi @jstarry,

Just wondering if I'm understanding this correctly, but if an ALT is deactivated and closed, it seems to mean that a message which references that ALT can no longer load any addresses belonging to that ALT?

Yeah, that's correct.

Hi @jstarry,

Just wondering if I'm understanding this correctly, but if an ALT is deactivated and closed, it seems to mean that a message which references that ALT can no longer load any addresses belonging to that ALT?

Yeah, that's correct.

If an account referenced in the ALT is no longer accessible, that would cause history to be lost from running getSignaturesForAddress or trying to associate that account to the transaction, right?

What is the reason for allowing closing of an ALT?

No, there shouldn't be any history lost. The data supporting getSignaturesForAddress and other RPC endpoints gets stored in rocksdb when the transaction is processed, and duplicated to bigtable from there.

No, there shouldn't be any history lost. The data supporting getSignaturesForAddress and other RPC endpoints gets stored in rocksdb when the transaction is processed, and duplicated to bigtable from there.

Hey @CriesofCarrots , does this mean loadedAddresses from getTransaction still returns the right data even when the ALT account is closed?

Hey @CriesofCarrots , does this mean loadedAddresses from getTransaction still returns the right data even when the ALT account is closed?

Yes, that's correct.

Hey @CriesofCarrots , does this mean loadedAddresses from getTransaction still returns the right data even when the ALT account is closed?

Yes, that's correct.

Awesome!

Thanks for your quick response!

No, there shouldn't be any history lost. The data supporting getSignaturesForAddress and other RPC endpoints gets stored in rocksdb when the transaction is processed, and duplicated to bigtable from there.

๐Ÿ‘ .

When walking backwards through transactions, if the ALT is not accessible, what would be the best way to find a referenced account?

EDIT: Disregard. Outdated as I wrote it and submitted without seeing the other comments..

Is there any demo of using address lookup table and version transaction ?

This might help a little https://medium.com/@antematterio/how-to-use-address-lookup-tables-in-solana-e2fe42dcc101

Any example to use to create the version transaction using PDA ?

https://blog.a26nine.dev/address-lookup-tables-and-versioned-transactions-on-solana