Skip to content

immvrse/eth-sig-util

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eth-Sig-Util CircleCI

Greenkeeper badge

A small collection of ethereum signing functions.

You can find usage examples here

Available on NPM

Supported Signing Methods

Currently there is only one supported signing protocol. More will be added as standardized.

Installation

npm install eth-sig-util --save

Methods

concatSig(v, r, s)

All three arguments should be provided as buffers.

Returns a continuous, hex-prefixed hex value for the signature, suitable for inclusion in a JSON transaction's data field.

normalize(address)

Takes an address of either upper or lower case, with or without a hex prefix, and returns an all-lowercase, hex-prefixed address, suitable for submitting to an ethereum provider.

personalSign (privateKeyBuffer, msgParams)

msgParams should have a data key that is hex-encoded data to sign.

Returns the prefixed signature expected for calls to eth.personalSign.

recoverPersonalSignature (msgParams)

msgParams should have a data key that is hex-encoded data unsigned, and a sig key that is hex-encoded and already signed.

Returns a hex-encoded sender address.

signTypedData (privateKeyBuffer, msgParams)

Signs typed data as per EIP712.

Data should be under data key of msgParams. The method returns prefixed signature.

recoverTypedSignature ({data, sig})

Return address of a signer that did signTypedData.

Expects the same data that were used for signing. sig is a prefixed signature.

typedSignatureHash (typedData)

Return hex-encoded hash of typed data params according to EIP712 schema.

extractPublicKey (msgParams)

msgParams should have a data key that is hex-encoded data unsigned, and a sig key that is hex-encoded and already signed.

Returns a hex-encoded public key.

About

A collection of functions for signing and verifying data with Ethereum keys.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%