@shocknet/clink-sdk
Version:
sdk client for clink
96 lines (95 loc) • 2.66 kB
TypeScript
import { AbstractSimplePool } from "nostr-tools/lib/types/pool";
type ErrorDelta = {
max_delta_ms: number;
actual_delta_ms: number;
};
type ErrorRange = {
min: number;
max: number;
};
export type NmanageSuccess = {
res: 'ok';
resource: 'offer';
details?: OfferData | OfferData[];
};
export type NmanageFailure = {
res: 'GFY';
error: string;
code: number;
delta?: ErrorDelta;
retry_after?: number;
field?: string;
range?: ErrorRange;
};
export type NmanageResponse = NmanageSuccess | NmanageFailure;
export type OfferFields = {
label: string;
price_sats: number;
callback_url: string;
payer_data: string[];
};
export type OfferData = OfferFields & {
id: string;
noffer: string;
};
export type NmanageCreateOffer = {
resource: 'offer';
action: 'create';
pointer?: string;
offer: {
fields: OfferFields;
};
};
export type NmanageUpdateOffer = {
resource: 'offer';
action: 'update';
offer: {
id: string;
fields: OfferFields;
};
};
export type NmanageDeleteOffer = {
resource: 'offer';
action: 'delete';
offer: {
id: string;
};
};
export type NmanageGetOffer = {
resource: 'offer';
action: 'get';
offer: {
id: string;
};
};
export type NmanageListOffers = {
resource: 'offer';
action: 'list';
pointer?: string;
};
export type NmanageRequest = NmanageCreateOffer | NmanageUpdateOffer | NmanageDeleteOffer | NmanageGetOffer | NmanageListOffers;
export declare const SendNmanageRequest: (pool: AbstractSimplePool, privateKey: Uint8Array, relays: string[], toPubKey: string, data: NmanageRequest, timeoutSeconds?: number) => Promise<NmanageResponse>;
export declare const newNmanageEvent: (content: string, fromPub: string, toPub: string) => {
content: string;
created_at: number;
kind: number;
pubkey: string;
tags: string[][];
};
export declare const newNmanageFilter: (publicKey: string, eventId: string) => {
since: number;
kinds: number[];
'#p': string[];
'#e': string[];
};
type CreateOfferData = {
price_sats?: number;
callback_url?: string;
payer_data?: string[];
};
export declare const newCreateRequest: (label: string, data?: CreateOfferData, pointer?: string) => NmanageCreateOffer;
export declare const newUpdateRequest: (updatedOffer: OfferData) => NmanageUpdateOffer;
export declare const newDeleteRequest: (offerId: string) => NmanageDeleteOffer;
export declare const newGetRequest: (offerId: string) => NmanageGetOffer;
export declare const newListRequest: (pointer?: string) => NmanageListOffers;
export {};