@river-build/sdk
Version:
For more details, visit the following resources:
70 lines • 3.57 kB
TypeScript
import { MembershipOp, Snapshot, WrappedEncryptedData, MemberPayload_Nft } from '@river-build/proto';
import TypedEmitter from 'typed-emitter';
import { StreamEncryptionEvents, StreamStateEvents } from './streamEvents';
import { ConfirmedTimelineEvent, ParsedEvent, RemoteTimelineEvent, StreamTimelineEvent } from './types';
import { StreamStateView_Members_Membership } from './streamStateView_Members_Membership';
import { StreamStateView_Members_Solicitations } from './streamStateView_Members_Solicitations';
import { DecryptedContent } from './encryptedContentTypes';
import { StreamStateView_MemberMetadata } from './streamStateView_MemberMetadata';
import { KeySolicitationContent } from '@river-build/encryption';
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
import { SpaceReviewEventObject } from '@river-build/web3';
export type StreamMember = {
userId: string;
userAddress: Uint8Array;
miniblockNum?: bigint;
eventNum?: bigint;
solicitations: KeySolicitationContent[];
encryptedUsername?: WrappedEncryptedData;
encryptedDisplayName?: WrappedEncryptedData;
ensAddress?: Uint8Array;
nft?: MemberPayload_Nft;
};
export interface Pin {
creatorUserId: string;
event: StreamTimelineEvent;
}
export declare class StreamStateView_Members extends StreamStateView_AbstractContent {
readonly streamId: string;
readonly joined: Map<string, StreamMember>;
readonly membership: StreamStateView_Members_Membership;
readonly solicitHelper: StreamStateView_Members_Solicitations;
readonly memberMetadata: StreamStateView_MemberMetadata;
readonly pins: Pin[];
tips: {
[key: string]: bigint;
};
encryptionAlgorithm?: string;
spaceReviews: {
review: SpaceReviewEventObject;
createdAtEpochMs: bigint;
eventHashStr: string;
}[];
tokenTransfers: {
address: Uint8Array;
amount: bigint;
isBuy: boolean;
chainId: string;
userId: string;
createdAtEpochMs: bigint;
messageId: string;
}[];
constructor(streamId: string);
applySnapshot(eventId: string, event: ParsedEvent, snapshot: Snapshot, cleartexts: Record<string, Uint8Array | string> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
prependEvent(event: RemoteTimelineEvent, _cleartext: Uint8Array | string | undefined, _encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
/**
* Places event in a pending queue, to be applied when the event is confirmed in a miniblock header
*/
appendEvent(event: RemoteTimelineEvent, cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
onConfirmedEvent(event: ConfirmedTimelineEvent, stateEmitter: TypedEmitter<StreamStateEvents> | undefined, _: TypedEmitter<StreamEncryptionEvents> | undefined): void;
onDecryptedContent(eventId: string, content: DecryptedContent, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
isMemberJoined(userId: string): boolean;
isMember(membership: MembershipOp, userId: string): boolean;
participants(): Set<string>;
joinedParticipants(): Set<string>;
joinedOrInvitedParticipants(): Set<string>;
private addTokenTransfer;
private addPin;
private removePin;
}
//# sourceMappingURL=streamStateView_Members.d.ts.map