UNPKG

@stacks/stacking

Version:
55 lines (54 loc) 3.01 kB
import { IntegerType, PrivateKey } from '@stacks/common'; import { StacksNetwork, StacksNetworkName } from '@stacks/network'; import { BufferCV, ClarityValue, OptionalCV, TupleCV } from '@stacks/transactions'; import { PoXAddressVersion, StackingErrors } from './constants'; export declare class InvalidAddressError extends Error { innerError?: Error; constructor(address: string, innerError?: Error); } export declare function btcAddressVersionToLegacyHashMode(btcAddressVersion: number): PoXAddressVersion; export declare function decodeBtcAddress(btcAddress: string): { version: PoXAddressVersion; data: string; }; export declare function decodeBtcAddressBytes(btcAddress: string): { version: PoXAddressVersion; data: Uint8Array; }; export declare function extractPoxAddressFromClarityValue(poxAddrClarityValue: ClarityValue): { version: number; hashBytes: Uint8Array; }; export declare function getErrorString(error: StackingErrors): string; export declare function poxAddressToTuple(poxAddress: string): TupleCV<import("@stacks/transactions").TupleData<BufferCV>>; export declare function poxAddressToBtcAddress(version: number, hash: string | Uint8Array, network: StacksNetworkName): string; export declare function poxAddressToBtcAddress(poxAddrClarityValue: ClarityValue, network: StacksNetworkName): string; export declare function unwrap<T extends ClarityValue>(optional: OptionalCV<T>): T | undefined; export declare function unwrapMap<T extends ClarityValue, U>(optional: OptionalCV<T>, map: (t: T) => U): U | undefined; export declare enum Pox4SignatureTopic { StackStx = "stack-stx", AggregateCommit = "agg-commit", AggregateIncrease = "agg-increase", StackExtend = "stack-extend", StackIncrease = "stack-increase" } export interface Pox4SignatureOptions { topic: `${Pox4SignatureTopic}` | Pox4SignatureTopic; poxAddress: string; rewardCycle: number; period: number; network: StacksNetworkName | StacksNetwork; maxAmount: IntegerType; authId: IntegerType; } export declare function signPox4SignatureHash({ topic, poxAddress, rewardCycle, period, network, privateKey, maxAmount, authId, }: Pox4SignatureOptions & { privateKey: PrivateKey; }): string; export declare function verifyPox4SignatureHash({ topic, poxAddress, rewardCycle, period, network, publicKey, signature, maxAmount, authId, }: Pox4SignatureOptions & { publicKey: string; signature: string; }): boolean; export declare function pox4SignatureMessage({ topic, poxAddress, rewardCycle, period: lockPeriod, network: networkOrName, maxAmount, authId, }: Pox4SignatureOptions): { message: TupleCV<import("@stacks/transactions").TupleData<import("@stacks/transactions").UIntCV | import("@stacks/transactions").StringAsciiCV | TupleCV<import("@stacks/transactions").TupleData<BufferCV>>>>; domain: TupleCV<import("@stacks/transactions").TupleData<import("@stacks/transactions").UIntCV | import("@stacks/transactions").StringAsciiCV>>; };