Update messengerEthereum.js
This commit is contained in:
parent
2a5faefdaf
commit
42b7c2aa61
@ -4,16 +4,19 @@
|
||||
'use strict';
|
||||
const floEthereum = EXPORTS;
|
||||
|
||||
|
||||
const ethAddressFromPrivateKey = floEthereum.ethAddressFromPrivateKey = function(privateKey){
|
||||
var t1,t1_x,t1_y,t1_x_BigInt,t1_y_BigInt,t2,t3,t4;
|
||||
// onlyEvenY is usually false. It is needed to be true only when taproot private keys are input
|
||||
const ethAddressFromPrivateKey = floEthereum.ethAddressFromPrivateKey = function(privateKey, onlyEvenY = false){
|
||||
var t1,t1_x,t1_y,t1_y_BigInt,t2,t3,t4;
|
||||
var groupOrder = BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F");
|
||||
|
||||
t1 = bitjs.newPubkey(privateKey);
|
||||
t1_x = t1.slice(2, 66); t1_y = t1.slice(-64);
|
||||
//Suspending Odd Even checks for Messenger App
|
||||
// t1_x_BigInt = BigInt("0x"+t1_x);t1_y_BigInt = BigInt("0x"+t1_y);
|
||||
// if (t1_y_BigInt % 2n !== 0n) { t1_y_BigInt = (groupOrder-t1_y_BigInt)%groupOrder; t1_y=t1_y_BigInt.toString(16)};
|
||||
|
||||
if (onlyEvenY) {
|
||||
t1_y_BigInt = BigInt("0x"+t1_y);
|
||||
if (t1_y_BigInt % 2n !== 0n) { t1_y_BigInt = (groupOrder-t1_y_BigInt)%groupOrder; t1_y=t1_y_BigInt.toString(16)};
|
||||
}
|
||||
|
||||
t2 = t1_x.toString(16) + t1_y.toString(16);
|
||||
t3 = keccak.keccak_256(Crypto.util.hexToBytes(t2));
|
||||
t4 = keccak.extractLast20Bytes(t3);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user