@radixdlt/radix-engine-toolkit
Version:
A TypeScript wrapper for the Radix Engine Toolkit that provides many of the necessary tools to interact with the Radix ledger
83 lines (82 loc) • 3.45 kB
TypeScript
import { Curve, PublicKey, Signature, SignatureWithPublicKey } from "../..";
import { Bytes } from "./utils";
export declare abstract class PrivateKey implements Signer {
abstract readonly curve: Curve;
abstract readonly bytes: Uint8Array;
static Secp256k1: {
new (privateKey: Bytes): {
readonly curve: Curve;
readonly bytes: Uint8Array;
publicKey(): PublicKey;
publicKeyBytes(): Uint8Array;
publicKeyHex(): string;
sign(messageHash: Uint8Array): Uint8Array;
signToSignature(messageHash: Uint8Array): Signature;
signToSignatureWithPublicKey(messageHash: Uint8Array): SignatureWithPublicKey;
produceSignature(messageHash: Uint8Array): SignerResponse;
};
Secp256k1: /*elided*/ any;
Ed25519: {
new (privateKey: Bytes): {
readonly curve: Curve;
readonly bytes: Uint8Array;
publicKey(): PublicKey;
publicKeyBytes(): Uint8Array;
publicKeyHex(): string;
sign(messageHash: Uint8Array): Uint8Array;
signToSignature(messageHash: Uint8Array): Signature;
signToSignatureWithPublicKey(messageHash: Uint8Array): SignatureWithPublicKey;
produceSignature(messageHash: Uint8Array): SignerResponse;
};
Secp256k1: /*elided*/ any;
Ed25519: /*elided*/ any;
};
};
static Ed25519: {
new (privateKey: Bytes): {
readonly curve: Curve;
readonly bytes: Uint8Array;
publicKey(): PublicKey;
publicKeyBytes(): Uint8Array;
publicKeyHex(): string;
sign(messageHash: Uint8Array): Uint8Array;
signToSignature(messageHash: Uint8Array): Signature;
signToSignatureWithPublicKey(messageHash: Uint8Array): SignatureWithPublicKey;
produceSignature(messageHash: Uint8Array): SignerResponse;
};
Secp256k1: {
new (privateKey: Bytes): {
readonly curve: Curve;
readonly bytes: Uint8Array;
publicKey(): PublicKey;
publicKeyBytes(): Uint8Array;
publicKeyHex(): string;
sign(messageHash: Uint8Array): Uint8Array;
signToSignature(messageHash: Uint8Array): Signature;
signToSignatureWithPublicKey(messageHash: Uint8Array): SignatureWithPublicKey;
produceSignature(messageHash: Uint8Array): SignerResponse;
};
Secp256k1: /*elided*/ any;
Ed25519: /*elided*/ any;
};
Ed25519: /*elided*/ any;
};
abstract publicKey(): PublicKey;
abstract publicKeyBytes(): Uint8Array;
abstract publicKeyHex(): string;
abstract sign(messageHash: Uint8Array): Uint8Array;
abstract signToSignature(messageHash: Uint8Array): Signature;
abstract signToSignatureWithPublicKey(messageHash: Uint8Array): SignatureWithPublicKey;
produceSignature(messageHash: Uint8Array): SignerResponse;
}
export interface Signer {
produceSignature: (messageHash: Uint8Array) => SignerResponse;
}
export interface AsyncSigner {
produceSignature: (messageHash: Uint8Array) => Promise<SignerResponse>;
}
export type SignerResponse = {
curve: Curve;
signature: Uint8Array;
publicKey: Uint8Array;
};