2022-09-05 16:57:11 -04:00
|
|
|
import { getAddress } from "../address/index.js";
|
|
|
|
import { keccak256, SigningKey } from "../crypto/index.js";
|
2023-01-28 01:53:29 -05:00
|
|
|
/**
|
|
|
|
* Returns the address for the %%key%%.
|
|
|
|
*
|
|
|
|
* The key may be any standard form of public key or a private key.
|
|
|
|
*/
|
2022-09-05 16:57:11 -04:00
|
|
|
export function computeAddress(key) {
|
2022-10-20 05:03:32 -04:00
|
|
|
let pubkey;
|
|
|
|
if (typeof (key) === "string") {
|
|
|
|
pubkey = SigningKey.computePublicKey(key, false);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
pubkey = key.publicKey;
|
|
|
|
}
|
|
|
|
return getAddress(keccak256("0x" + pubkey.substring(4)).substring(26));
|
2022-09-05 16:57:11 -04:00
|
|
|
}
|
2023-01-28 01:53:29 -05:00
|
|
|
/**
|
|
|
|
* Returns the recovered address for the private key that was
|
|
|
|
* used to sign %%digest%% that resulted in %%signature%%.
|
|
|
|
*/
|
2022-09-05 16:57:11 -04:00
|
|
|
export function recoverAddress(digest, signature) {
|
|
|
|
return computeAddress(SigningKey.recoverPublicKey(digest, signature));
|
|
|
|
}
|
|
|
|
//# sourceMappingURL=address.js.map
|