ethers.js/packages/abi/lib/coders/abstract-coder.d.ts

53 lines
1.9 KiB
TypeScript
Raw Normal View History

import { BytesLike } from "@ethersproject/bytes";
import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
2020-03-31 00:24:33 +03:00
export interface Result extends ReadonlyArray<any> {
readonly [key: string]: any;
2020-01-08 03:58:04 +03:00
}
2020-04-25 10:54:54 +03:00
export declare function checkResultErrors(result: Result): Array<{
path: Array<string | number>;
error: Error;
}>;
export declare type CoerceFunc = (type: string, value: any) => any;
export declare abstract class Coder {
readonly name: string;
readonly type: string;
readonly localName: string;
readonly dynamic: boolean;
constructor(name: string, type: string, localName: string, dynamic: boolean);
_throwError(message: string, value: any): void;
abstract encode(writer: Writer, value: any): number;
abstract decode(reader: Reader): any;
2020-11-23 11:43:28 +03:00
abstract defaultValue(): any;
}
export declare class Writer {
readonly wordSize: number;
2020-10-05 22:46:12 +03:00
_data: Array<Uint8Array>;
_dataLength: number;
_padding: Uint8Array;
constructor(wordSize?: number);
get data(): string;
get length(): number;
_writeData(data: Uint8Array): number;
2020-10-05 22:46:12 +03:00
appendWriter(writer: Writer): number;
writeBytes(value: BytesLike): number;
_getValue(value: BigNumberish): Uint8Array;
writeValue(value: BigNumberish): number;
writeUpdatableValue(): (value: BigNumberish) => void;
}
export declare class Reader {
readonly wordSize: number;
2020-09-08 02:55:52 +03:00
readonly allowLoose: boolean;
readonly _data: Uint8Array;
readonly _coerceFunc: CoerceFunc;
_offset: number;
2020-09-08 02:55:52 +03:00
constructor(data: BytesLike, wordSize?: number, coerceFunc?: CoerceFunc, allowLoose?: boolean);
get data(): string;
get consumed(): number;
static coerce(name: string, value: any): any;
coerce(name: string, value: any): any;
2020-09-08 02:55:52 +03:00
_peekBytes(offset: number, length: number, loose?: boolean): Uint8Array;
subReader(offset: number): Reader;
2020-09-08 02:55:52 +03:00
readBytes(length: number, loose?: boolean): Uint8Array;
readValue(): BigNumber;
}