Interface iBitBadgesUserInfo<T>

interface iBitBadgesUserInfo<T> {
    _docId: string;
    _id?: string;
    accountNumber: T;
    activity: iTransferActivityDoc<T>[];
    address: string;
    addressLists: iBitBadgesAddressList<T>[];
    airdropped?: boolean;
    alias?: {
        collectionId?: T;
        listId?: string;
    };
    approvalTrackers: iApprovalTrackerDoc<T>[];
    approvedSignInMethods?: {
        addresses?: {
            address: string;
            scopes: OAuthScopeDetails[];
        }[];
        discord?: {
            discriminator?: string;
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
        github?: {
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
        google?: {
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
        passwords?: {
            passwordHash: string;
            salt: string;
            scopes: OAuthScopeDetails[];
        }[];
        twitter?: {
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
    };
    attestations: iAttestationDoc<T>[];
    avatar?: string;
    balance?: iCosmosCoin<T>;
    bannerImage?: string;
    bitbadgesAddress: string;
    btcAddress: string;
    chain: SupportedChain;
    claimActivity?: iClaimActivityDoc<T>[];
    claimAlerts: iClaimAlertDoc<T>[];
    collected: iBalanceDocWithDetails<T>[];
    createdAt?: T;
    customLinks?: iCustomLink[];
    customPages?: {
        attestations: iCustomListPage[];
        badges: iCustomPage<T>[];
        lists: iCustomListPage[];
    };
    discord?: string;
    embeddedWalletAddress?: string;
    ethAddress: string;
    fetchedProfile?: "full" | "partial";
    github?: string;
    hiddenBadges?: iBatchBadgeDetails<T>[];
    hiddenLists?: string[];
    latestSignedInChain?: SupportedChain;
    listsActivity: iListActivityDoc<T>[];
    merkleChallenges: iMerkleChallengeDoc<T>[];
    notifications?: iNotificationPreferences<T>;
    nsfw?: {
        [badgeId: string]: string;
    };
    profilePicUrl?: string;
    pubKeyType: string;
    publicKey: string;
    readme?: string;
    reported?: {
        [badgeId: string]: string;
    };
    reservedMap?: iMapDoc<T>;
    resolvedName?: string;
    seenActivity?: T;
    sequence?: T;
    siwbbRequests: iSIWBBRequestDoc<T>[];
    socialConnections?: iSocialConnections<T>;
    solAddress: string;
    telegram?: string;
    twitter?: string;
    username?: string;
    views: {
        [viewId: string]: {
            ids: string[];
            pagination: PaginationInfo;
            type: string;
        } | undefined;
    };
    watchlists?: {
        attestations: iCustomListPage[];
        badges: iCustomPage<T>[];
        lists: iCustomListPage[];
    };
}

Type Parameters

Hierarchy (view full)

Implemented by

Properties

_docId: string

A unique stringified document ID

_id?: string

A unique document ID (Mongo DB ObjectID)

accountNumber: T

The account number of the account

activity: iTransferActivityDoc<T>[]

A list of transfer activity items for the account. Paginated and fetched as needed. To be used in conjunction with views.

address: string

The native address of the account

addressLists: iBitBadgesAddressList<T>[]

A list of address lists for the account. Paginated and fetched as needed. To be used in conjunction with views.

airdropped?: boolean

Indicates whether the account has claimed their airdrop.

alias?: {
    collectionId?: T;
    listId?: string;
}

The alias for the account.

approvalTrackers: iApprovalTrackerDoc<T>[]

A list of approvals tracker activity items for the account. Paginated and fetched as needed. To be used in conjunction with views.

approvedSignInMethods?: {
    addresses?: {
        address: string;
        scopes: OAuthScopeDetails[];
    }[];
    discord?: {
        discriminator?: string;
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
    github?: {
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
    google?: {
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
    passwords?: {
        passwordHash: string;
        salt: string;
        scopes: OAuthScopeDetails[];
    }[];
    twitter?: {
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
}

Approved ways to sign in

attestations: iAttestationDoc<T>[]

A list of user attestations for the account. Paginated and fetched as needed. To be used in conjunction with views.

avatar?: string

The avatar of the account.

balance?: iCosmosCoin<T>

The balance of the account

bannerImage?: string

The banner image URL of the account

bitbadgesAddress: string

The BitBadges address of the account

btcAddress: string

The Bitcoin address of the account

The chain of the account.

claimActivity?: iClaimActivityDoc<T>[]

A list of claim activity items for the account. Paginated and fetched as needed. To be used in conjunction with views.

claimAlerts: iClaimAlertDoc<T>[]

A list of claim alerts for the account. Paginated and fetched as needed. To be used in conjunction with views.

A list of badges that the account has collected. Paginated and fetched as needed. To be used in conjunction with views.

createdAt?: T

The timestamp of when this account was created (milliseconds since epoch)

customLinks?: iCustomLink[]

The custom links of the account

customPages?: {
    attestations: iCustomListPage[];
    badges: iCustomPage<T>[];
    lists: iCustomListPage[];
}

The custom pages of the account

discord?: string

The Discord username of the account

embeddedWalletAddress?: string

Embedded wallet address

ethAddress: string

The Eth address of the account

fetchedProfile?: "full" | "partial"

Whether we have already fetched the profile or not

github?: string

The GitHub username of the account

hiddenBadges?: iBatchBadgeDetails<T>[]

The hidden badges of the account

hiddenLists?: string[]

The hidden lists of the account

latestSignedInChain?: SupportedChain

The latest chain the user signed in with

listsActivity: iListActivityDoc<T>[]

A list of list activity items for the account. Paginated and fetched as needed. To be used in conjunction with views.

merkleChallenges: iMerkleChallengeDoc<T>[]

A list of merkle challenge activity items for the account. Paginated and fetched as needed. To be used in conjunction with views.

notifications?: iNotificationPreferences<T>

The notifications of the account

nsfw?: {
    [badgeId: string]: string;
}

Indicates whether the account is NSFW.

profilePicUrl?: string

The profile picture URL of the account

pubKeyType: string

The public key type of the account

publicKey: string

The public key of the account

readme?: string

The readme of the account

reported?: {
    [badgeId: string]: string;
}

Indicates whether the account has been reported.

reservedMap?: iMapDoc<T>

The reserved map for the account. This is created and managed on-chain through the x/maps module.

resolvedName?: string

The resolved name of the account (e.g. ENS name).

seenActivity?: T

The timestamp of the last activity seen for this account (milliseconds since epoch)

sequence?: T

The sequence of the account

siwbbRequests: iSIWBBRequestDoc<T>[]

A list of SIWBB requests for the account. Paginated and fetched as needed. To be used in conjunction with views.

socialConnections?: iSocialConnections<T>

Social connections stored for the account

solAddress: string

The Solana address of the account.

telegram?: string

The Telegram username of the account

twitter?: string

The Twitter username of the account

username?: string

The username of the account

views: {
    [viewId: string]: {
        ids: string[];
        pagination: PaginationInfo;
        type: string;
    } | undefined;
}

The views for this collection and their pagination Doc. Views will only include the doc _ids. Use the pagination to fetch more. To be used in conjunction with activity, announcements, reviews, owners, merkleChallenges, and approvalTrackers. For example, if you want to fetch the activity for a view, you would use the view's pagination to fetch the doc _ids, then use the corresponding activity array to find the matching docs.

watchlists?: {
    attestations: iCustomListPage[];
    badges: iCustomPage<T>[];
    lists: iCustomListPage[];
}

The watched lists of the account's portfolio