android-sync-identity-C0F3-ylh.js

874 B · raw

1import{a as e,t}from"./dist-Cgg5UYwv.js";import{t as n}from"./x25519-Db67hy0X.js";var r=e(`SyncKey`),i=null;function a(e){return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function o(e){let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.slice(n,n+2),16);return t}async function s(){if(i)return i;if(!t.isNativePlatform())throw Error(`Android sync identity requested on non-native platform`);let e=await r.loadKeypair();if(e.privateKeyHex&&e.publicKeyHex)return i={privateKey:o(e.privateKeyHex),publicKey:o(e.publicKeyHex)},i;let s=n(),c=a(s.secretKey),l=a(s.publicKey);return await r.saveKeypair({privateKeyHex:c,publicKeyHex:l}),i={privateKey:s.secretKey,publicKey:s.publicKey},i}async function c(){if(i=null,t.isNativePlatform())try{await r.clearKeypair()}catch{}}export{c as clearAndroidSyncIdentity,s as getAndroidSyncIdentity};