import { EventId, SuiClient, getFullnodeUrl } from '@mysten/sui/client';
import { SageClient } from '@sage-app/sdk/client';
...
interface QueryInput {
cursor?: EventId;
}
const network = 'mainnet' | 'testnet';
const suiClient = new SuiClient({ url: getFullnodeUrl(network) });
const sageClient = new SageClient({ network, suiClient });
...
const pollNewInvites = async ({ cursor }) => {
const {
eventCount,
events,
hasNextPage,
nextCursor
} = await sageClient.queryInviteCreateEvents({ cursor }: QueryInput);
// do something with events
setTimeout(() => pollNewInvites({ cursor: nextCursor }), 5000);
};
interface InviteCreateEvent {
inviteCode: string;
inviteKey: string;
user: string; // referring user's address
}