@smartinvoicexyz/utils
Version:
Unified source for utility functions used across the Smart Invoice protocol.
30 lines (29 loc) • 2.76 kB
TypeScript
import { KnownResolverType, Resolver } from '@smartinvoicexyz/constants';
import { Invoice, TokenBalance, TokenMetadata } from '@smartinvoicexyz/graphql';
import { Document, SupportedURL } from '@smartinvoicexyz/types';
import { Address } from 'viem';
export declare const getResolverTypes: (chainId: number | undefined) => Array<KnownResolverType>;
export type ResolverInfo<T extends KnownResolverType | undefined> = T extends KnownResolverType ? Resolver : undefined;
export declare const getResolverInfo: <T extends KnownResolverType | undefined>(resolverType: T, chainId: number | undefined) => ResolverInfo<T>;
export declare const getResolverInfoByAddress: (resolverAddress: Address, chainId: number | undefined) => Resolver | undefined;
export declare const getResolverFee: (invoice: Invoice, tokenBalance: TokenBalance) => string | undefined;
export declare const resolverFeeLabel: (fee: string | undefined, tokenMetadata: TokenMetadata | undefined) => string | undefined;
export declare const getWrappedNativeToken: (chainId: number | undefined) => `0x${string}` | undefined;
export declare const getNativeTokenSymbol: (chainId: number | undefined) => string | undefined;
export declare const getInvoiceFactoryAddress: (chainId: number | undefined) => `0x${string}` | undefined;
export declare const getTxLink: (chainId: number | undefined, hash: string | undefined) => string | undefined;
export declare const getAddressLink: (chainId: number | undefined, hash: string | undefined) => string | undefined;
export declare const isEmptyIpfsHash: (hash: string) => hash is "QmNLei78zWmzUdbeRB3CiUfAizWUrbeeZh5K1rhAQKCh51";
export declare const getAccountString: (account?: Address) => string | undefined;
export declare const isKnownResolver: (resolverType: KnownResolverType, chainId: number | undefined) => boolean;
export declare const isKnownResolverAddress: (resolverAddress: Address, chainId: number | undefined) => boolean;
export declare const getResolverString: (resolverType: KnownResolverType, chainId: number | undefined, resolverAddress?: Address) => string | undefined;
export declare const PROTOCOL_OPTIONS: string[];
export declare const isValidURL: (url: string | undefined) => url is SupportedURL;
export declare const getDecimals: (value: string) => number;
export declare function commify(x: number | bigint | string, decimals?: number): string;
export declare const resolutionFeePercentage: (resolutionRate: string) => number;
export declare const uriToHttp: (uri: string | undefined) => string | undefined;
export declare const getIpfsLink: (hash: string) => string;
export declare const documentToHttp: (document: Document) => string | undefined;
export declare const uriToDocument: (uri: string | undefined) => Document | undefined;