Common Solana Cryptography & Serialization Utilities.
var jsonConfig = ""; var ji = JsonIterator.parse(jsonConfig); var signer = PrivateKeyEncoding.fromJsonPrivateKey(ji);
pubKey
[1,2,3, ... ,42]
{ "pubKey": "<BASE58_ENCODED_PUBLIC_KEY>", "encoding": "jsonKeyPairArray", "secret": [] }
{ "pubKey": "<BASE58_ENCODED_PUBLIC_KEY>", "encoding": "base64KeyPair", "secret": "asdf==" }
{ "pubKey": "<BASE58_ENCODED_PUBLIC_KEY>", "encoding": "base64PrivateKey", "secret": "asdf==" }
byte[] legacyTransactionData = ...; var skeleton = TransactionSkeleton.deserializeSkeleton(legacyTransactionData); AccountMeta[] accounts = skeleton.parseAccounts(); Instruction[] instructions = skeleton.parseLegacyInstructions(); Transaction transaction = skeleton.createTransaction()
byte[] v0TransactionData = ...; var skeleton = TransactionSkeleton.deserializeSkeleton(v0TransactionData); var instructionsWithoutTableAccounts = skeleton.parseInstructionsWithoutTableAccounts(); PublicKey[] tableAccounts = skeleton.lookupTableAccounts(); // ... Fetch table accounts (See RPC) ... AddressLookupTable lookupTable = ...; AccountMeta[] accounts = skeleton.parseAccounts(lookupTable); Instruction[] instructions = skeleton.parseInstructions(accounts); Transaction transaction = skeleton.createTransaction(instructions, lookupTable);