@openweb3-io/waas
Version:
WaaS API client and WaaS verification library
118 lines (117 loc) • 5.46 kB
TypeScript
import { Configuration, ValidateAddressesReply, CursorPageAddress, CreateAddressRequest, Address, CursorPageChain, Chain, SweepAddressRequest, SweepAddressResponse, CursorPageToken, CreateTokenRequest, Token, UpdateTokenRequest, Transaction, EstimateFeeRequest, EstimateFeeResponse, CreateTransferRequest, CreateTransferResponse, CreateWalletRequest, Wallet, CursorPageWallet, UpdateWalletRequest, CursorPageEndpoint, Endpoint, CreateEndpoint, UpdateEndpoint, CursorPageEventType, SignMessageRequest, SignMessageResponse, CreateGasStationRequest, CursorPageGasStation, UpdateGasStationRequest, GasStation, GetGasStationDepositAddressRequest, GetGasStationDepositAddressReply } from "./openapi/index";
export * from "./openapi/models/all";
export * from "./openapi/apis/exception";
export interface ApiClientOptions {
debug?: boolean;
serverUrl?: string;
}
export declare class ApiClient {
readonly _configuration: Configuration;
readonly addresses: Addresses;
readonly chains: Chains;
readonly sweeps: Sweeps;
readonly tokens: Tokens;
readonly transactions: Transactions;
readonly wallets: Wallets;
readonly webhookEndpoints: WebhookEndpoints;
readonly webhookEvents: WebhookEvents;
readonly gasStations: GasStations;
constructor(apikey: string, privateKey: string, options?: ApiClientOptions);
}
export interface PostOptions {
idempotencyKey?: string;
}
interface CursorPageOptions {
cursor?: string;
limit?: number;
}
export interface ListAddressesOptions extends CursorPageOptions {
walletIds?: string[];
chainIds?: string[];
}
export interface ListAddressesByWalletOptions extends CursorPageOptions {
chainIds?: string[];
}
declare class Addresses {
private readonly api;
constructor(config: Configuration);
list(options?: ListAddressesOptions): Promise<CursorPageAddress>;
listByWallet(walletId: string, options?: ListAddressesByWalletOptions): Promise<CursorPageAddress>;
validateAddresses(chainId: string, addresses: string[]): Promise<ValidateAddressesReply>;
create(walletId: string, createAddressRequest: CreateAddressRequest): Promise<Address>;
getAddress(walletId: string, address: string): Promise<Address>;
}
declare class Chains {
private readonly api;
constructor(config: Configuration);
list(options?: CursorPageOptions): Promise<CursorPageChain>;
retrieve(chainId: string): Promise<Chain>;
}
declare class Sweeps {
private readonly api;
constructor(config: Configuration);
sweepAddress(address: string, sweepAddressRequest: SweepAddressRequest): Promise<SweepAddressResponse>;
}
declare class Tokens {
private readonly api;
constructor(config: Configuration);
list(options?: CursorPageOptions): Promise<CursorPageToken>;
create(createTokenRequest: CreateTokenRequest): Promise<Token>;
retrieve(tokenId: string): Promise<Token>;
update(tokenId: string, updateTokenRequest: UpdateTokenRequest): Promise<Token>;
}
export interface ListTransactionsOptions extends CursorPageOptions {
walletIds?: string[];
chainIds?: string[];
tokenIds?: string[];
assetIds?: string[];
hash?: string;
status?: string;
}
declare class Transactions {
private readonly api;
constructor(config: Configuration);
list(options?: ListTransactionsOptions): Promise<CursorPageToken>;
estimateFee(estimateFeeRequest: EstimateFeeRequest): Promise<EstimateFeeResponse>;
transfer(createTransferRequest: CreateTransferRequest): Promise<CreateTransferResponse>;
getTransaction(transactionId: string): Promise<Transaction>;
signMessage(signMessageRequest: SignMessageRequest): Promise<SignMessageResponse>;
}
declare class Wallets {
private readonly api;
constructor(config: Configuration);
list(options?: CursorPageOptions): Promise<CursorPageWallet>;
create(createWalletRequest: CreateWalletRequest): Promise<Wallet>;
delete(walletId: string): Promise<void>;
get(walletId: string): Promise<Wallet>;
update(walletId: string, updateWalletRequest: UpdateWalletRequest): Promise<Wallet>;
}
declare class WebhookEndpoints {
private readonly api;
constructor(config: Configuration);
list(options?: CursorPageOptions): Promise<CursorPageEndpoint>;
create(createEndpoint: CreateEndpoint): Promise<Endpoint>;
delete(endpointId: string): Promise<void>;
get(endpointId: string): Promise<Endpoint>;
update(endpointId: string, updateEndpoint: UpdateEndpoint): Promise<Endpoint>;
}
declare class WebhookEvents {
private readonly api;
constructor(config: Configuration);
list(options?: CursorPageOptions): Promise<CursorPageEventType>;
}
declare class GasStations {
private readonly api;
constructor(config: Configuration);
list(options?: CursorPageOptions): Promise<CursorPageGasStation>;
create(createGasStationRequest: CreateGasStationRequest): Promise<GasStation>;
get(gasStationId: string): Promise<GasStation>;
update(gasStationId: string, updateGasStationRequest: UpdateGasStationRequest): Promise<GasStation>;
delete(gasStationId: string): Promise<void>;
getOrCreateDepositAddress(getGasStationDepositAddressRequest: GetGasStationDepositAddressRequest): Promise<GetGasStationDepositAddressReply>;
}
export declare class WebhookClient {
private readonly publicKey;
constructor(publicKey: string);
verify(payload: string, signature: string): Promise<boolean>;
}