Repository navigation
Expand file tree
/
Copy pathactions-5Fw25feT.js
More file actions
3 lines (3 loc) · 3.58 KB
/
Copy pathactions-5Fw25feT.js
File metadata and controls
3 lines (3 loc) · 3.58 KB
1
2
3
//# allFunctionsCalledOnLoad
import{R as e,X as t}from"./objectUrlUtils-DVl-EMJc.js";import{t as n}from"./commonStateStorage-B5S1m5vQ.js";import{a as r,n as i}from"./encryptedStorageLayer-L4vLBdVi.js";import{i as a}from"./hotReloadGuard-CHYXNvhm.js";import{o}from"./liteMode-C33MNtex.js";import{t as s}from"./bytesCmpConstTime-nvswWGcB.js";var c=1e5;async function l(e,t){let n=new TextEncoder().encode(e);e=``;let r=await crypto.subtle.importKey(`raw`,n,{name:`PBKDF2`},!1,[`deriveBits`]),i=await crypto.subtle.deriveBits({name:`PBKDF2`,salt:t,iterations:c,hash:`SHA-256`},r,256);return new Uint8Array(i)}async function u(e,t){let n=new TextEncoder().encode(e);e=``;let r=await crypto.subtle.importKey(`raw`,n,{name:`PBKDF2`},!1,[`deriveKey`]);return crypto.subtle.deriveKey({name:`PBKDF2`,salt:t,iterations:c,hash:`SHA-256`},r,{name:`AES-GCM`,length:256},!0,[`encrypt`,`decrypt`])}async function d(e){let t=crypto.getRandomValues(new Uint8Array(16)),n=crypto.getRandomValues(new Uint8Array(16)),r=await u(e,t),i=await l(e,n);return e=``,{verificationHash:i,verificationSalt:n,encryptionSalt:t,encryptionKey:r}}function f(){let{rootScope:c,apiManagerProxy:f}=a();async function p(){e.temporarilyToggle(!1),await f.invoke(`toggleCacheStorage`,!1),await f.serviceMessagePort.invoke(`toggleCacheStorage`,!1)}async function m(){e.temporarilyToggle(!0),await f.invoke(`toggleCacheStorage`,!0),await f.serviceMessagePort.invoke(`toggleCacheStorage`,!0)}async function h(){await e.clearEncryptableStorages(),e.resetOpenEncryptableCacheStorages(),await Promise.all([f.invoke(`resetEncryptableCacheStorages`,void 0),f.serviceMessagePort.invoke(`resetEncryptableCacheStorages`,void 0)])}async function g(e){let{verificationHash:a,verificationSalt:s,encryptionSalt:l,encryptionKey:u}=await d(e);e=``,await n.set({passcode:{verificationHash:a,verificationSalt:s,encryptionSalt:l}});let[,g]=o();await g(`passcode`,`enabled`,!0),await p(),await h();let _={isUsingPasscode:!0,encryptionKey:u};await f.invoke(`toggleUsingPasscode`,_),await f.serviceMessagePort.invoke(`toggleUsingPasscode`,{type:`full`,..._}),c.dispatchEvent(`toggle_using_passcode`,!0),r.resolveDeferred(!0),i.save(u),await m(),await t.updateStorageForLegacy(null)}async function _(e){let t=await n.get(`passcode`,!1);if(!t?.verificationHash||!t?.verificationSalt)return!1;let r=await l(e,t.verificationSalt);return e=``,s(r,t.verificationHash)}async function v(){let[,e]=o();await e(`passcode`,`enabled`,!1),c.dispatchEvent(`toggle_using_passcode`,!1),await p(),await h(),await f.invoke(`toggleUsingPasscode`,{isUsingPasscode:!1}),await f.serviceMessagePort.invoke(`toggleUsingPasscode`,{type:`full`,isUsingPasscode:!1}),i.save(null),r.resolveDeferred(!1),await m(),n.delete(`passcode`),await t.updateStorageForLegacy(await t.get(1))}async function y(e){let{verificationHash:t,verificationSalt:r,encryptionSalt:a,encryptionKey:o}=await d(e);e=``;let s={verificationHash:t,verificationSalt:r,encryptionSalt:a};await p(),await h(),await f.invoke(`changePasscode`,{toStore:s,encryptionKey:o}),await f.serviceMessagePort.invoke(`saveEncryptionKey`,o),i.save(o),await m(),await n.set({passcode:s},!0)}async function b(e){let t=await n.get(`passcode`,!1);if(!t?.encryptionSalt)throw Error(`No encryption salt found in storage`);let r=await u(e,t.encryptionSalt);e=``,i.save(r),await f.invoke(`saveEncryptionKey`,r),await f.serviceMessagePort.invoke(`toggleUsingPasscode`,{type:`full`,isUsingPasscode:!0,encryptionKey:r}),f.invokeVoid(`toggleLockOthers`,!1)}return{enablePasscode:g,isMyPasscode:_,disablePasscode:v,changePasscode:y,unlockWithPasscode:b}}export{f as t};
//# sourceMappingURL=actions-5Fw25feT.js.map