@celo/wallet-hsm"signature-utils"

Module: "signature-utils"

Index

Classes

Variables

Functions

Variables

Const publicKeyPrefix

publicKeyPrefix: number = 4

Defined in signature-utils.ts:8


Const sixtyFour

sixtyFour: number = 64

Defined in signature-utils.ts:9


Const thirtyTwo

thirtyTwo: number = 32

Defined in signature-utils.ts:10

Functions

Const bigNumberToBuffer

bigNumberToBuffer(input: BigNumber, lengthInBytes: number): Buffer

Defined in signature-utils.ts:34

Parameters:

Name Type
input BigNumber
lengthInBytes number

Returns: Buffer


Const bufferToBigNumber

bufferToBigNumber(input: Buffer): BigNumber

Defined in signature-utils.ts:30

Parameters:

Name Type
input Buffer

Returns: BigNumber


getAddressFromPublicKey

getAddressFromPublicKey(publicKey: BigNumber): Address

Defined in signature-utils.ts:78

Parameters:

Name Type
publicKey BigNumber

Returns: Address


Const makeCanonical

makeCanonical(S: BigNumber): BigNumber

Defined in signature-utils.ts:18

If the signature is in the "bottom" of the curve, it is non-canonical Non-canonical signatures are illegal in Ethereum and therefore the S value must be transposed to the lower intersection https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#Low_S_values_in_signatures

Parameters:

Name Type
S BigNumber

Returns: BigNumber


recoverKeyIndex

recoverKeyIndex(signature: Uint8Array, publicKey: BigNumber, hash: Uint8Array): number

Defined in signature-utils.ts:58

Attempts each recovery key to find a match

Parameters:

Name Type
signature Uint8Array
publicKey BigNumber
hash Uint8Array

Returns: number