@tevm/voltaire / crypto/Keystore
crypto/Keystore
Classes
DecryptionError
Defined in: src/crypto/Keystore/errors.js:52 Error thrown when decryption failsExtends
Constructors
Constructor
new DecryptionError(Defined in: src/crypto/Keystore/errors.js:53message):DecryptionError
Parameters
message
string = "Decryption failed"
Returns
DecryptionError
Overrides
KeystoreError.constructor
Properties
name
name: string
Defined in: src/crypto/Keystore/errors.js:55
Inherited from
KeystoreError.name
EncryptionError
Defined in: src/crypto/Keystore/errors.js:62 Error thrown when encryption failsExtends
Constructors
Constructor
new EncryptionError(Defined in: src/crypto/Keystore/errors.js:63message):EncryptionError
Parameters
message
string = "Encryption failed"
Returns
EncryptionError
Overrides
KeystoreError.constructor
Properties
name
name: string
Defined in: src/crypto/Keystore/errors.js:65
Inherited from
KeystoreError.name
InvalidMacError
Defined in: src/crypto/Keystore/errors.js:16 Error thrown when MAC verification failsExtends
Constructors
Constructor
new InvalidMacError(Defined in: src/crypto/Keystore/errors.js:17message):InvalidMacError
Parameters
message
string = "MAC verification failed - invalid password or corrupted keystore"
Returns
InvalidMacError
Overrides
KeystoreError.constructor
Properties
name
name: string
Defined in: src/crypto/Keystore/errors.js:21
Inherited from
KeystoreError.name
KeystoreError
Defined in: src/crypto/Keystore/errors.js:6 Base error for Keystore operationsExtends
Error
Extended by
Constructors
Constructor
new KeystoreError(Defined in: src/crypto/Keystore/errors.js:7message):KeystoreError
Parameters
message
any
Returns
KeystoreError
Overrides
Error.constructor
Properties
name
name: string
Defined in: src/crypto/Keystore/errors.js:9
Inherited from
Error.name
UnsupportedKdfError
Defined in: src/crypto/Keystore/errors.js:41 Error thrown when KDF is unsupportedExtends
Constructors
Constructor
new UnsupportedKdfError(Defined in: src/crypto/Keystore/errors.js:42kdf):UnsupportedKdfError
Parameters
kdf
any
Returns
UnsupportedKdfError
Overrides
KeystoreError.constructor
Properties
kdf
kdf: any
Defined in: src/crypto/Keystore/errors.js:45
name
name: string
Defined in: src/crypto/Keystore/errors.js:44
Inherited from
KeystoreError.name
UnsupportedVersionError
Defined in: src/crypto/Keystore/errors.js:28 Error thrown when keystore version is unsupportedExtends
Constructors
Constructor
new UnsupportedVersionError(Defined in: src/crypto/Keystore/errors.js:29version):UnsupportedVersionError
Parameters
version
any
Returns
UnsupportedVersionError
Overrides
KeystoreError.constructor
Properties
name
name: string
Defined in: src/crypto/Keystore/errors.js:33
Inherited from
KeystoreError.name
version
version: any
Defined in: src/crypto/Keystore/errors.js:34
Type Aliases
EncryptOptions
EncryptOptions = object
Defined in: src/crypto/Keystore/KeystoreType.ts:49
Options for encryption
Properties
includeAddress?
Defined in: src/crypto/Keystore/KeystoreType.ts:67 Include address in keystore (default: false)optionalincludeAddress:boolean
iv?
Defined in: src/crypto/Keystore/KeystoreType.ts:55 Custom IV (default: random 16 bytes)optionaliv:Uint8Array
kdf?
Defined in: src/crypto/Keystore/KeystoreType.ts:51 KDF to use (default: scrypt)optionalkdf:"scrypt"|"pbkdf2"
pbkdf2C?
Defined in: src/crypto/Keystore/KeystoreType.ts:65 PBKDF2 iterations (default: 262144)optionalpbkdf2C:number
salt?
Defined in: src/crypto/Keystore/KeystoreType.ts:57 Custom salt (default: random 32 bytes)optionalsalt:Uint8Array
scryptN?
Defined in: src/crypto/Keystore/KeystoreType.ts:59 Scrypt N parameter (default: 262144)optionalscryptN:number
scryptP?
Defined in: src/crypto/Keystore/KeystoreType.ts:63 Scrypt p parameter (default: 1)optionalscryptP:number
scryptR?
Defined in: src/crypto/Keystore/KeystoreType.ts:61 Scrypt r parameter (default: 8)optionalscryptR:number
uuid?
Defined in: src/crypto/Keystore/KeystoreType.ts:53 Custom UUID (default: auto-generated)optionaluuid:string
KeystoreV3
KeystoreV3 = object
Defined in: src/crypto/Keystore/KeystoreType.ts:30
Web3 Secret Storage Definition v3 keystore
Properties
address?
Defined in: src/crypto/Keystore/KeystoreType.ts:33optionaladdress:string
crypto
crypto: object
Defined in: src/crypto/Keystore/KeystoreType.ts:34
cipher
cipher: "aes-128-ctr"
cipherparams
cipherparams: object
cipherparams.iv
iv: string
ciphertext
ciphertext: string
kdf
kdf:"scrypt"|"pbkdf2"
kdfparams
kdfparams:ScryptParams|Pbkdf2Params
mac
mac: string
id
id: string
Defined in: src/crypto/Keystore/KeystoreType.ts:32
version
version: 3
Defined in: src/crypto/Keystore/KeystoreType.ts:31
Pbkdf2Params
Pbkdf2Params = object
Defined in: src/crypto/Keystore/KeystoreType.ts:20
PBKDF2 KDF parameters
Properties
c
c: number
Defined in: src/crypto/Keystore/KeystoreType.ts:21
dklen
dklen: number
Defined in: src/crypto/Keystore/KeystoreType.ts:22
prf
prf: "hmac-sha256"
Defined in: src/crypto/Keystore/KeystoreType.ts:23
salt
salt: string
Defined in: src/crypto/Keystore/KeystoreType.ts:24
ScryptParams
ScryptParams = object
Defined in: src/crypto/Keystore/KeystoreType.ts:9
Scrypt KDF parameters
Properties
dklen
dklen: number
Defined in: src/crypto/Keystore/KeystoreType.ts:10
n
n: number
Defined in: src/crypto/Keystore/KeystoreType.ts:11
p
p: number
Defined in: src/crypto/Keystore/KeystoreType.ts:12
r
r: number
Defined in: src/crypto/Keystore/KeystoreType.ts:13
salt
salt: string
Defined in: src/crypto/Keystore/KeystoreType.ts:14
Variables
Keystore
Defined in: src/crypto/Keystore/index.ts:19constKeystore:object
Type Declaration
decrypt()
decrypt: (Decrypt Web3 Secret Storage v3 keystore to private keykeystore,password) =>PrivateKeyType
Parameters
keystore
KeystoreV3
Encrypted keystore
password
string
Password for decryption
Returns
PrivateKeyType
Decrypted private key
See
https://voltaire.tevm.sh/crypto for crypto documentationSince
0.0.0Throws
If keystore version is not 3Throws
If KDF is not scrypt or pbkdf2Throws
If MAC verification fails (wrong password or corrupted)Throws
If decryption failsExample
encrypt()
encrypt: (Encrypt private key to Web3 Secret Storage v3 keystoreprivateKey,password,options?) =>Promise<KeystoreV3>
Parameters
privateKey
PrivateKeyType
Private key (32 bytes)
password
string
Password for encryption
options?
EncryptOptions = {}
Encryption options
Returns
Promise<KeystoreV3>
Encrypted keystore
See
https://voltaire.tevm.sh/crypto for crypto documentationSince
0.0.0Throws
If encryption failsExample
Functions
decrypt()
decrypt(Defined in: src/crypto/Keystore/decrypt.js:33 Decrypt Web3 Secret Storage v3 keystore to private keykeystore,password):PrivateKeyType
Parameters
keystore
KeystoreV3
Encrypted keystore
password
string
Password for decryption
Returns
PrivateKeyType
Decrypted private key
See
https://voltaire.tevm.sh/crypto for crypto documentationSince
0.0.0Throws
If keystore version is not 3Throws
If KDF is not scrypt or pbkdf2Throws
If MAC verification fails (wrong password or corrupted)Throws
If decryption failsExample
encrypt()
encrypt(Defined in: src/crypto/Keystore/encrypt.js:27 Encrypt private key to Web3 Secret Storage v3 keystoreprivateKey,password,options?):Promise<KeystoreV3>
Parameters
privateKey
PrivateKeyType
Private key (32 bytes)
password
string
Password for encryption
options?
EncryptOptions = {}
Encryption options
Returns
Promise<KeystoreV3>
Encrypted keystore

