3
3
*/
4
4
import Account from 'eth-lib/lib/account' ;
5
5
import { bufferToHex , keccak256 } from 'ethereumjs-util' ;
6
- import utils from 'web3-utils' ;
6
+ import { hexToBytes , utf8ToHex } from 'web3-utils' ;
7
+ import { isAddress , isHexStrict } from 'web3-validator' ;
7
8
8
9
import { Message } from './interfaces' ;
9
10
10
11
export class EIP191Signer {
11
12
hashEthereumSignedMessage ( message : string ) {
12
- const messageHex = utils . isHexStrict ( message )
13
- ? message
14
- : utils . utf8ToHex ( message ) ;
15
- const messageBytes = utils . hexToBytes ( messageHex ) ;
13
+ const messageHex = isHexStrict ( message ) ? message : utf8ToHex ( message ) ;
14
+ const messageBytes = hexToBytes ( messageHex ) ;
16
15
const messageBuffer = Buffer . from ( messageBytes ) ;
17
16
const preamble =
18
17
'\x19' + '\x45' + 'thereum Signed Message:\n' + messageBytes . length ;
@@ -23,13 +22,13 @@ export class EIP191Signer {
23
22
24
23
hashDataWithIntendedValidator ( validatorAddress : string , data : string ) {
25
24
// validator address
26
- if ( ! utils . isAddress ( validatorAddress ) )
25
+ if ( ! isAddress ( validatorAddress ) )
27
26
throw new Error ( 'Validator needs to be a valid address' ) ;
28
27
29
- const validatorBuffer = Buffer . from ( utils . hexToBytes ( validatorAddress ) ) ;
28
+ const validatorBuffer = Buffer . from ( hexToBytes ( validatorAddress ) ) ;
30
29
// data to sign
31
- const dataHex = utils . isHexStrict ( data ) ? data : utils . utf8ToHex ( data ) ;
32
- const dataBuffer = Buffer . from ( utils . hexToBytes ( dataHex ) ) ;
30
+ const dataHex = isHexStrict ( data ) ? data : utf8ToHex ( data ) ;
31
+ const dataBuffer = Buffer . from ( hexToBytes ( dataHex ) ) ;
33
32
34
33
// concatenate it
35
34
const preambleBuffer = Buffer . from ( '\x19' ) ;
0 commit comments