address.js 1.0 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.recoverAddress = exports.computeAddress = void 0;
  4. const index_js_1 = require("../address/index.js");
  5. const index_js_2 = require("../crypto/index.js");
  6. /**
  7. * Returns the address for the %%key%%.
  8. *
  9. * The key may be any standard form of public key or a private key.
  10. */
  11. function computeAddress(key) {
  12. let pubkey;
  13. if (typeof (key) === "string") {
  14. pubkey = index_js_2.SigningKey.computePublicKey(key, false);
  15. }
  16. else {
  17. pubkey = key.publicKey;
  18. }
  19. return (0, index_js_1.getAddress)((0, index_js_2.keccak256)("0x" + pubkey.substring(4)).substring(26));
  20. }
  21. exports.computeAddress = computeAddress;
  22. /**
  23. * Returns the recovered address for the private key that was
  24. * used to sign %%digest%% that resulted in %%signature%%.
  25. */
  26. function recoverAddress(digest, signature) {
  27. return computeAddress(index_js_2.SigningKey.recoverPublicKey(digest, signature));
  28. }
  29. exports.recoverAddress = recoverAddress;
  30. //# sourceMappingURL=address.js.map