stlpisign

HTML

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/stellar-sdk.min.js"></script>
ad

JavaScript

//import * as StellarSdk from "https://cdn.jsdelivr.net/npm/[email protected]/dist/stellar-sdk.min.js";


const signature = "B7FzJHXT73YP6MnkrY7smPxokkcykOAY13x0v9AN/xNQD8NGFO3MEtvJXQu9Nu+EsrVC12U92WN3h5lRiztdBQ==";
const data = ""; // Your data to be signed
const potentialPublicKeys = ["GBEXAMPLE...", "GBANOTHER..."]; // Replace with your potential public keys

//console.log(StellarSdk);
//const {KeyPair} = StellarSdk.KeyPair; //.random();
// const keypair =  StellarSdk.KeyPair.fromRawEd25519Seed(publicKey);

try {
  const publicKey = getPublicKeyFromSignature(signature, data);
  console.log("Extracted Public Key:", publicKey);
} catch (error) {
  console.error("Error:", error.message);
}

function getPublicKeyFromSignature(signature, data) {
  for (const publicKey of potentialPublicKeys) {
    //const keypair = StellarSdk.KeyPair.fromPublicKey(publicKey);
     const keypair =  StellarSdk.KeyPair.fromRawEd25519Seed(publicKey);
   
    if (keypair.verify(data, signature)) {
      return publicKey;
    }
  }

  throw new Error("Couldn't find public key for the signature");
}