UNPKG

@neardefi/shade-agent-js

Version:

This library is intended to be used in conjunction with the [shade agent template](https://github.com/NearDeFi/shade-agent-template/).

55 lines (53 loc) 2.76 kB
/** * Converts a NEAR public key string to an uncompressed hex point * @param {string} najPublicKeyStr - NEAR public key string * @returns {string} Uncompressed hex point */ declare function najPublicKeyStrToUncompressedHexPoint(najPublicKeyStr: string): string; /** * Derives a child public key from a parent public key using secp256k1 * @param {string} parentUncompressedPublicKeyHex - Parent public key in uncompressed hex format * @param {string} signerId - Signer ID for derivation * @param {string} [path=''] - Optional derivation path * @returns {Promise<string>} Derived child public key in uncompressed hex format */ declare function deriveChildPublicKey(parentUncompressedPublicKeyHex: string, signerId: string, path?: string): Promise<string>; /** * Converts an uncompressed hex point to a Bitcoin address * @param {string} uncompressedHexPoint - Public key in uncompressed hex format * @param {Buffer} networkByte - Network version byte (e.g., 0x00 for mainnet, 0x6f for testnet) * @returns {Promise<string>} Bitcoin address in Base58Check format */ declare function uncompressedHexPointToBtcAddress(uncompressedHexPoint: string, networkByte: Buffer): Promise<string>; /** * Generates a Bitcoin address from a child public key * @param {Object} params - Bitcoin address generation parameters * @param {string} params.childPublicKey - Child public key in uncompressed hex format * @param {boolean} [params.isTestnet=true] - Whether to generate testnet (true) or mainnet (false) address * @returns {Promise<string>} Bitcoin address in Base58Check format */ declare function generateBtcAddress({ childPublicKey, isTestnet }: { childPublicKey: string; isTestnet?: boolean; }): Promise<string>; /** * Generates a blockchain address from a public key * @param {Object} params - Address generation parameters * @param {string} params.publicKey - NEAR public key string * @param {string} params.accountId - Account ID for derivation * @param {string} [params.path] - Optional derivation path * @param {('evm'|'btc'|'bitcoin'|'dogecoin'|'near')} [params.chain='evm'] - Target blockchain * @returns {Promise<{address: string, publicKey: string, nearSecpPublicKey?: string, nearImplicitSecretKey?: string}>} Generated address and related keys */ declare function generateAddress({ publicKey, accountId, path, chain }: { publicKey: string; accountId: string; path?: string; chain?: ("evm" | "btc" | "bitcoin" | "dogecoin" | "near"); }): Promise<{ address: string; publicKey: string; nearSecpPublicKey?: string; nearImplicitSecretKey?: string; }>; export { deriveChildPublicKey, generateAddress, generateBtcAddress, najPublicKeyStrToUncompressedHexPoint, uncompressedHexPointToBtcAddress };