UNPKG

@scure/btc-signer

Version:

Audited & minimal library for Bitcoin. Handle transactions, Schnorr, Taproot, UTXO & PSBT

37 lines 1.43 kB
/** * BTC P2P layer from BIP324. * * Experimental ElligatorSwift implementation: * Schnorr-like x-only ECDH with public keys indistinguishable from uniformly random bytes. * * Documented in * [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki), * [libsecp](https://github.com/bitcoin/bitcoin/blob/master/src/secp256k1/doc/ellswift.md). * * SwiftEC: Shallue-van de Woestijne Indifferentiable Function to Elliptic Curves. * Documented in https://eprint.iacr.org/2022/759.pdf. * * Curve25519 & P-521 are incompatible with SwiftEC. Differences from SwiftEC: * * undefined inputs are remapped * * y-parity is encoded in u/t values * * @module */ import { type Bytes } from './utils.ts'; /** * Experimental ElligatorSwift implementation: * Schnorr-like x-only ECDH with public keys indistinguishable from uniformly random bytes. * Documented in BIP324. */ export declare const elligatorSwift: { _inv: (x: bigint, u: bigint, ellCase: number) => bigint | void; encode: (x: bigint) => Uint8Array; decode: (data: Uint8Array) => Uint8Array; keygen: () => { privateKey: Bytes; publicKey: Bytes; }; getSharedSecret: (privateKeyA: Uint8Array, publicKeyB: Uint8Array) => Bytes; getSharedSecretBip324: (privateKeyOurs: Uint8Array, publicKeyTheirs: Uint8Array, publicKeyOurs: Uint8Array, initiating: boolean) => Uint8Array; }; //# sourceMappingURL=p2p.d.ts.map