This package contains utilities for converting from legacy web3js classes to the new data structures in Kit. It can be used standalone, but it is also exported as part of Kit @solana/kit
.
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'));
This can be used to convert a legacy Keypair
object to a native Ed25519 CryptoKeyPair
object
import { fromLegacyKeypair } from '@solana/compat';
const { privateKey, publicKey } = await fromLegacyKeypair(Keypair.generate());
This can be used to convert a legacy VersionedTransaction
object to a Transaction
object.
import { fromVersionedTransaction } from '@solana/compat';
// imagine a function that returns a legacy `VersionedTransaction`
const legacyVersionedTransaction = getMyLegacyVersionedTransaction();
const transaction = fromVersionedTransaction(legacyVersionedTransaction);
This can be used to convert a legacy TransactionInstruction
object to a IInstruction
object.
import { fromLegacyTransactionInstruction } from '@solana/compat';
// imagine a function that returns a legacy `TransactionInstruction`
const legacyInstruction = getMyLegacyInstruction();
const instruction = fromLegacyTransactionInstruction(legacyInstruction);