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
TypeScript
/// <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;
}