@btc-vision/transaction
Version:
OPNet transaction library allows you to create and sign transactions for the OPNet network.
46 lines (45 loc) • 1.76 kB
TypeScript
import { IChallengeSolution, IChallengeSubmission, IChallengeVerification, RawChallenge, RawChallengeSubmission, RawChallengeVerification } from './interfaces/IChallengeSolution.js';
import { Address } from '../keypair/Address.js';
export declare class ChallengeVerification implements IChallengeVerification {
readonly epochHash: Buffer;
readonly epochRoot: Buffer;
readonly targetHash: Buffer;
readonly targetChecksum: Buffer;
readonly startBlock: bigint;
readonly endBlock: bigint;
readonly proofs: readonly Buffer[];
constructor(data: RawChallengeVerification);
}
export declare class ChallengeSubmission implements IChallengeSubmission {
readonly epochNumber: bigint;
readonly publicKey: Address;
readonly solution: Buffer;
readonly graffiti: Buffer | undefined;
readonly signature: Buffer;
constructor(data: RawChallengeSubmission, epochNumber: bigint);
verifySignature(): boolean;
}
export declare class ChallengeSolution implements IChallengeSolution {
readonly epochNumber: bigint;
readonly publicKey: Address;
readonly solution: Buffer;
readonly salt: Buffer;
readonly graffiti: Buffer;
readonly difficulty: number;
readonly verification: ChallengeVerification;
private readonly submission?;
constructor(data: RawChallenge);
static validateRaw(data: RawChallenge): boolean;
verifySubmissionSignature(): boolean;
getSubmission(): ChallengeSubmission | undefined;
verify(): boolean;
toBuffer(): Buffer;
toHex(): string;
toRaw(): RawChallenge;
calculateSolution(): Buffer;
checkDifficulty(minDifficulty: number): {
valid: boolean;
difficulty: number;
};
getMiningTargetBlock(): bigint | null;
}