@citizenwallet/sdk
Version:
An sdk to easily work with citizen wallet.
65 lines • 2.22 kB
TypeScript
import type { CommunityConfig } from "../index";
import { ERC20TransferLogData } from "./transfer";
import { MessageExtraData } from "./extra";
export interface Log<D = LogData, E = unknown> {
hash: string;
tx_hash: string;
created_at: string;
updated_at: string;
nonce: number;
sender: string;
to: string;
value: string;
data: D | null;
extra_data: E | null;
status: LogStatus;
}
export type ERC20TransferLog = Log<ERC20TransferLogData, MessageExtraData | null>;
export declare enum LogStatus {
Unknown = "",
Sending = "sending",
Pending = "pending",
Success = "success",
Fail = "fail"
}
export interface ResponsePaginationMetadata {
limit: number;
offset: number;
total: number;
}
export interface ObjectResponse<T, M> {
object: T;
meta: M;
}
export interface ArrayResponse<T, M> {
array: T[];
meta: M;
}
export interface PaginationParams {
limit: number;
offset: number;
}
export interface LogData {
[key: string]: string;
}
export interface LogQueryParams {
maxDate: string;
data?: LogData;
orData?: LogData;
}
export interface NewLogQueryParams {
fromDate: string;
data?: LogData;
orData?: LogData;
}
export declare function logDataToQueryString(data: LogData, prefix?: string): string;
export declare class LogsService<D = LogData, E = unknown> {
private url;
constructor(config: CommunityConfig);
getLog(tokenAddress: string, hash: string): Promise<ObjectResponse<Log<D, E>, undefined>>;
getLogs(tokenAddress: string, topic: string, params?: PaginationParams & LogQueryParams): Promise<ArrayResponse<Log<D, E>, ResponsePaginationMetadata>>;
getAllLogs(tokenAddress: string, topic: string, params?: PaginationParams & LogQueryParams): Promise<ArrayResponse<Log<D, E>, ResponsePaginationMetadata>>;
getNewLogs(tokenAddress: string, topic: string, params?: PaginationParams & NewLogQueryParams): Promise<ArrayResponse<Log<D, E>, ResponsePaginationMetadata>>;
getAllNewLogs(tokenAddress: string, topic: string, params?: PaginationParams & NewLogQueryParams): Promise<ArrayResponse<Log<D, E>, ResponsePaginationMetadata>>;
}
//# sourceMappingURL=index.d.ts.map