From 7a814362105a4304852ab0f1ab8d949c7eb655e7 Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 25 Jan 2024 18:32:24 -0800 Subject: [PATCH] Add simulation for zkid public key --- .../transactionBuilder/transactionBuilder.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/transactions/transactionBuilder/transactionBuilder.ts b/src/transactions/transactionBuilder/transactionBuilder.ts index 3bc95c603..5c4078eec 100644 --- a/src/transactions/transactionBuilder/transactionBuilder.ts +++ b/src/transactions/transactionBuilder/transactionBuilder.ts @@ -76,7 +76,7 @@ import { convertArgument, fetchEntryFunctionAbi, standardizeTypeTags } from "./r import { memoizeAsync } from "../../utils/memoize"; import { SigningScheme } from "../../types"; import { getFunctionParts, isScriptDataInput } from "./helpers"; -import { OpenIdSignature, OpenIdSignatureOrZkProof, ZkIDSignature } from "../../core/crypto/zkid"; +import { OpenIdSignature, OpenIdSignatureOrZkProof, ZkIDPublicKey, ZkIDSignature } from "../../core/crypto/zkid"; /** * We are defining function signatures, each with its specific input and output. @@ -382,7 +382,7 @@ export function generateSignedTransactionForSimulation(args: InputSimulateTransa export function getAuthenticatorForSimulation(publicKey: PublicKey) { // TODO add support for AnyMultiKey if (publicKey instanceof AnyPublicKey) { - if (publicKey.publicKey instanceof Ed25519PublicKey) { + if (publicKey.publicKey instanceof Ed25519PublicKey || publicKey.publicKey instanceof ZkIDPublicKey) { return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Ed25519Signature(new Uint8Array(64)))); } if (publicKey.publicKey instanceof Secp256k1PublicKey) { @@ -390,6 +390,13 @@ export function getAuthenticatorForSimulation(publicKey: PublicKey) { } } + if (publicKey instanceof ZkIDPublicKey) { + return new AccountAuthenticatorSingleKey( + new AnyPublicKey(publicKey), + new AnySignature(new Ed25519Signature(new Uint8Array(64))), + ); + } + // legacy code return new AccountAuthenticatorEd25519( new Ed25519PublicKey(publicKey.toUint8Array()),