--- ###### tags: `DHSDKDOCS` --- # @daohaus/utils A set of helper tools and utilities that are used throughout our libraries and apps. This includes things like our constants, types, and various utilities and helper functions. ### [View on Github](https://github.com/HausDAO/monorepo/tree/develop/libs/utils) - [**Helpers**](https://github.com/HausDAO/monorepo/tree/develop/libs/utils/src/utils) - [**Constants**](https://github.com/HausDAO/monorepo/tree/develop/libs/utils/src/constants) - [**Content**](https://github.com/HausDAO/monorepo/tree/develop/libs/utils/src/content) - [**Types**](https://github.com/HausDAO/monorepo/tree/develop/libs/utils/src/types) ### [Search All Functions](https://hackmd.io/@bootleggers/Skfd50_w3/https%3A%2F%2Fhackmd.io%2FOKJHdLnsT0G_RK1igsdh_A) ### [View on NPM](https://www.npmjs.com/package/@daohaus/utils) ## Usage ### Installation ```bash yarn add @daohaus/utils ``` ### Examples **How to create a viem client** ```ts! import { createViemClient } from '@daohaus/utils'; const client = createViemClient({ chainId: '0x1', rpcs: { '0x1': 'https://some-rpc-url.com' } }); ``` **How to format time and date from a timestamp in dao data** ```ts import { formatDateTimeFromSeconds } from '@daohaus/utils'; const timeProposalWasCreated = formatDateTimeFromSeconds(proposal.createdAt) console.log(timeProposalWasCreated) '4:42 pm June 15th 2023' ``` **How to format an address into a shorter string** ```ts import { truncateAddress } from '@daohaus/utils'; const shortAddr = truncateAddress('0xf844b98df9ccdfbe5d460d0d7bdca232cf9da923'); console.log(shortAddr); '0xf844...a923' ``` **How to get the labels for proposal status used in the admin app** ```ts! import { PROPOSAL_STATUS } from '@daohaus/utils' const needProcessingLabel = PROPOSAL_STATUS.needsProcessing; console.log(needProcessingLabel) 'Ready for Execution' ``` **How to get some info copy for dao settings** ```ts import { INFO_COPY } from '@daohaus/utils' const votingPeriodInfoText = INFO_COPY.VOTING_PERIOD; console.log(votingPeriodInfoText) 'How long should proposals remain open for voting?' ``` **How to type a token info object return in dao data** ```ts! import { TokenInfo } from '@daohaus/utils' const someToken: TokenInfo = { decimals: 18, symbol: 'HAUS', name: 'HAUS' logoUri: null, }; ```