
@solana/compat
This package contains utilities for converting from legacy web3js classes to the new data structures. It can be used standalone, but it is also exported as part of the Solana JavaScript SDK @solana/web3.js@experimental
.
Functions
fromLegacyPublicKey()
This can be used to convert a legacy PublicKey
object to an Address
type
import { fromLegacyPublicKey } from '@solana/compat';
const address = fromLegacyPublicKey(new PublicKey('49XBVQsvSW44ULKL9qufS9YqQPbdcps1TQRijx4FQ9sH'));
fromLegacyKeypair()
This can be used to convert a legacy Keypair
object to a native Ed25519 CryptoKeyPair
object
import { fromLegaycKeypair } from '@solana/compat';
const { privateKey, publicKey } = await fromLegacyKeypair(Keypair.generate());
fromVersionedTransactionWithBlockhash()
This can be used to convert a legacy VersionedTransaction
object that uses a blockhash lifetime to a Transaction
object. The returned transaction fulfils both the ITransactionWithFeePayer
and ITransactionWithBlockhash
interfaces.
import { fromVersionedTransactionWithBlockhash } from '@solana/compat';
const legacyVersionedTransaction = getMyLegacyVersionedTransaction();
const transaction = fromVersionedTransactionWithBlockhash(legacyVersionedTransaction);
fromVersionedTransactionWithDurableNonce()
This can be used to convert a legacy VersionedTransaction
object that uses a durable nonce lifetime to a Transaction
object. The returned transaction fulfils both the ITransactionWithFeePayer
and IDurableNonceTransaction
interfaces.
import { fromVersionedTransactionWithDurableNonce } from '@solana/compat';
const legacyVersionedTransaction = getMyLegacyVersionedTransaction();
const transaction = fromVersionedTransactionWithDurableNonce(legacyVersionedTransaction);