diff --git a/packages/transactions/src/signatures.ts b/packages/transactions/src/signatures.ts index 531caa9b463..aa7d3c4773e 100644 --- a/packages/transactions/src/signatures.ts +++ b/packages/transactions/src/signatures.ts @@ -4,7 +4,7 @@ import { isSignerRole } from '@solana/instructions'; import { Ed25519Signature, signBytes } from '@solana/keys'; import { ITransactionWithFeePayer } from './fee-payer'; -import { CompiledMessage, compileMessage } from './message'; +import { compileMessage } from './message'; import { getCompiledMessageEncoder } from './serializers/message'; export interface IFullySignedTransaction extends ITransactionWithSignatures { @@ -63,12 +63,6 @@ export function isTransactionSignature( return true; } -async function getCompiledMessageSignature(message: CompiledMessage, secretKey: CryptoKey) { - const wireMessageBytes = getCompiledMessageEncoder().encode(message); - const signature = await signBytes(secretKey, wireMessageBytes); - return signature; -} - export function getSignatureFromTransaction( transaction: ITransactionWithFeePayer & ITransactionWithSignatures ): TransactionSignature { @@ -91,12 +85,10 @@ export async function signTransaction = 'signatures' in transaction ? { ...transaction.signatures } : {}; + const wireMessageBytes = getCompiledMessageEncoder().encode(compiledMessage); const publicKeySignaturePairs = await Promise.all( keyPairs.map(keyPair => - Promise.all([ - getAddressFromPublicKey(keyPair.publicKey), - getCompiledMessageSignature(compiledMessage, keyPair.privateKey), - ]) + Promise.all([getAddressFromPublicKey(keyPair.publicKey), signBytes(keyPair.privateKey, wireMessageBytes)]) ) ); for (const [signerPublicKey, signature] of publicKeySignaturePairs) {