{"version":3,"file":"generateKeypair.cjs","sources":["../../../../src/auth/generateKeypair.ts"],"sourcesContent":["export async function generateKeypair(): Promise<{\n  publicKey: Uint8Array;\n  secretKey: Uint8Array;\n}> {\n  const keyPair = await crypto.subtle.generateKey(\"Ed25519\", true, [\n    \"sign\",\n    \"verify\",\n  ]);\n\n  const publicKey = new Uint8Array(\n    await crypto.subtle.exportKey(\"raw\", keyPair.publicKey)\n  );\n  const pkcs8 = new Uint8Array(\n    await crypto.subtle.exportKey(\"pkcs8\", keyPair.privateKey)\n  );\n\n  // Ed25519 PKCS8 wraps the 32-byte seed after an ASN.1 header; extract the last 32 bytes\n  const seed = pkcs8.slice(-32);\n\n  // Solana keypair format: [32-byte seed | 32-byte public key]\n  const secretKey = new Uint8Array(64);\n  secretKey.set(seed);\n  secretKey.set(publicKey, 32);\n\n  return { publicKey, secretKey };\n}\n"],"names":[],"mappings":";;AAAO,eAAe,eAAe,GAAA;AAInC,IAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE;QAC/D,MAAM;QACN,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAC9B,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CACxD;AACD,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAC3D;;IAGD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;AAG7B,IAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AACpC,IAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACnB,IAAA,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;AAE5B,IAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE;AACjC;;;;"}