UNPKG

did-btcr2-js

Version:

Monorepo for did:btcr2 js/ts implementation and supporting packages.

466 lines (235 loc) 8.95 kB
[**@did-btc1/keypair**](../README.md) *** [@did-btc1/keypair](../globals.md) / SecretKey # Class: SecretKey Defined in: [secret.ts:79](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L79) Encapsulates a secp256k1 secret key Provides get methods for different formats (raw, secret, point). Provides helpers methods for comparison, serialization and publicKey generation. SecretKey ## Implements - [`ISecretKey`](../interfaces/ISecretKey.md) ## Constructors ### Constructor > **new SecretKey**(`entropy`): `SecretKey` Defined in: [secret.ts:94](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L94) Instantiates an instance of SecretKey. #### Parameters ##### entropy `Entropy` bytes (Uint8Array) or secret (bigint) #### Returns `SecretKey` #### Throws If entropy is not provided, not a valid 32-byte secret key or not a valid bigint seed ## Accessors ### bytes #### Get Signature > **get** **bytes**(): `Uint8Array` Defined in: [secret.ts:139](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L139) Get the secret key entropy as a byte array. ##### Returns `Uint8Array` The secret key bytes as a Uint8Array Get the secret key bytes. #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`bytes`](../interfaces/ISecretKey.md#bytes) *** ### hex #### Get Signature > **get** **hex**(): `Hex` Defined in: [secret.ts:159](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L159) Returns the raw secret key as a hex string. ##### Returns `Hex` The secret key as a hex string Get the secret key as a hex string. #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`hex`](../interfaces/ISecretKey.md#hex) *** ### multibase #### Get Signature > **get** **multibase**(): `string` Defined in: [secret.ts:169](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L169) Encode the secret key bytes as a secretKeyMultibase string. ##### Returns `string` The secret key in base58btc multibase format *** ### seed #### Get Signature > **get** **seed**(): `bigint` Defined in: [secret.ts:149](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L149) Get the secret key entropy as a bigint. ##### Returns `bigint` The secret key as a bigint Getter returns the secret key bytes in bigint format. Setter allows alternative method of using a bigint seed for the entropy. #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`seed`](../interfaces/ISecretKey.md#seed) ## Methods ### computePublicKey() > **computePublicKey**(): `Bytes` Defined in: [secret.ts:212](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L212) Computes the public key from the secret key bytes. #### Returns `Bytes` The computed public key #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`computePublicKey`](../interfaces/ISecretKey.md#computepublickey) *** ### encode() > **encode**(): `string` Defined in: [secret.ts:178](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L178) Encodes the secret key bytes to BIP340 multibase format. #### Returns `string` The secret key in BIP340 multibase format. *** ### equals() > **equals**(`other`): `boolean` Defined in: [secret.ts:203](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L203) Checks if this secret key is equal to another. #### Parameters ##### other `SecretKey` The other secret key #### Returns `boolean` True if the private keys are equal, false otherwise #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`equals`](../interfaces/ISecretKey.md#equals) *** ### isValid() > **isValid**(): `boolean` Defined in: [secret.ts:251](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L251) Checks if the secret key is valid. #### Returns `boolean` True if the secret key is valid, false otherwise #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`isValid`](../interfaces/ISecretKey.md#isvalid) *** ### isValidPair() > **isValidPair**(`pk`): `boolean` Defined in: [secret.ts:260](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L260) Checks if the public key is a valid secp256k1 point. #### Parameters ##### pk [`PublicKey`](PublicKey.md) The public key to validate #### Returns `boolean` True if the public key is valid, false otherwise *** ### json() > **json**(): `SecretKeyObject` Defined in: [secret.ts:239](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L239) Converts the secret key to a JSON object. #### Returns `SecretKeyObject` The secret key as a JSON object #### Implementation of [`ISecretKey`](../interfaces/ISecretKey.md).[`json`](../interfaces/ISecretKey.md#json) *** ### decode() > `static` **decode**(`multibase`): `Bytes` Defined in: [secret.ts:275](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L275) Decodes the multibase string to the 34-byte secret key (2 byte prefix + 32 byte key). #### Parameters ##### multibase `string` The multibase string to decode #### Returns `Bytes` The decoded secret key. *** ### fromJSON() > `static` **fromJSON**(`json`): `SecretKey` Defined in: [secret.ts:310](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L310) Creates a SecretKey object from a JSON object. #### Parameters ##### json `SecretKeyObject` The JSON object containing the secret key bytes #### Returns `SecretKey` A new SecretKey object *** ### fromSecret() > `static` **fromSecret**(`secret`): `SecretKey` Defined in: [secret.ts:367](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L367) Creates a new SecretKey object from a bigint secret. #### Parameters ##### secret `bigint` The secret bigint #### Returns `SecretKey` A new SecretKey object *** ### generate() > `static` **generate**(): `SecretKey` Defined in: [secret.ts:393](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L393) Creates a new SecretKey from random secret key bytes. #### Returns `SecretKey` A new SecretKey object *** ### getPublicKey() > `static` **getPublicKey**(`bytes`): `Bytes` Defined in: [secret.ts:406](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L406) Generates a public key from the given secret key bytes. #### Parameters ##### bytes `Bytes` The secret key bytes #### Returns `Bytes` The computed public key bytes *** ### random() > `static` **random**(): `Bytes` Defined in: [secret.ts:380](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L380) Generates random secret key bytes. #### Returns `Bytes` Uint8Array of 32 random bytes. *** ### toBytes() > `static` **toBytes**(`secret`): `Bytes` Defined in: [secret.ts:345](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L345) Convert a secret key bytes to a bigint secret. #### Parameters ##### secret `bigint` The secret key secret. #### Returns `Bytes` The secret key secret as secret key bytes. *** ### toKeyPair() > `static` **toKeyPair**(`bytes`): [`SchnorrKeyPair`](SchnorrKeyPair.md) Defined in: [secret.ts:320](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L320) Converts a SecretKey or KeyBytes to a Pair. #### Parameters ##### bytes `Bytes` #### Returns [`SchnorrKeyPair`](SchnorrKeyPair.md) The SchnorrKeyPair object containing the public and private keys #### Throws If the secret key is not valid *** ### toSecret() > `static` **toSecret**(`bytes`): `bigint` Defined in: [secret.ts:336](https://github.com/dcdpr/did-btc1-js/blob/4ab6f9915d95beed9bc633644c9db1539395f512/packages/keypair/src/secret.ts#L336) Convert a bigint secret to secret key bytes. #### Parameters ##### bytes `Bytes` The secret key bytes #### Returns `bigint` The secret key bytes as a bigint secret