@fuel-ts/abi-typegen
Version:
Generates Typescript definitions from Sway ABI Json files
61 lines • 1.97 kB
TypeScript
/**
* Types for Fuel JSON ABI Format as defined on:
* https://github.com/FuelLabs/fuel-specs/blob/b40d87d2515727188b9ae2dd23602316c50519c0/src/abi/json-abi-format.md
*/
export interface JsonAbiOld {
readonly types: readonly JsonAbiType[];
readonly loggedTypes: readonly JsonAbiLoggedType[];
readonly functions: readonly JsonAbiFunction[];
readonly messagesTypes: readonly JsonAbiMessagesType[];
readonly configurables: readonly JsonAbiConfigurable[];
readonly errorCodes?: Record<string, JsonAbiErrorCode>;
readonly encoding?: string;
}
export interface JsonAbiType {
readonly typeId: number;
readonly type: string;
readonly components: readonly JsonAbiArgument[] | null;
readonly typeParameters: readonly number[] | null;
}
export interface JsonAbiArgument {
readonly type: number;
readonly name: string;
readonly typeArguments: readonly JsonAbiArgument[] | null;
}
export interface JsonAbiArgumentWithoutName {
readonly type: number;
readonly typeArguments: readonly JsonAbiArgumentWithoutName[] | null;
}
export interface JsonAbiLoggedType {
readonly logId: string;
readonly loggedType: JsonAbiArgument;
}
export interface JsonAbiMessagesType {
readonly messageDataType: JsonAbiArgumentWithoutName;
}
export interface JsonAbiFunction {
readonly name: string;
readonly inputs: readonly JsonAbiArgument[];
readonly output: JsonAbiArgument;
readonly attributes: readonly JsonAbiFunctionAttribute[] | null;
}
export interface JsonAbiFunctionAttribute {
readonly name: string;
readonly arguments: ReadonlyArray<string>;
}
export interface JsonAbiConfigurable {
name: string;
configurableType: JsonAbiArgument;
offset: number;
}
export interface JsonAbiErrorCode {
pos: {
pkg: string;
file: string;
line: number;
column: number;
};
logId: string | null;
msg: string | null;
}
//# sourceMappingURL=JsonAbi.d.ts.map