@river-build/sdk
Version:
For more details, visit the following resources:
168 lines • 11.8 kB
TypeScript
import { PlainMessage, StreamEvent, ChannelMessage, ChannelMessage_Post_Content_Text, UserMetadataPayload_Inception, UserPayload_Inception, SpacePayload_Inception, ChannelPayload_Inception, UserSettingsPayload_Inception, SpacePayload_ChannelUpdate, SpacePayload_UpdateChannelAutojoin, SpacePayload_UpdateChannelHideUserJoinLeaveEvents, EncryptedData, UserPayload_UserMembership, UserSettingsPayload_UserBlock, UserSettingsPayload_FullyReadMarkers, MiniblockHeader, ChannelMessage_Post_Mention, ChannelMessage_Post, MediaPayload_Inception, MediaPayload_Chunk, DmChannelPayload_Inception, GdmChannelPayload_Inception, UserInboxPayload_Ack, UserInboxPayload_Inception, UserMetadataPayload_EncryptionDevice, UserInboxPayload_GroupEncryptionSessions, SyncCookie, Snapshot, UserPayload_UserMembershipAction, MemberPayload_Membership, MembershipOp, MemberPayload_KeyFulfillment, MemberPayload_KeySolicitation, MemberPayload_Nft, BlockchainTransaction } from '@river-build/proto';
import { DecryptedContent } from './encryptedContentTypes';
import { DecryptionSessionError, EventSignatureBundle } from '@river-build/encryption';
export type LocalEventStatus = 'sending' | 'sent' | 'failed';
export interface LocalEvent {
localId: string;
channelMessage: ChannelMessage;
status: LocalEventStatus;
}
export interface ParsedEvent {
event: StreamEvent;
hash: Uint8Array;
hashStr: string;
signature: Uint8Array | undefined;
creatorUserId: string;
}
export interface StreamTimelineEvent {
hashStr: string;
creatorUserId: string;
eventNum: bigint;
createdAtEpochMs: bigint;
localEvent?: LocalEvent;
remoteEvent?: ParsedEvent;
decryptedContent?: DecryptedContent;
decryptedContentError?: DecryptionSessionError;
miniblockNum?: bigint;
confirmedEventNum?: bigint;
}
export type RemoteTimelineEvent = Omit<StreamTimelineEvent, 'remoteEvent'> & {
remoteEvent: ParsedEvent;
};
export type LocalTimelineEvent = Omit<StreamTimelineEvent, 'localEvent'> & {
localEvent: LocalEvent;
};
export type ConfirmedTimelineEvent = Omit<StreamTimelineEvent, 'remoteEvent' | 'confirmedEventNum' | 'miniblockNum'> & {
remoteEvent: ParsedEvent;
confirmedEventNum: bigint;
miniblockNum: bigint;
};
export type DecryptedTimelineEvent = Omit<StreamTimelineEvent, 'decryptedContent' | 'remoteEvent'> & {
remoteEvent: ParsedEvent;
decryptedContent: DecryptedContent;
};
export type ContractReceipt = {
transactionHash: string;
blockNumber: number;
to: string;
from: string;
logs: {
address: string;
topics: string[];
data: string;
}[];
};
type SolanaTokenBalance = {
mint: string;
owner: string;
amount: {
amount: string;
decimals: number;
};
};
export type SolanaTransactionReceipt = {
transaction: {
signatures: string[];
};
meta: {
preTokenBalances: SolanaTokenBalance[];
postTokenBalances: SolanaTokenBalance[];
};
slot: bigint;
};
export declare function isSolanaTransactionReceipt(obj: unknown): obj is SolanaTransactionReceipt;
export declare function isLocalEvent(event: StreamTimelineEvent): event is LocalTimelineEvent;
export declare function isRemoteEvent(event: StreamTimelineEvent): event is RemoteTimelineEvent;
export declare function isDecryptedEvent(event: StreamTimelineEvent): event is DecryptedTimelineEvent;
export declare function isConfirmedEvent(event: StreamTimelineEvent): event is ConfirmedTimelineEvent;
export declare function getEventSignature(remoteEvent: ParsedEvent): EventSignatureBundle;
export declare function makeRemoteTimelineEvent(params: {
parsedEvent: ParsedEvent;
eventNum: bigint;
miniblockNum?: bigint;
confirmedEventNum?: bigint;
}): RemoteTimelineEvent;
export interface ParsedMiniblock {
hash: Uint8Array;
header: MiniblockHeader;
events: ParsedEvent[];
}
export interface ParsedStreamAndCookie {
nextSyncCookie: SyncCookie;
miniblocks: ParsedMiniblock[];
events: ParsedEvent[];
}
export interface ParsedStreamResponse {
snapshot: Snapshot;
streamAndCookie: ParsedStreamAndCookie;
prevSnapshotMiniblockNum: bigint;
eventIds: string[];
}
export type ClientInitStatus = {
isHighPriorityDataLoaded: boolean;
isLocalDataLoaded: boolean;
isRemoteDataLoaded: boolean;
progress: number;
};
export declare function isCiphertext(text: string): boolean;
export declare const takeKeccakFingerprintInHex: (buf: Uint8Array, n: number) => string;
export declare const make_MemberPayload_Membership: (value: PlainMessage<MemberPayload_Membership>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserPayload_Inception: (value: PlainMessage<UserPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserPayload_UserMembership: (value: PlainMessage<UserPayload_UserMembership>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserPayload_UserMembershipAction: (value: PlainMessage<UserPayload_UserMembershipAction>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserPayload_BlockchainTransaction: (value: PlainMessage<BlockchainTransaction>) => PlainMessage<StreamEvent>['payload'];
export declare const make_SpacePayload_Inception: (value: PlainMessage<SpacePayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_DisplayName: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_Username: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_EnsAddress: (value: Uint8Array) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_Nft: (value: MemberPayload_Nft) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_Pin: (eventHash: Uint8Array, streamEvent: StreamEvent) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_Unpin: (eventId: Uint8Array) => PlainMessage<StreamEvent>['payload'];
export declare const make_ChannelMessage_Post_Content_Text: (body: string, mentions?: PlainMessage<ChannelMessage_Post_Mention>[]) => ChannelMessage;
export declare const make_ChannelMessage_Post_Content_GM: (typeUrl: string, value?: Uint8Array) => ChannelMessage;
export declare const make_ChannelMessage_Reaction: (refEventId: string, reaction: string) => ChannelMessage;
export declare const make_ChannelMessage_Edit: (refEventId: string, post: PlainMessage<ChannelMessage_Post>) => ChannelMessage;
export declare const make_ChannelMessage_Redaction: (refEventId: string, reason?: string) => ChannelMessage;
export declare const make_ChannelPayload_Inception: (value: PlainMessage<ChannelPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_DMChannelPayload_Inception: (value: PlainMessage<DmChannelPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
type DeprecatedMembership = {
userId: string;
op: MembershipOp;
initiatorId: string;
streamParentId?: string;
};
export declare const make_MemberPayload_Membership2: (value: DeprecatedMembership) => PlainMessage<StreamEvent>['payload'];
export declare const make_GDMChannelPayload_Inception: (value: PlainMessage<GdmChannelPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_GDMChannelPayload_ChannelProperties: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserSettingsPayload_Inception: (value: PlainMessage<UserSettingsPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserSettingsPayload_FullyReadMarkers: (value: PlainMessage<UserSettingsPayload_FullyReadMarkers>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserSettingsPayload_UserBlock: (value: PlainMessage<UserSettingsPayload_UserBlock>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserMetadataPayload_Inception: (value: PlainMessage<UserMetadataPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserInboxPayload_Inception: (value: PlainMessage<UserInboxPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserInboxPayload_GroupEncryptionSessions: (value: PlainMessage<UserInboxPayload_GroupEncryptionSessions>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserInboxPayload_Ack: (value: PlainMessage<UserInboxPayload_Ack>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserMetadataPayload_EncryptionDevice: (value: PlainMessage<UserMetadataPayload_EncryptionDevice>) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserMetadataPayload_ProfileImage: (value: EncryptedData) => PlainMessage<StreamEvent>['payload'];
export declare const make_UserMetadataPayload_Bio: (value: EncryptedData) => PlainMessage<StreamEvent>['payload'];
export declare const make_SpacePayload_ChannelUpdate: (value: PlainMessage<SpacePayload_ChannelUpdate>) => PlainMessage<StreamEvent>['payload'];
export declare const make_SpacePayload_SpaceImage: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const make_SpacePayload_UpdateChannelAutojoin: (value: PlainMessage<SpacePayload_UpdateChannelAutojoin>) => PlainMessage<StreamEvent>['payload'];
export declare const make_SpacePayload_UpdateChannelHideUserJoinLeaveEvents: (value: PlainMessage<SpacePayload_UpdateChannelHideUserJoinLeaveEvents>) => PlainMessage<StreamEvent>['payload'];
export declare const getUserPayload_Membership: (event: ParsedEvent | StreamEvent | undefined) => UserPayload_UserMembership | undefined;
export declare const getChannelUpdatePayload: (event: ParsedEvent | StreamEvent | undefined) => SpacePayload_ChannelUpdate | undefined;
export declare const make_ChannelPayload_Message: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const make_ChannelPayload_Redaction: (eventId: Uint8Array) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_EncryptionAlgorithm: (content?: string) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_KeyFulfillment: (value: PlainMessage<MemberPayload_KeyFulfillment>) => PlainMessage<StreamEvent>['payload'];
export declare const make_MemberPayload_KeySolicitation: (content: PlainMessage<MemberPayload_KeySolicitation>) => PlainMessage<StreamEvent>['payload'];
export declare const make_DMChannelPayload_Message: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const make_GDMChannelPayload_Message: (value: PlainMessage<EncryptedData>) => PlainMessage<StreamEvent>['payload'];
export declare const getMessagePayload: (event: ParsedEvent | StreamEvent | undefined) => EncryptedData | undefined;
export declare const getMessagePayloadContent: (event: ParsedEvent | StreamEvent | undefined) => ChannelMessage | undefined;
export declare const getMessagePayloadContent_Text: (event: ParsedEvent | StreamEvent | undefined) => ChannelMessage_Post_Content_Text | undefined;
export declare const make_MediaPayload_Inception: (value: PlainMessage<MediaPayload_Inception>) => PlainMessage<StreamEvent>['payload'];
export declare const make_MediaPayload_Chunk: (value: PlainMessage<MediaPayload_Chunk>) => PlainMessage<StreamEvent>['payload'];
export declare const getMiniblockHeader: (event: ParsedEvent | StreamEvent | undefined) => MiniblockHeader | undefined;
export declare const getRefEventIdFromChannelMessage: (message: ChannelMessage) => string | undefined;
export {};
//# sourceMappingURL=types.d.ts.map