PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/@substrate/txwrapper-core/lib/core/util

Просмотр файла: deriveAddress.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deriveAddress = void 0;
const keyring_1 = require("@polkadot/keyring");
const util_1 = require("@polkadot/util");
const util_crypto_1 = require("@polkadot/util-crypto");
/**
 * Copyright 2023 via polkadot-js/common
 *
 * The slightly modified below logic is copyrighted from polkadot-js/common . The exact path to the code can be seen here:
 * https://github.com/polkadot-js/common/blob/e5cb0ba2b4a6b5817626cc964b4f66334f2410e4/packages/keyring/src/pair/index.ts#L44-L49
 */
const TYPE_ADDRESS = {
    ecdsa: (p) => (p.length > 32 ? (0, util_crypto_1.blake2AsU8a)(p) : p),
    ed25519: (p) => p,
    sr25519: (p) => p,
};
/**
 * Derive an address from a cryptographic public key offline.
 *
 * @param publicKey - The public key to derive from.
 * @param ss58Format - The SS58 format to use.
 * @param scheme - The scheme in which you want to apply. It defaults to sr25519
 */
function deriveAddress(publicKey, ss58Format, scheme = 'sr25519') {
    const raw = (0, util_1.isHex)(publicKey)
        ? (0, util_1.hexToU8a)(publicKey)
        : publicKey;
    const input = TYPE_ADDRESS[scheme](raw);
    const keyring = new keyring_1.Keyring({ type: scheme, ss58Format: ss58Format });
    const address = keyring.encodeAddress(input, ss58Format);
    return address;
}
exports.deriveAddress = deriveAddress;
//# sourceMappingURL=deriveAddress.js.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!