UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

45 lines (44 loc) 2.42 kB
/// <reference types="node" /> import { SubstrateNetwork } from '../../../SubstrateNetwork'; import { SCALEAccountId } from './type/SCALEAccountId'; import { SCALEArray } from './type/SCALEArray'; import { SCALEBoolean } from './type/SCALEBoolean'; import { SCALEBytes } from './type/SCALEBytes'; import { SCALECompactInt } from './type/SCALECompactInt'; import { SCALEData } from './type/SCALEData'; import { SCALEEnum } from './type/SCALEEnum'; import { SCALEEra } from './type/SCALEEra'; import { SCALEHash } from './type/SCALEHash'; import { SCALEInt } from './type/SCALEInt'; import { SCALEOptional } from './type/SCALEOptional'; import { SCALEString } from './type/SCALEString'; import { SCALETuple } from './type/SCALETuple'; import { SCALEType } from './type/SCALEType'; export declare type DecoderMethod<T> = (network: SubstrateNetwork, hex: string) => SCALEDecodeResult<T>; export declare type DecoderPartialMethod<T> = (hex: string) => SCALEDecodeResult<T>; export interface SCALEDecodeResult<T> { bytesDecoded: number; decoded: T; } export declare class SCALEDecoder { private readonly network; private hex; constructor(network: SubstrateNetwork, bytes: string | Uint8Array | Buffer); decodeNextAccountId(): SCALEDecodeResult<SCALEAccountId>; decodeNextArray<T extends SCALEType>(decoderMethod: DecoderMethod<T>): SCALEDecodeResult<SCALEArray<T>>; decodeNextBoolean(): SCALEDecodeResult<SCALEBoolean>; decodeNextBytes(): SCALEDecodeResult<SCALEBytes>; decodeNextCompactInt(): SCALEDecodeResult<SCALECompactInt>; decodeNextEra(): SCALEDecodeResult<SCALEEra>; decodeNextHash(bitLength: number): SCALEDecodeResult<SCALEHash>; decodeNextInt(bitLength: number): SCALEDecodeResult<SCALEInt>; decodeNextOptional<T extends SCALEType>(decoderMethod: DecoderMethod<T>): SCALEDecodeResult<SCALEOptional<T>>; decodeNextString(): SCALEDecodeResult<SCALEString>; decodeNextTuple<T extends SCALEType, R extends SCALEType>(firstDecoderMethod: DecoderMethod<T>, secondDecoderMethod: DecoderMethod<R>): SCALEDecodeResult<SCALETuple<T, R>>; decodeNextEnum<T>(getEnumValue: (value: number) => T | null): SCALEDecodeResult<SCALEEnum<T>>; decodeNextData(): SCALEDecodeResult<SCALEData>; decodeNextObject<T>(decoderMethod: DecoderMethod<T>): SCALEDecodeResult<T>; private decodeNextValuePartial; private decodeNextValue; private moveCursor; }