UNPKG

@iexec/web3telegram

Version:

Enables secure, blockchain-based messaging by encrypting Telegram user IDs for privacy. It lets users message Ethereum account holders without knowing their Telegram details.

40 lines (36 loc) 1.09 kB
import { booleanSchema, throwIfMissing } from '../utils/validators.js'; import { fetchUserContacts } from './fetchUserContacts.js'; import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, SubgraphConsumer, } from './internalTypes.js'; import { Contact, FetchMyContactsParams } from './types.js'; export type FetchMyContacts = typeof fetchMyContacts; export const fetchMyContacts = async ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(), dappAddressOrENS = throwIfMissing(), dappWhitelistAddress = throwIfMissing(), isUserStrict = false, bulkOnly = false, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & FetchMyContactsParams): Promise<Contact[]> => { const vIsUserStrict = booleanSchema() .label('isUserStrict') .validateSync(isUserStrict); const userAddress = await iexec.wallet.getAddress(); return fetchUserContacts({ iexec, graphQLClient, dappAddressOrENS, dappWhitelistAddress, userAddress, isUserStrict: vIsUserStrict, bulkOnly, }); };