@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
text/typescript
/**
* 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 };