From 7bb7939efcc713710f9b987e6ff8bc92e5c56643 Mon Sep 17 00:00:00 2001 From: Oliver He Date: Sat, 22 Feb 2025 06:20:03 +0900 Subject: [PATCH] For multiKey simulation - use signature of same type (#645) * For multi simulation use signature of same type * update CL --- CHANGELOG.md | 1 + src/transactions/transactionBuilder/transactionBuilder.ts | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 137bb8a3c..39ec5761a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable changes to the Aptos TypeScript SDK will be captured in this file. T # Unreleased +- Update simulation for MultiKeyAccount to use signatures of the same type as the corresponding public key. - Add `truncateAddress` helper function to truncate an address at the middle with an ellipsis. # 1.35.0 (2025-02-11) diff --git a/src/transactions/transactionBuilder/transactionBuilder.ts b/src/transactions/transactionBuilder/transactionBuilder.ts index 10a4838e8..c93a1175f 100644 --- a/src/transactions/transactionBuilder/transactionBuilder.ts +++ b/src/transactions/transactionBuilder/transactionBuilder.ts @@ -638,7 +638,12 @@ export function getAuthenticatorForSimulation(publicKey?: PublicKey) { return new AccountAuthenticatorMultiKey( accountPublicKey, new MultiKeySignature({ - signatures: accountPublicKey.publicKeys.map(() => new AnySignature(invalidSignature)), + signatures: accountPublicKey.publicKeys.map((pubKey) => { + if (KeylessPublicKey.isInstance(pubKey.publicKey) || FederatedKeylessPublicKey.isInstance(pubKey.publicKey)) { + return new AnySignature(KeylessSignature.getSimulationSignature()); + } + return new AnySignature(invalidSignature); + }), bitmap: accountPublicKey.createBitmap({ bits: Array(accountPublicKey.publicKeys.length) .fill(0)