@metamask-previews/wallet 0.0.0-preview-1d367b049 → 0.0.0-preview-d28b57d4b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"keyring-controller.cjs","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":";;;AAKA,qEAYsC;AAEtC,qEAGsC;AACtC,mDAAgD;AAIhD;;;;;;GAMG;AACH,MAAM,cAAc,GAClB,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAa,EACb,GAA+B,EAC/B,IAAa,EACI,EAAE,CACnB,IAAA,4BAAO,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;GAMG;AACH,MAAM,wBAAwB,GAC5B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,MAAe,EACf,IAAa,EACsB,EAAE,CACrC,IAAA,sCAAiB,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAC1B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAY,EACZ,UAAoB,EACpB,IAA2B,EACH,EAAE,CAC1B,IAAA,oCAAe,EACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,IAAI,IAAI;IACN,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CACF,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,qBAAqB,GACzB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAW,EAAE,CACzB,IAAA,mCAAc,EAAC,KAAK,EAAE;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAa,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;IACnC,cAAc,EAAd,mCAAc;IACd,iBAAiB,EAAE,wBAAwB,CAAC,UAAU,CAAC;IACvD,OAAO,EAAP,4BAAO;IACP,cAAc,EAAd,mCAAc;IACd,iBAAiB,EAAjB,sCAAiB;IACjB,eAAe,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACnD,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACjD,SAAS,EAAT,8BAAS;IACT,SAAS,EAAT,8BAAS;IACT,YAAY,EAAZ,iCAAY;CACb,CAAC,CAAC;AAaU,QAAA,iBAAiB,GAG1B;IACF,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,sCAAiB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAO,CAAC,CAEzD;KACF,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,IAAI,qBAAS,CAAC;QACZ,SAAS,EAAE,mBAAmB;QAC9B,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import type {\n DetailedEncryptionResult,\n EncryptionKey,\n KeyDerivationOptions,\n} from '@metamask/browser-passworder';\nimport {\n encrypt,\n encryptWithDetail,\n encryptWithKey,\n decrypt,\n decryptWithDetail,\n decryptWithKey,\n isVaultUpdated,\n keyFromPassword,\n importKey,\n exportKey,\n generateSalt,\n} from '@metamask/browser-passworder';\nimport type { Encryptor } from '@metamask/keyring-controller';\nimport {\n KeyringController,\n KeyringControllerMessenger,\n} from '@metamask/keyring-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport { InitializationConfiguration } from '../types';\n\n/**\n * A factory function for the encrypt method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptFactory =\n (iterations: number) =>\n async (\n password: string,\n data: unknown,\n key?: EncryptionKey | CryptoKey,\n salt?: string,\n ): Promise<string> =>\n encrypt(password, data, key, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the encryptWithDetail method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptWithDetailFactory =\n (iterations: number) =>\n async (\n password: string,\n object: unknown,\n salt?: string,\n ): Promise<DetailedEncryptionResult> =>\n encryptWithDetail(password, object, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the keyFromPassword method of the browser-passworder library,\n * that generates a key from a password and a salt.\n *\n * This factory function overrides the default key derivation options with the specified\n * number of iterations, unless existing key derivation options are passed in.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that generates a key with a potentially overriden number of iterations.\n */\nconst keyFromPasswordFactory =\n (iterations: number) =>\n async (\n password: string,\n salt: string,\n exportable?: boolean,\n opts?: KeyDerivationOptions,\n ): Promise<EncryptionKey> =>\n keyFromPassword(\n password,\n salt,\n exportable,\n opts ?? {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n },\n );\n\n/**\n * A factory function for the isVaultUpdated method of the browser-passworder library,\n * that checks if the given vault was encrypted with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that checks if the vault was encrypted with the given number of iterations.\n */\nconst isVaultUpdatedFactory =\n (iterations: number) =>\n (vault: string): boolean =>\n isVaultUpdated(vault, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function that returns an encryptor with the given number of iterations.\n *\n * The returned encryptor is a wrapper around the browser-passworder library, that\n * calls the encrypt and encryptWithDetail methods with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns An encryptor set with the given number of iterations.\n */\nconst encryptorFactory = (iterations: number): Encryptor => ({\n encrypt: encryptFactory(iterations),\n encryptWithKey,\n encryptWithDetail: encryptWithDetailFactory(iterations),\n decrypt,\n decryptWithKey,\n decryptWithDetail,\n keyFromPassword: keyFromPasswordFactory(iterations),\n isVaultUpdated: isVaultUpdatedFactory(iterations),\n importKey,\n exportKey,\n generateSalt,\n});\n\ntype MobileEncryptionKey = {\n key: string;\n lib: string;\n exportable: boolean;\n keyMetadata: KeyDerivationOptions;\n};\n\nexport type GenericEncryptor =\n | Encryptor<EncryptionKey | CryptoKey>\n | Encryptor<MobileEncryptionKey>;\n\nexport const keyringController: InitializationConfiguration<\n KeyringController,\n KeyringControllerMessenger\n> = {\n name: 'KeyringController',\n init: ({ state, messenger, options }) =>\n new KeyringController({\n state,\n messenger,\n keyringBuilders: options.keyringBuilders,\n encryptor: (options.encryptor ?? encryptorFactory(600_000)) as Encryptor<\n EncryptionKey | CryptoKey\n >,\n }),\n getMessenger: (parent) =>\n new Messenger({\n namespace: 'KeyringController',\n parent,\n }),\n};\n"]}
1
+ {"version":3,"file":"keyring-controller.cjs","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":";;;AAKA,qEAYsC;AAEtC,qEAGsC;AACtC,mDAAgD;AAIhD;;;;;;GAMG;AACH,MAAM,cAAc,GAClB,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAa,EACb,GAA+B,EAC/B,IAAa,EACI,EAAE,CACnB,IAAA,4BAAO,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;GAMG;AACH,MAAM,wBAAwB,GAC5B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,MAAe,EACf,IAAa,EACsB,EAAE,CACrC,IAAA,sCAAiB,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAC1B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAY,EACZ,UAAoB,EACpB,IAA2B,EACH,EAAE,CAC1B,IAAA,oCAAe,EACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,IAAI,IAAI;IACN,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CACF,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,qBAAqB,GACzB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAW,EAAE,CACzB,IAAA,mCAAc,EAAC,KAAK,EAAE;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAa,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;IACnC,cAAc,EAAd,mCAAc;IACd,iBAAiB,EAAE,wBAAwB,CAAC,UAAU,CAAC;IACvD,OAAO,EAAP,4BAAO;IACP,cAAc,EAAd,mCAAc;IACd,iBAAiB,EAAjB,sCAAiB;IACjB,eAAe,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACnD,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACjD,SAAS,EAAT,8BAAS;IACT,SAAS,EAAT,8BAAS;IACT,YAAY,EAAZ,iCAAY;CACb,CAAC,CAAC;AAyBU,QAAA,iBAAiB,GAG1B;IACF,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,sCAAiB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAO,CAAC,CAEzD;KACF,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,IAAI,qBAAS,CAAC;QACZ,SAAS,EAAE,mBAAmB;QAC9B,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import type {\n DetailedEncryptionResult,\n EncryptionKey,\n KeyDerivationOptions,\n} from '@metamask/browser-passworder';\nimport {\n encrypt,\n encryptWithDetail,\n encryptWithKey,\n decrypt,\n decryptWithDetail,\n decryptWithKey,\n isVaultUpdated,\n keyFromPassword,\n importKey,\n exportKey,\n generateSalt,\n} from '@metamask/browser-passworder';\nimport type { Encryptor } from '@metamask/keyring-controller';\nimport {\n KeyringController,\n KeyringControllerMessenger,\n} from '@metamask/keyring-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport { InitializationConfiguration } from '../types';\n\n/**\n * A factory function for the encrypt method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptFactory =\n (iterations: number) =>\n async (\n password: string,\n data: unknown,\n key?: EncryptionKey | CryptoKey,\n salt?: string,\n ): Promise<string> =>\n encrypt(password, data, key, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the encryptWithDetail method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptWithDetailFactory =\n (iterations: number) =>\n async (\n password: string,\n object: unknown,\n salt?: string,\n ): Promise<DetailedEncryptionResult> =>\n encryptWithDetail(password, object, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the keyFromPassword method of the browser-passworder library,\n * that generates a key from a password and a salt.\n *\n * This factory function overrides the default key derivation options with the specified\n * number of iterations, unless existing key derivation options are passed in.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that generates a key with a potentially overriden number of iterations.\n */\nconst keyFromPasswordFactory =\n (iterations: number) =>\n async (\n password: string,\n salt: string,\n exportable?: boolean,\n opts?: KeyDerivationOptions,\n ): Promise<EncryptionKey> =>\n keyFromPassword(\n password,\n salt,\n exportable,\n opts ?? {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n },\n );\n\n/**\n * A factory function for the isVaultUpdated method of the browser-passworder library,\n * that checks if the given vault was encrypted with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that checks if the vault was encrypted with the given number of iterations.\n */\nconst isVaultUpdatedFactory =\n (iterations: number) =>\n (vault: string): boolean =>\n isVaultUpdated(vault, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function that returns an encryptor with the given number of iterations.\n *\n * The returned encryptor is a wrapper around the browser-passworder library, that\n * calls the encrypt and encryptWithDetail methods with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns An encryptor set with the given number of iterations.\n */\nconst encryptorFactory = (iterations: number): Encryptor => ({\n encrypt: encryptFactory(iterations),\n encryptWithKey,\n encryptWithDetail: encryptWithDetailFactory(iterations),\n decrypt,\n decryptWithKey,\n decryptWithDetail,\n keyFromPassword: keyFromPasswordFactory(iterations),\n isVaultUpdated: isVaultUpdatedFactory(iterations),\n importKey,\n exportKey,\n generateSalt,\n});\n\ntype MobileEncryptionKey = {\n key: string;\n lib: string;\n exportable: boolean;\n keyMetadata: KeyDerivationOptions;\n};\n\ntype MobileEncryptionResult = {\n cipher: string;\n iv: string;\n salt?: string;\n lib?: string;\n keyMetadata?: KeyDerivationOptions;\n};\n\nexport type GenericEncryptor =\n | Encryptor<EncryptionKey | CryptoKey>\n | Encryptor<\n MobileEncryptionKey,\n KeyDerivationOptions,\n MobileEncryptionResult\n >;\n\nexport const keyringController: InitializationConfiguration<\n KeyringController,\n KeyringControllerMessenger\n> = {\n name: 'KeyringController',\n init: ({ state, messenger, options }) =>\n new KeyringController({\n state,\n messenger,\n keyringBuilders: options.keyringBuilders,\n encryptor: (options.encryptor ?? encryptorFactory(600_000)) as Encryptor<\n EncryptionKey | CryptoKey\n >,\n }),\n getMessenger: (parent) =>\n new Messenger({\n namespace: 'KeyringController',\n parent,\n }),\n};\n"]}
@@ -8,7 +8,14 @@ type MobileEncryptionKey = {
8
8
  exportable: boolean;
9
9
  keyMetadata: KeyDerivationOptions;
10
10
  };
11
- export type GenericEncryptor = Encryptor<EncryptionKey | CryptoKey> | Encryptor<MobileEncryptionKey>;
11
+ type MobileEncryptionResult = {
12
+ cipher: string;
13
+ iv: string;
14
+ salt?: string;
15
+ lib?: string;
16
+ keyMetadata?: KeyDerivationOptions;
17
+ };
18
+ export type GenericEncryptor = Encryptor<EncryptionKey | CryptoKey> | Encryptor<MobileEncryptionKey, KeyDerivationOptions, MobileEncryptionResult>;
12
19
  export declare const keyringController: InitializationConfiguration<KeyringController, KeyringControllerMessenger>;
13
20
  export {};
14
21
  //# sourceMappingURL=keyring-controller.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyring-controller.d.cts","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,oBAAoB,EACrB,qCAAqC;AActC,OAAO,KAAK,EAAE,SAAS,EAAE,qCAAqC;AAC9D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC3B,qCAAqC;AAGtC,OAAO,EAAE,2BAA2B,EAAE,qBAAiB;AAmHvD,KAAK,mBAAmB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,GACpC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,CACzD,iBAAiB,EACjB,0BAA0B,CAiB3B,CAAC"}
1
+ {"version":3,"file":"keyring-controller.d.cts","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,oBAAoB,EACrB,qCAAqC;AActC,OAAO,KAAK,EAAE,SAAS,EAAE,qCAAqC;AAC9D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC3B,qCAAqC;AAGtC,OAAO,EAAE,2BAA2B,EAAE,qBAAiB;AAmHvD,KAAK,mBAAmB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,GACpC,SAAS,CACP,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,CACvB,CAAC;AAEN,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,CACzD,iBAAiB,EACjB,0BAA0B,CAiB3B,CAAC"}
@@ -8,7 +8,14 @@ type MobileEncryptionKey = {
8
8
  exportable: boolean;
9
9
  keyMetadata: KeyDerivationOptions;
10
10
  };
11
- export type GenericEncryptor = Encryptor<EncryptionKey | CryptoKey> | Encryptor<MobileEncryptionKey>;
11
+ type MobileEncryptionResult = {
12
+ cipher: string;
13
+ iv: string;
14
+ salt?: string;
15
+ lib?: string;
16
+ keyMetadata?: KeyDerivationOptions;
17
+ };
18
+ export type GenericEncryptor = Encryptor<EncryptionKey | CryptoKey> | Encryptor<MobileEncryptionKey, KeyDerivationOptions, MobileEncryptionResult>;
12
19
  export declare const keyringController: InitializationConfiguration<KeyringController, KeyringControllerMessenger>;
13
20
  export {};
14
21
  //# sourceMappingURL=keyring-controller.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyring-controller.d.mts","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,oBAAoB,EACrB,qCAAqC;AActC,OAAO,KAAK,EAAE,SAAS,EAAE,qCAAqC;AAC9D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC3B,qCAAqC;AAGtC,OAAO,EAAE,2BAA2B,EAAE,qBAAiB;AAmHvD,KAAK,mBAAmB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,GACpC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,CACzD,iBAAiB,EACjB,0BAA0B,CAiB3B,CAAC"}
1
+ {"version":3,"file":"keyring-controller.d.mts","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,oBAAoB,EACrB,qCAAqC;AActC,OAAO,KAAK,EAAE,SAAS,EAAE,qCAAqC;AAC9D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC3B,qCAAqC;AAGtC,OAAO,EAAE,2BAA2B,EAAE,qBAAiB;AAmHvD,KAAK,mBAAmB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,GACpC,SAAS,CACP,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,CACvB,CAAC;AAEN,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,CACzD,iBAAiB,EACjB,0BAA0B,CAiB3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyring-controller.mjs","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACb,qCAAqC;AAEtC,OAAO,EACL,iBAAiB,EAElB,qCAAqC;AACtC,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAIhD;;;;;;GAMG;AACH,MAAM,cAAc,GAClB,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAa,EACb,GAA+B,EAC/B,IAAa,EACI,EAAE,CACnB,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;GAMG;AACH,MAAM,wBAAwB,GAC5B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,MAAe,EACf,IAAa,EACsB,EAAE,CACrC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAC1B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAY,EACZ,UAAoB,EACpB,IAA2B,EACH,EAAE,CAC1B,eAAe,CACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,IAAI,IAAI;IACN,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CACF,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,qBAAqB,GACzB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAW,EAAE,CACzB,cAAc,CAAC,KAAK,EAAE;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAa,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;IACnC,cAAc;IACd,iBAAiB,EAAE,wBAAwB,CAAC,UAAU,CAAC;IACvD,OAAO;IACP,cAAc;IACd,iBAAiB;IACjB,eAAe,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACnD,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACjD,SAAS;IACT,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,iBAAiB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAO,CAAC,CAEzD;KACF,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,IAAI,SAAS,CAAC;QACZ,SAAS,EAAE,mBAAmB;QAC9B,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import type {\n DetailedEncryptionResult,\n EncryptionKey,\n KeyDerivationOptions,\n} from '@metamask/browser-passworder';\nimport {\n encrypt,\n encryptWithDetail,\n encryptWithKey,\n decrypt,\n decryptWithDetail,\n decryptWithKey,\n isVaultUpdated,\n keyFromPassword,\n importKey,\n exportKey,\n generateSalt,\n} from '@metamask/browser-passworder';\nimport type { Encryptor } from '@metamask/keyring-controller';\nimport {\n KeyringController,\n KeyringControllerMessenger,\n} from '@metamask/keyring-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport { InitializationConfiguration } from '../types';\n\n/**\n * A factory function for the encrypt method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptFactory =\n (iterations: number) =>\n async (\n password: string,\n data: unknown,\n key?: EncryptionKey | CryptoKey,\n salt?: string,\n ): Promise<string> =>\n encrypt(password, data, key, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the encryptWithDetail method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptWithDetailFactory =\n (iterations: number) =>\n async (\n password: string,\n object: unknown,\n salt?: string,\n ): Promise<DetailedEncryptionResult> =>\n encryptWithDetail(password, object, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the keyFromPassword method of the browser-passworder library,\n * that generates a key from a password and a salt.\n *\n * This factory function overrides the default key derivation options with the specified\n * number of iterations, unless existing key derivation options are passed in.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that generates a key with a potentially overriden number of iterations.\n */\nconst keyFromPasswordFactory =\n (iterations: number) =>\n async (\n password: string,\n salt: string,\n exportable?: boolean,\n opts?: KeyDerivationOptions,\n ): Promise<EncryptionKey> =>\n keyFromPassword(\n password,\n salt,\n exportable,\n opts ?? {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n },\n );\n\n/**\n * A factory function for the isVaultUpdated method of the browser-passworder library,\n * that checks if the given vault was encrypted with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that checks if the vault was encrypted with the given number of iterations.\n */\nconst isVaultUpdatedFactory =\n (iterations: number) =>\n (vault: string): boolean =>\n isVaultUpdated(vault, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function that returns an encryptor with the given number of iterations.\n *\n * The returned encryptor is a wrapper around the browser-passworder library, that\n * calls the encrypt and encryptWithDetail methods with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns An encryptor set with the given number of iterations.\n */\nconst encryptorFactory = (iterations: number): Encryptor => ({\n encrypt: encryptFactory(iterations),\n encryptWithKey,\n encryptWithDetail: encryptWithDetailFactory(iterations),\n decrypt,\n decryptWithKey,\n decryptWithDetail,\n keyFromPassword: keyFromPasswordFactory(iterations),\n isVaultUpdated: isVaultUpdatedFactory(iterations),\n importKey,\n exportKey,\n generateSalt,\n});\n\ntype MobileEncryptionKey = {\n key: string;\n lib: string;\n exportable: boolean;\n keyMetadata: KeyDerivationOptions;\n};\n\nexport type GenericEncryptor =\n | Encryptor<EncryptionKey | CryptoKey>\n | Encryptor<MobileEncryptionKey>;\n\nexport const keyringController: InitializationConfiguration<\n KeyringController,\n KeyringControllerMessenger\n> = {\n name: 'KeyringController',\n init: ({ state, messenger, options }) =>\n new KeyringController({\n state,\n messenger,\n keyringBuilders: options.keyringBuilders,\n encryptor: (options.encryptor ?? encryptorFactory(600_000)) as Encryptor<\n EncryptionKey | CryptoKey\n >,\n }),\n getMessenger: (parent) =>\n new Messenger({\n namespace: 'KeyringController',\n parent,\n }),\n};\n"]}
1
+ {"version":3,"file":"keyring-controller.mjs","sourceRoot":"","sources":["../../../src/initialization/instances/keyring-controller.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACb,qCAAqC;AAEtC,OAAO,EACL,iBAAiB,EAElB,qCAAqC;AACtC,OAAO,EAAE,SAAS,EAAE,4BAA4B;AAIhD;;;;;;GAMG;AACH,MAAM,cAAc,GAClB,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAa,EACb,GAA+B,EAC/B,IAAa,EACI,EAAE,CACnB,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;GAMG;AACH,MAAM,wBAAwB,GAC5B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,MAAe,EACf,IAAa,EACsB,EAAE,CACrC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAC1B,CAAC,UAAkB,EAAE,EAAE,CACvB,KAAK,EACH,QAAgB,EAChB,IAAY,EACZ,UAAoB,EACpB,IAA2B,EACH,EAAE,CAC1B,eAAe,CACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,IAAI,IAAI;IACN,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CACF,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,qBAAqB,GACzB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAW,EAAE,CACzB,cAAc,CAAC,KAAK,EAAE;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE;QACN,UAAU;KACX;CACF,CAAC,CAAC;AAEP;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAa,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;IACnC,cAAc;IACd,iBAAiB,EAAE,wBAAwB,CAAC,UAAU,CAAC;IACvD,OAAO;IACP,cAAc;IACd,iBAAiB;IACjB,eAAe,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACnD,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACjD,SAAS;IACT,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAyBH,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CACtC,IAAI,iBAAiB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAO,CAAC,CAEzD;KACF,CAAC;IACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,IAAI,SAAS,CAAC;QACZ,SAAS,EAAE,mBAAmB;QAC9B,MAAM;KACP,CAAC;CACL,CAAC","sourcesContent":["import type {\n DetailedEncryptionResult,\n EncryptionKey,\n KeyDerivationOptions,\n} from '@metamask/browser-passworder';\nimport {\n encrypt,\n encryptWithDetail,\n encryptWithKey,\n decrypt,\n decryptWithDetail,\n decryptWithKey,\n isVaultUpdated,\n keyFromPassword,\n importKey,\n exportKey,\n generateSalt,\n} from '@metamask/browser-passworder';\nimport type { Encryptor } from '@metamask/keyring-controller';\nimport {\n KeyringController,\n KeyringControllerMessenger,\n} from '@metamask/keyring-controller';\nimport { Messenger } from '@metamask/messenger';\n\nimport { InitializationConfiguration } from '../types';\n\n/**\n * A factory function for the encrypt method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptFactory =\n (iterations: number) =>\n async (\n password: string,\n data: unknown,\n key?: EncryptionKey | CryptoKey,\n salt?: string,\n ): Promise<string> =>\n encrypt(password, data, key, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the encryptWithDetail method of the browser-passworder library,\n * that encrypts with a given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that encrypts with the given number of iterations.\n */\nconst encryptWithDetailFactory =\n (iterations: number) =>\n async (\n password: string,\n object: unknown,\n salt?: string,\n ): Promise<DetailedEncryptionResult> =>\n encryptWithDetail(password, object, salt, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function for the keyFromPassword method of the browser-passworder library,\n * that generates a key from a password and a salt.\n *\n * This factory function overrides the default key derivation options with the specified\n * number of iterations, unless existing key derivation options are passed in.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that generates a key with a potentially overriden number of iterations.\n */\nconst keyFromPasswordFactory =\n (iterations: number) =>\n async (\n password: string,\n salt: string,\n exportable?: boolean,\n opts?: KeyDerivationOptions,\n ): Promise<EncryptionKey> =>\n keyFromPassword(\n password,\n salt,\n exportable,\n opts ?? {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n },\n );\n\n/**\n * A factory function for the isVaultUpdated method of the browser-passworder library,\n * that checks if the given vault was encrypted with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns A function that checks if the vault was encrypted with the given number of iterations.\n */\nconst isVaultUpdatedFactory =\n (iterations: number) =>\n (vault: string): boolean =>\n isVaultUpdated(vault, {\n algorithm: 'PBKDF2',\n params: {\n iterations,\n },\n });\n\n/**\n * A factory function that returns an encryptor with the given number of iterations.\n *\n * The returned encryptor is a wrapper around the browser-passworder library, that\n * calls the encrypt and encryptWithDetail methods with the given number of iterations.\n *\n * @param iterations - The number of iterations to use for the PBKDF2 algorithm.\n * @returns An encryptor set with the given number of iterations.\n */\nconst encryptorFactory = (iterations: number): Encryptor => ({\n encrypt: encryptFactory(iterations),\n encryptWithKey,\n encryptWithDetail: encryptWithDetailFactory(iterations),\n decrypt,\n decryptWithKey,\n decryptWithDetail,\n keyFromPassword: keyFromPasswordFactory(iterations),\n isVaultUpdated: isVaultUpdatedFactory(iterations),\n importKey,\n exportKey,\n generateSalt,\n});\n\ntype MobileEncryptionKey = {\n key: string;\n lib: string;\n exportable: boolean;\n keyMetadata: KeyDerivationOptions;\n};\n\ntype MobileEncryptionResult = {\n cipher: string;\n iv: string;\n salt?: string;\n lib?: string;\n keyMetadata?: KeyDerivationOptions;\n};\n\nexport type GenericEncryptor =\n | Encryptor<EncryptionKey | CryptoKey>\n | Encryptor<\n MobileEncryptionKey,\n KeyDerivationOptions,\n MobileEncryptionResult\n >;\n\nexport const keyringController: InitializationConfiguration<\n KeyringController,\n KeyringControllerMessenger\n> = {\n name: 'KeyringController',\n init: ({ state, messenger, options }) =>\n new KeyringController({\n state,\n messenger,\n keyringBuilders: options.keyringBuilders,\n encryptor: (options.encryptor ?? encryptorFactory(600_000)) as Encryptor<\n EncryptionKey | CryptoKey\n >,\n }),\n getMessenger: (parent) =>\n new Messenger({\n namespace: 'KeyringController',\n parent,\n }),\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/wallet",
3
- "version": "0.0.0-preview-1d367b049",
3
+ "version": "0.0.0-preview-d28b57d4b",
4
4
  "description": "Provides a shared framework for building MetaMask wallets",
5
5
  "keywords": [
6
6
  "Ethereum",