├── .nvmrc ├── tools ├── generators │ └── .gitkeep └── tsconfig.tools.json ├── apps ├── admin │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ └── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ ├── favicon.ico │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── fonts.css │ │ ├── theme.tsx │ │ ├── App.tsx │ │ ├── pages │ │ │ ├── Home.tsx │ │ │ └── FormTest.tsx │ │ ├── legos │ │ │ └── legoConfig.tsx │ │ ├── components │ │ │ ├── JSONDisplay.tsx │ │ │ └── HeaderAvatar.tsx │ │ ├── layout │ │ │ └── HomeContainer.tsx │ │ └── index.html │ ├── .babelrc │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── README.md │ ├── tsconfig.spec.json │ ├── .browserslistrc │ ├── tsconfig.app.json │ └── tsconfig.json ├── dev-sandbox │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── pages │ │ │ ├── Home.tsx │ │ │ ├── FormTest.tsx │ │ │ └── DaoOverview.tsx │ │ ├── polyfills.ts │ │ ├── index.html │ │ ├── App.tsx │ │ ├── legos │ │ │ └── fieldConfig.ts │ │ └── layout │ │ │ └── HomeContainer.tsx │ ├── .babelrc │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── tsconfig.spec.json │ ├── .browserslistrc │ ├── tsconfig.app.json │ └── tsconfig.json ├── moloch-v3-subgraph │ ├── .gitignore │ ├── manifests │ │ ├── header.yaml │ │ ├── loot-template.yaml │ │ ├── poster-ds.yaml │ │ ├── baal-summoner-ds.yaml │ │ └── vault-summoner-ds.yaml │ └── src │ │ └── util │ │ └── transactions.ts ├── summon │ ├── src │ │ ├── favicon.ico │ │ ├── polyfills.ts │ │ ├── app │ │ │ └── constants.ts │ │ ├── index.html │ │ ├── utils │ │ │ ├── summonlegos.ts │ │ │ └── formKeys.ts │ │ ├── assets │ │ │ └── hausBlock.svg │ │ └── components │ │ │ └── HausBlockLoading │ │ │ └── HausBlockLoading.tsx │ ├── .babelrc │ ├── README.md │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── tsconfig.spec.json │ ├── .browserslistrc │ ├── tsconfig.app.json │ └── tsconfig.json └── summon-safe │ ├── src │ ├── assets │ │ ├── robots.txt │ │ ├── daohaus.png │ │ ├── favicon.ico │ │ ├── logo192.png │ │ └── logo512.png │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── polyfills.ts │ ├── utils │ │ ├── chain.ts │ │ ├── graphql.ts │ │ └── formKeys.ts │ └── GlobalStyle.ts │ ├── .babelrc │ ├── README.md │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── tsconfig.spec.json │ ├── .browserslistrc │ ├── tsconfig.app.json │ └── tsconfig.json ├── .prettierrc ├── libs ├── abis │ ├── src │ │ ├── index.ts │ │ └── abi │ │ │ ├── superFluidProxy.json │ │ │ └── gnosisMultisend.json │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── tsconfig.json │ └── README.md ├── ui │ ├── src │ │ ├── theme │ │ │ ├── atoms │ │ │ │ └── index.ts │ │ │ ├── global │ │ │ │ ├── border.ts │ │ │ │ ├── index.ts │ │ │ │ ├── fonts.css │ │ │ │ ├── breakpoints.ts │ │ │ │ └── font.ts │ │ │ └── index.ts │ │ ├── components │ │ │ ├── atoms │ │ │ │ ├── Icon │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Icon.tsx │ │ │ │ ├── Input │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Input.types.ts │ │ │ │ ├── Divider │ │ │ │ │ └── index.ts │ │ │ │ ├── FileInput │ │ │ │ │ ├── index.ts │ │ │ │ │ └── FileInput.styles.tsx │ │ │ │ ├── Typography │ │ │ │ │ └── index.ts │ │ │ │ ├── HelperTexts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── HelperText.types.ts │ │ │ │ │ └── HelperText.styles.ts │ │ │ │ ├── Checkbox │ │ │ │ │ ├── Checkbox.types.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── Label │ │ │ │ │ ├── Label.types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── Label.styles.ts │ │ │ │ │ ├── Label.tsx │ │ │ │ │ └── Label.stories.tsx │ │ │ │ ├── Card │ │ │ │ │ ├── Card.types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── Card.tsx │ │ │ │ │ └── Card.stories.tsx │ │ │ │ ├── Select │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Select.types.ts │ │ │ │ ├── Switch │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Switch.types.ts │ │ │ │ ├── Tag │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Tag.types.ts │ │ │ │ ├── Avatar │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── Avatar.types.ts │ │ │ │ │ └── Avatar.tsx │ │ │ │ ├── Loading │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── Loading.types.ts │ │ │ │ │ ├── Loading.stories.tsx │ │ │ │ │ └── Loading.styles.ts │ │ │ │ ├── Spinner │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Spinner.types.ts │ │ │ │ ├── Progress │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── Progress.types.ts │ │ │ │ │ └── Progress.styles.ts │ │ │ │ ├── Radio │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Radio.types.ts │ │ │ │ ├── TextArea │ │ │ │ │ ├── index.ts │ │ │ │ │ └── TextArea.types.ts │ │ │ │ ├── Badge │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Badge.types.ts │ │ │ │ ├── Link │ │ │ │ │ └── index.ts │ │ │ │ ├── Tooltip │ │ │ │ │ ├── TooltipTriggers.tsx │ │ │ │ │ ├── Tooltip.types.ts │ │ │ │ │ └── index.ts │ │ │ │ └── Button │ │ │ │ │ ├── index.ts │ │ │ │ │ └── IconButton.types.ts │ │ │ ├── molecules │ │ │ │ ├── CheckGate │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── CheckGate.styles.ts │ │ │ │ │ └── CheckGate.types.ts │ │ │ │ ├── FieldAlert │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── FieldAlert.types.ts │ │ │ │ │ └── FieldAlert.tsx │ │ │ │ ├── GatedButton │ │ │ │ │ └── index.ts │ │ │ │ ├── CSInput │ │ │ │ │ └── index.ts │ │ │ │ ├── CollapsibleCard │ │ │ │ │ ├── index.ts │ │ │ │ │ └── CollapsibleCard.types.ts │ │ │ │ ├── FileInput │ │ │ │ │ ├── index.ts │ │ │ │ │ └── FileInput.styles.ts │ │ │ │ ├── ImageInput │ │ │ │ │ └── index.ts │ │ │ │ ├── InputSelect │ │ │ │ │ └── index.ts │ │ │ │ ├── FieldWrapper │ │ │ │ │ ├── index.ts │ │ │ │ │ └── FieldWrapper.types.ts │ │ │ │ ├── WrappedInput │ │ │ │ │ └── index.ts │ │ │ │ ├── WrappedRadio │ │ │ │ │ └── index.ts │ │ │ │ ├── WrappedSelect │ │ │ │ │ └── index.ts │ │ │ │ ├── WrappedSwitch │ │ │ │ │ └── index.ts │ │ │ │ ├── ShamanPermission │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ShamanPermission.tsx │ │ │ │ ├── WrappedCheckbox │ │ │ │ │ └── index.ts │ │ │ │ ├── WrappedFileInput │ │ │ │ │ └── index.ts │ │ │ │ ├── WrappedTextArea │ │ │ │ │ └── index.ts │ │ │ │ ├── WrappedInputSelect │ │ │ │ │ └── index.ts │ │ │ │ ├── Banner │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── Banner.types.ts │ │ │ │ │ └── Banner.stories.tsx │ │ │ │ ├── ProfileAvatar │ │ │ │ │ ├── ProfileAvatart.styles.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ProfileAvatar.types.ts │ │ │ │ ├── Toast │ │ │ │ │ └── index.ts │ │ │ │ ├── TimePicker │ │ │ │ │ ├── index.ts │ │ │ │ │ └── TimePicker.types.ts │ │ │ │ ├── Dialog │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Dialog.types.ts │ │ │ │ ├── DataIndicator │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── DataIndicator.types.ts │ │ │ │ │ └── DataIndicator.styles.tsx │ │ │ │ ├── AddressDisplay │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── AddressDisplay.types.ts │ │ │ │ │ └── AddressDisplay.styles.tsx │ │ │ │ ├── Tabs │ │ │ │ │ ├── index.ts │ │ │ │ │ └── Tabs.types.ts │ │ │ │ ├── HighlightInputText │ │ │ │ │ ├── index.ts │ │ │ │ │ └── HighlightInputText.types.ts │ │ │ │ ├── ProfileButton │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ProfileButton.types.ts │ │ │ │ └── NavigationMenu │ │ │ │ │ └── index.ts │ │ │ ├── organisms │ │ │ │ ├── Footer │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── AppSwitcher │ │ │ │ │ ├── index.ts │ │ │ │ │ └── AppSwitcher.types.ts │ │ │ │ └── MemberCard │ │ │ │ │ ├── index.ts │ │ │ │ │ └── MemberCard.styles.ts │ │ │ ├── layouts │ │ │ │ ├── FormLayout │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── FormLayout.types.ts │ │ │ │ │ └── FormLayout.styles.tsx │ │ │ │ ├── FormSegment │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── FormSegment.types.ts │ │ │ │ │ └── FormSegment.styles.tsx │ │ │ │ ├── MainLayout │ │ │ │ │ ├── index.ts │ │ │ │ │ └── MainLayout.tsx │ │ │ │ ├── OuterLayout │ │ │ │ │ ├── index.ts │ │ │ │ │ └── OuterLayout.tsx │ │ │ │ ├── SplitColumn │ │ │ │ │ ├── index.ts │ │ │ │ │ └── SplitColumn.types.ts │ │ │ │ ├── BiColumnLayout │ │ │ │ │ ├── index.ts │ │ │ │ │ └── BiColumnLayout.types.ts │ │ │ │ ├── SingleColumnLayout │ │ │ │ │ ├── index.ts │ │ │ │ │ └── SingleColumnLayout.types.ts │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── types │ │ │ └── index.ts │ │ ├── hooks │ │ │ ├── index.ts │ │ │ └── useDebounce.ts │ │ ├── index.ts │ │ ├── styled.d.ts │ │ └── animations │ │ │ └── general.ts │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── rollup.config.js │ ├── .eslintrc.json │ └── tsconfig.spec.json ├── form-builder │ ├── src │ │ ├── types │ │ │ ├── index.ts │ │ │ └── formLegoTypes.ts │ │ ├── components │ │ │ ├── FieldSpacer.tsx │ │ │ ├── index.ts │ │ │ ├── Logger.tsx │ │ │ └── TupleObject.tsx │ │ └── index.ts │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ └── tsconfig.json ├── moloch-v3-macro-ui │ ├── src │ │ ├── index.ts │ │ ├── utils │ │ │ ├── index.ts │ │ │ ├── useDebounce.tsx │ │ │ └── daoDataDisplayHelpers.ts │ │ ├── components │ │ │ ├── SafeCard │ │ │ │ └── index.ts │ │ │ ├── SafesList │ │ │ │ └── index.ts │ │ │ ├── DaohausTable │ │ │ │ └── index.ts │ │ │ ├── MemberDisplay │ │ │ │ ├── index.ts │ │ │ │ └── MemberDisplay.styles.ts │ │ │ ├── ProposalList │ │ │ │ └── index.ts │ │ │ ├── ProposalActionData │ │ │ │ └── index.ts │ │ │ ├── DaoOverview │ │ │ │ └── index.ts │ │ │ ├── MemberList │ │ │ │ └── index.ts │ │ │ ├── ProposalHistory │ │ │ │ └── index.ts │ │ │ ├── ProposalCard │ │ │ │ ├── index.ts │ │ │ │ ├── types.ts │ │ │ │ ├── Cancelled.tsx │ │ │ │ └── Expired.tsx │ │ │ ├── Layout │ │ │ │ ├── index.ts │ │ │ │ └── Layout.tsx │ │ │ ├── ProposalDetails │ │ │ │ └── index.ts │ │ │ ├── MemberProfileCard │ │ │ │ └── index.ts │ │ │ ├── DaoSettings │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ └── assets │ │ │ └── arrow-down-s-line.svg │ ├── .babelrc │ ├── package.json │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ └── tsconfig.lib.json ├── profile-data │ ├── src │ │ ├── types │ │ │ ├── index.ts │ │ │ └── ens.types.ts │ │ ├── utils │ │ │ └── index.ts │ │ └── index.ts │ ├── .babelrc │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── .eslintrc.json │ ├── jest.config.ts │ └── tsconfig.json ├── connect │ ├── src │ │ ├── components │ │ │ ├── DHLayout │ │ │ │ └── index.ts │ │ │ ├── DaoHausNav │ │ │ │ ├── index.ts │ │ │ │ └── DaoHausNav.types.ts │ │ │ ├── ConnectButton │ │ │ │ └── index.ts │ │ │ ├── ExplorerLink │ │ │ │ └── index.ts │ │ │ ├── NetworkButton │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ └── index.ts │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ └── tsconfig.json ├── data-fetch-utils │ ├── src │ │ ├── types │ │ │ └── index.ts │ │ ├── index.ts │ │ └── utils │ │ │ ├── index.ts │ │ │ └── fetchErrors.ts │ ├── .babelrc │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── .eslintrc.json │ ├── jest.config.ts │ └── tsconfig.json ├── moloch-v3-fields │ ├── src │ │ ├── config │ │ │ └── index.ts │ │ ├── customLayouts │ │ │ └── index.ts │ │ ├── utils │ │ │ └── index.ts │ │ ├── index.ts │ │ └── fields │ │ │ ├── TagsInput.tsx │ │ │ └── MetadataLink.tsx │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ └── tsconfig.json ├── form-builder-base │ ├── src │ │ ├── hooks │ │ │ ├── index.ts │ │ │ └── useFormBuilder.tsx │ │ ├── utils │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── components │ │ │ ├── index.ts │ │ │ └── Logger.tsx │ │ ├── index.ts │ │ └── .babelrc │ ├── package.json │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── README.md │ └── tsconfig.lib.json ├── moloch-v3-hooks │ ├── src │ │ ├── contexts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── utils │ │ │ ├── index.ts │ │ │ ├── constants.ts │ │ │ └── reactQueryUtils.ts │ │ └── hooks │ │ │ ├── index.ts │ │ │ └── useTrace.tsx │ ├── .babelrc │ ├── package.json │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ └── tsconfig.json ├── utils │ ├── src │ │ ├── constants │ │ │ ├── queues.ts │ │ │ ├── index.ts │ │ │ └── posterTags.ts │ │ ├── content │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── types │ │ │ ├── react.ts │ │ │ ├── index.ts │ │ │ └── viem.ts │ │ └── utils │ │ │ ├── object.ts │ │ │ ├── proposals.ts │ │ │ ├── gnosis.ts │ │ │ ├── index.ts │ │ │ └── farcastle.ts │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── .eslintrc.json │ ├── jest.config.ts │ └── tsconfig.json ├── wizard-form-builder │ ├── src │ │ ├── types │ │ │ └── index.ts │ │ ├── components │ │ │ └── index.ts │ │ └── index.ts │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ └── tsconfig.json ├── tx-builder │ ├── src │ │ ├── index.ts │ │ └── utils │ │ │ ├── index.ts │ │ │ └── ethersFallback.ts │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ └── tsconfig.json ├── connect-context │ ├── src │ │ ├── index.ts │ │ ├── utils │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── defaults.ts │ │ ├── components │ │ │ └── Web3ModalBoundary.tsx │ │ └── assets │ │ │ └── icons │ │ │ ├── index.d.ts │ │ │ └── coinbase_wallet_appicon.svg │ ├── package.json │ ├── .babelrc │ ├── jest.config.ts │ ├── .eslintrc.json │ ├── tsconfig.spec.json │ ├── README.md │ ├── tsconfig.lib.json │ └── tsconfig.json ├── moloch-v3-legos │ ├── src │ │ └── index.ts │ ├── .babelrc │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── .eslintrc.json │ ├── jest.config.ts │ └── tsconfig.json ├── moloch-v3-data │ ├── src │ │ ├── utils │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── types │ │ │ ├── member.types.ts │ │ │ ├── record.types.ts │ │ │ ├── proposal.types.ts │ │ │ ├── query.types.ts │ │ │ └── index.ts │ │ └── subgraph │ │ │ └── queries │ │ │ └── transactions.graphql │ ├── .babelrc │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── .eslintrc.json │ ├── jest.config.ts │ └── tsconfig.json ├── keychain-utils │ ├── package.json │ ├── src │ │ ├── validNetworks.ts │ │ ├── index.ts │ │ ├── explorerUtils.ts │ │ └── viemUtils.ts │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── jest.config.ts │ ├── .eslintrc.json │ └── tsconfig.json └── contract-utils │ ├── package.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── src │ └── index.ts │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── test │ └── summoner.spec.ts │ └── tsconfig.json ├── .vscode ├── settings.json └── extensions.json ├── babel.config.json ├── jest.preset.js ├── jest.config.ts ├── .prettierignore ├── .husky ├── pre-push └── pre-commit ├── .editorconfig ├── .storybook ├── tsconfig.json └── main.ts └── .github ├── ISSUE_TEMPLATE └── config.yml ├── dependabot.yml └── pull_request_template.md /.nvmrc: -------------------------------------------------------------------------------- 1 | 18.19.0 2 | -------------------------------------------------------------------------------- /tools/generators/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/admin/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /libs/abis/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/abis'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/theme/atoms/index.ts: -------------------------------------------------------------------------------- 1 | export * from './button'; 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.validate": ["json"] 3 | } 4 | -------------------------------------------------------------------------------- /apps/moloch-v3-subgraph/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | .dev 3 | /build 4 | /generated -------------------------------------------------------------------------------- /libs/form-builder/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './formLegoTypes'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | -------------------------------------------------------------------------------- /libs/profile-data/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ens.types'; 2 | -------------------------------------------------------------------------------- /libs/profile-data/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './transformers'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Icon/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Icon'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Input/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Input'; 2 | -------------------------------------------------------------------------------- /libs/connect/src/components/DHLayout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DHLayout'; 2 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './query.types'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/src/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fieldConfig'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Divider/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Divider'; 2 | -------------------------------------------------------------------------------- /libs/connect/src/components/DaoHausNav/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DaoHausNav'; 2 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useFormBuilder'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/src/contexts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CurrentDaoContext'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './historyHelpers'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/FileInput/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FileInput'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Typography/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Typography'; 2 | -------------------------------------------------------------------------------- /libs/connect/src/components/ConnectButton/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConnectButton'; 2 | -------------------------------------------------------------------------------- /libs/connect/src/components/ExplorerLink/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ExplorerLink'; 2 | -------------------------------------------------------------------------------- /libs/connect/src/components/NetworkButton/index.ts: -------------------------------------------------------------------------------- 1 | export * from './NetworkButton'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/SafeCard/index.ts: -------------------------------------------------------------------------------- 1 | export * from './SafeCard'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/HelperTexts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './HelperTexts'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/CheckGate/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './CheckGate'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/FieldAlert/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FieldAlert'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/GatedButton/index.ts: -------------------------------------------------------------------------------- 1 | export * from './GatedButton'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/organisms/Footer/index.ts: -------------------------------------------------------------------------------- 1 | export { Footer } from './Footer'; 2 | -------------------------------------------------------------------------------- /libs/utils/src/constants/queues.ts: -------------------------------------------------------------------------------- 1 | export const DAO_PRODUCER_QUEUE = 'dao-producer'; 2 | -------------------------------------------------------------------------------- /libs/utils/src/content/index.ts: -------------------------------------------------------------------------------- 1 | export * from './form'; 2 | export * from './info'; 3 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './wizardFormLegoTypes'; 2 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './utils'; 2 | export * from './types'; 3 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/SafesList/index.ts: -------------------------------------------------------------------------------- 1 | export * from './SafesList'; 2 | -------------------------------------------------------------------------------- /libs/profile-data/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './profile'; 2 | export * from './types'; 3 | -------------------------------------------------------------------------------- /libs/tx-builder/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './TXBuilder'; 2 | export * from './utils'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/CSInput/index.ts: -------------------------------------------------------------------------------- 1 | export { CSInput } from './CSInput'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/theme/global/border.ts: -------------------------------------------------------------------------------- 1 | export const border = { 2 | radius: '0.4rem', 3 | }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './formAndField'; 2 | export * from './theming'; 3 | -------------------------------------------------------------------------------- /babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "babelrcRoots": ["*"], 3 | "presets": ["@nrwl/web/babel"] 4 | } 5 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/src/customLayouts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CollapsibleFormSegment'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/DaohausTable/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DaohausTable'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/MemberDisplay/index.ts: -------------------------------------------------------------------------------- 1 | export * from './MemberDisplay'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/ProposalList/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProposalList'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/CollapsibleCard/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CollapsibleCard'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/FileInput/index.ts: -------------------------------------------------------------------------------- 1 | export { FileInput } from './FileInput'; 2 | -------------------------------------------------------------------------------- /libs/connect/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | export * from './HausConnectContext'; 3 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rules'; 2 | export * from './types'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ImageInput/index.ts: -------------------------------------------------------------------------------- 1 | export { ImageInput } from './ImageInput'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/InputSelect/index.ts: -------------------------------------------------------------------------------- 1 | export { InputSelect } from './InputSelect'; 2 | -------------------------------------------------------------------------------- /apps/admin/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/favicon.ico -------------------------------------------------------------------------------- /apps/summon/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/summon/src/favicon.ico -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/ProposalActionData/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProposalActionData'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/FieldWrapper/index.ts: -------------------------------------------------------------------------------- 1 | export { FieldWrapper } from './FieldWrapper'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedInput/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedInput } from './WrappedInput'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedRadio/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedRadio } from './WrappedRadio'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedSelect/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedSelect } from './WrappedSelect'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedSwitch/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedSwitch } from './WrappedSwitch'; 2 | -------------------------------------------------------------------------------- /apps/admin/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /libs/connect-context/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConnectContext'; 2 | export { Connect } from './Connect'; 3 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fieldHelpers'; 2 | export * from './walletConnect'; 3 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/dev-sandbox/src/favicon.ico -------------------------------------------------------------------------------- /apps/summon-safe/src/assets/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /apps/summon-safe/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /jest.preset.js: -------------------------------------------------------------------------------- 1 | const nxPreset = require('@nrwl/jest/preset').default; 2 | 3 | module.exports = { ...nxPreset }; 4 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FormBuilderFactory'; 2 | export * from './Logger'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ShamanPermission/index.ts: -------------------------------------------------------------------------------- 1 | export { ShamanPermission } from './ShamanPermission'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedCheckbox/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedCheckbox } from './WrappedCheckbox'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedFileInput/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedFileInput } from './WrappedFileInput'; 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedTextArea/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedTextArea } from './WrappedTextArea'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hooks'; 2 | export * from './contexts'; 3 | export * from './utils'; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/WrappedInputSelect/index.ts: -------------------------------------------------------------------------------- 1 | export { WrappedInputSelect } from './WrappedInputSelect'; 2 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from '../utils/constants'; 2 | export * from '../utils/reactQueryUtils'; 3 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/DaoOverview/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DaoOverview'; 2 | export * from './DaoProfile'; 3 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './WizardFormFooter'; 2 | export * from './Confirmation'; 3 | -------------------------------------------------------------------------------- /apps/summon-safe/src/assets/daohaus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/summon-safe/src/assets/daohaus.png -------------------------------------------------------------------------------- /apps/summon-safe/src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/summon-safe/src/assets/favicon.ico -------------------------------------------------------------------------------- /apps/summon-safe/src/assets/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/summon-safe/src/assets/logo192.png -------------------------------------------------------------------------------- /apps/summon-safe/src/assets/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/summon-safe/src/assets/logo512.png -------------------------------------------------------------------------------- /jest.config.ts: -------------------------------------------------------------------------------- 1 | import { getJestProjects } from '@nrwl/jest'; 2 | 3 | export default { 4 | projects: getJestProjects(), 5 | }; 6 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/MemberList/index.ts: -------------------------------------------------------------------------------- 1 | export * from './MembersOverview'; 2 | export * from './MemberList'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/FormLayout/index.ts: -------------------------------------------------------------------------------- 1 | import { FormLayout } from './FormLayout'; 2 | 3 | export { FormLayout }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/FormSegment/index.ts: -------------------------------------------------------------------------------- 1 | import { FormSegment } from './FormSegment'; 2 | 3 | export { FormSegment }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/MainLayout/index.ts: -------------------------------------------------------------------------------- 1 | import { MainLayout } from './MainLayout'; 2 | 3 | export { MainLayout }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/OuterLayout/index.ts: -------------------------------------------------------------------------------- 1 | import { OuterLayout } from './OuterLayout'; 2 | 3 | export { OuterLayout }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/SplitColumn/index.ts: -------------------------------------------------------------------------------- 1 | import { SplitColumn } from './SplitColumn'; 2 | 3 | export { SplitColumn }; 4 | -------------------------------------------------------------------------------- /libs/connect-context/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './contextHelpers'; 2 | export * from './defaults'; 3 | export * from './types'; 4 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/ProposalHistory/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProposalHistory'; 2 | export * from './VoteList'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Banner/index.ts: -------------------------------------------------------------------------------- 1 | export { Banner } from './Banner'; 2 | export type { BannerProps } from './Banner.types'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ProfileAvatar/ProfileAvatart.styles.tsx: -------------------------------------------------------------------------------- 1 | // TODO: What is this? Delete 2 | 3 | export const styls = 2; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/organisms/index.ts: -------------------------------------------------------------------------------- 1 | export * from './MemberCard'; 2 | export * from './AppSwitcher'; 3 | export * from './Footer'; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/BiColumnLayout/index.ts: -------------------------------------------------------------------------------- 1 | import { BiColumnLayout } from './BiColumnLayout'; 2 | 3 | export { BiColumnLayout }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Banner/Banner.types.ts: -------------------------------------------------------------------------------- 1 | export type BannerProps = { 2 | bannerText?: string; 3 | className?: string; 4 | }; 5 | -------------------------------------------------------------------------------- /libs/utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types'; 2 | export * from './constants'; 3 | export * from './content'; 4 | export * from './utils'; 5 | -------------------------------------------------------------------------------- /libs/utils/src/types/react.ts: -------------------------------------------------------------------------------- 1 | import { Dispatch, SetStateAction } from 'react'; 2 | export type ReactSetter = Dispatch>; 3 | -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-72x72.png -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-96x96.png -------------------------------------------------------------------------------- /libs/moloch-v3-legos/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './contracts'; 2 | export * from './fields'; 3 | export * from './form'; 4 | export * from './tx'; 5 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Toast/index.ts: -------------------------------------------------------------------------------- 1 | export { Toast, ToastProvider } from './Toast'; 2 | export type { ToastProps } from './Toast.types'; 3 | -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-128x128.png -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-144x144.png -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-152x152.png -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-192x192.png -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-384x384.png -------------------------------------------------------------------------------- /apps/admin/src/assets/images/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HausDAO/monorepo/HEAD/apps/admin/src/assets/images/icons/icon-512x512.png -------------------------------------------------------------------------------- /apps/admin/src/fonts.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,400;1,700&display=swap'); 2 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Checkbox/Checkbox.types.ts: -------------------------------------------------------------------------------- 1 | import { CheckboxProps } from '@radix-ui/react-checkbox'; 2 | 3 | export type { CheckboxProps }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './atoms'; 2 | export * from './molecules'; 3 | export * from './organisms'; 4 | export * from './layouts'; 5 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/FieldAlert/FieldAlert.types.ts: -------------------------------------------------------------------------------- 1 | export type FieldAlertProps = { 2 | className?: string; 3 | message: string; 4 | }; 5 | -------------------------------------------------------------------------------- /libs/ui/src/theme/index.ts: -------------------------------------------------------------------------------- 1 | export * from './atoms'; 2 | export * from './global'; 3 | export * from './HausThemeContext'; 4 | export * from './theme'; 5 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './customLayouts'; 2 | export * from './fields'; 3 | export * from './utils'; 4 | export * from './config'; 5 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/SingleColumnLayout/index.ts: -------------------------------------------------------------------------------- 1 | import { SingleColumnLayout } from './SingleColumnLayout'; 2 | 3 | export { SingleColumnLayout }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/TimePicker/index.ts: -------------------------------------------------------------------------------- 1 | export { TimePicker } from './TimePicker'; 2 | export type { TimePickerProps } from './TimePicker.types'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/theme/global/index.ts: -------------------------------------------------------------------------------- 1 | export * from './colors'; 2 | export * from './font'; 3 | export * from './globalStyles'; 4 | export * from './breakpoints'; 5 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FormBuilderBase'; 2 | export * from './components'; 3 | export * from './hooks'; 4 | export * from './utils'; 5 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Label/Label.types.ts: -------------------------------------------------------------------------------- 1 | export type LabelProps = { 2 | id?: string; 3 | children: React.ReactChild; 4 | className?: string; 5 | }; 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Add files here to ignore them from prettier formatting 2 | 3 | /dist 4 | /coverage 5 | 6 | # Ignore generated files 7 | **/*.generated.ts 8 | **/*.graphql -------------------------------------------------------------------------------- /libs/data-fetch-utils/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * as fetch from './fetch'; 2 | export * from './fetchErrors'; 3 | export * from './ipfs'; 4 | export * from './requests'; 5 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Dialog/index.ts: -------------------------------------------------------------------------------- 1 | export { Dialog, DialogTrigger, DialogContent } from './Dialog'; 2 | export type { DialogProps } from './Dialog.types'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/organisms/AppSwitcher/index.ts: -------------------------------------------------------------------------------- 1 | export { AppSwitcher } from './AppSwitcher'; 2 | 3 | export type { AppSwitcherProps } from './AppSwitcher.types'; 4 | -------------------------------------------------------------------------------- /libs/ui/src/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useMediaQuery'; 2 | export * from './useToast'; 3 | export * from './useCopyToClipboard'; 4 | export * from './useDebounce'; 5 | -------------------------------------------------------------------------------- /libs/form-builder/src/components/FieldSpacer.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const FieldSpacer = styled.div` 4 | margin-bottom: 3.6rem; 5 | `; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/DataIndicator/index.ts: -------------------------------------------------------------------------------- 1 | export { DataIndicator } from './DataIndicator'; 2 | export type { DataIndicatorProps } from './DataIndicator.types'; 3 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ProfileAvatar/index.ts: -------------------------------------------------------------------------------- 1 | export { ProfileAvatar } from './ProfileAvatar'; 2 | export type { ProfileAvatarProps } from './ProfileAvatar.types'; 3 | -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx nx affected --target=lint --base=develop 5 | npx nx affected --target=build --base=develop 6 | -------------------------------------------------------------------------------- /libs/form-builder/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CoreFieldLookup'; 2 | export * from './FieldSpacer'; 3 | export * from './ToWeiInput'; 4 | export * from './formFooter'; 5 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './paging'; 2 | export * from './proposalFilters'; 3 | export * from './proposalsStatus'; 4 | export * from './transformers'; 5 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/ProposalCard/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProposalCard'; 2 | export * from './ProposalActions'; 3 | export * from './ProposalCardOverview'; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/AddressDisplay/index.ts: -------------------------------------------------------------------------------- 1 | export { AddressDisplay } from './AddressDisplay'; 2 | export type { AddressDisplayProps } from './AddressDisplay.types'; 3 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/web/babel", 5 | { 6 | "useBuiltIns": "usage" 7 | } 8 | ] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/web/babel", 5 | { 6 | "useBuiltIns": "usage" 7 | } 8 | ] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-legos/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/web/babel", 5 | { 6 | "useBuiltIns": "usage" 7 | } 8 | ] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/profile-data/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/web/babel", 5 | { 6 | "useBuiltIns": "usage" 7 | } 8 | ] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/ui", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Card/Card.types.ts: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export interface CardProps extends React.ComponentPropsWithRef<'div'> { 4 | width?: string; 5 | } 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Card/index.ts: -------------------------------------------------------------------------------- 1 | import { Card } from './Card'; 2 | import type { CardProps } from './Card.types'; 3 | 4 | export type { CardProps }; 5 | export { Card }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/CheckGate/CheckGate.styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const CheckGateBox = styled.div` 4 | margin-top: 3.6rem; 5 | `; 6 | -------------------------------------------------------------------------------- /libs/ui/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | export * from './theme'; 3 | export * from './types'; 4 | export * from './hooks'; 5 | export * as RHF from 'react-hook-form'; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Label/index.ts: -------------------------------------------------------------------------------- 1 | import { Label } from './Label'; 2 | import type { LabelProps } from './Label.types'; 3 | 4 | export type { LabelProps }; 5 | export { Label }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Tabs/index.ts: -------------------------------------------------------------------------------- 1 | import { Tabs } from './Tabs'; 2 | import type { TabsProps } from './Tabs.types'; 3 | 4 | export type { TabsProps }; 5 | export { Tabs }; 6 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/Layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ButtonRouterLink'; 2 | export * from './Layout'; 3 | export * from './MetadataLinkLists'; 4 | export * from './TagList'; 5 | -------------------------------------------------------------------------------- /libs/utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/utils", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /apps/admin/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic" 7 | } 8 | ] 9 | ], 10 | "plugins": [] 11 | } 12 | -------------------------------------------------------------------------------- /apps/summon/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic" 7 | } 8 | ] 9 | ], 10 | "plugins": [] 11 | } 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Select/index.ts: -------------------------------------------------------------------------------- 1 | import { Select } from './Select'; 2 | import type { SelectProps } from './Select.types'; 3 | 4 | export type { SelectProps }; 5 | export { Select }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Switch/index.ts: -------------------------------------------------------------------------------- 1 | import { Switch } from './Switch'; 2 | import type { SwitchProps } from './Switch.types'; 3 | 4 | export type { SwitchProps }; 5 | export { Switch }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Tag/index.ts: -------------------------------------------------------------------------------- 1 | import { Tag } from './Tag'; 2 | import type { TagProps, TagColors } from './Tag.types'; 3 | 4 | export type { TagProps, TagColors }; 5 | export { Tag }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/HighlightInputText/index.ts: -------------------------------------------------------------------------------- 1 | export { HighlightInputText } from './HighlightInputText'; 2 | export type { HighlightInputTextProps } from './HighlightInputText.types'; 3 | -------------------------------------------------------------------------------- /apps/dev-sandbox/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic" 7 | } 8 | ] 9 | ], 10 | "plugins": [] 11 | } 12 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/pages/Home.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { HomeContent } from '../components/HomeContent'; 4 | 5 | export const Home = () => { 6 | return ; 7 | }; 8 | -------------------------------------------------------------------------------- /apps/summon-safe/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic" 7 | } 8 | ] 9 | ], 10 | "plugins": [] 11 | } 12 | -------------------------------------------------------------------------------- /libs/form-builder/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/form-builder", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/tx-builder/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/tx-builder", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Avatar/index.ts: -------------------------------------------------------------------------------- 1 | import { Avatar } from './Avatar'; 2 | 3 | import type { AvatarProps } from './Avatar.types'; 4 | 5 | export type { AvatarProps }; 6 | export { Avatar }; 7 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Loading/index.ts: -------------------------------------------------------------------------------- 1 | import { Loading } from './Loading'; 2 | import type { LoadingProps } from './Loading.types'; 3 | 4 | export type { LoadingProps }; 5 | export { Loading }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Spinner/index.ts: -------------------------------------------------------------------------------- 1 | import { Spinner } from './Spinner'; 2 | import type { SpinnerType } from './Spinner.types'; 3 | 4 | export type { SpinnerType }; 5 | export { Spinner }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/OuterLayout/OuterLayout.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'styled-components'; 3 | 4 | export const OuterLayout = styled.div` 5 | width: 100%; 6 | `; 7 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "nrwl.angular-console", 4 | "esbenp.prettier-vscode", 5 | "dbaeumer.vscode-eslint", 6 | "firsttris.vscode-jest-runner" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /libs/connect/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ConnectButton'; 2 | export * from './NetworkButton'; 3 | export * from './DaoHausNav'; 4 | export * from './ExplorerLink'; 5 | export * from './DHLayout'; 6 | -------------------------------------------------------------------------------- /libs/keychain-utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/keychain-utils", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Checkbox/index.ts: -------------------------------------------------------------------------------- 1 | import { Checkbox } from './Checkbox'; 2 | import type { CheckboxProps } from './Checkbox.types'; 3 | 4 | export type { CheckboxProps }; 5 | export { Checkbox }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Progress/index.ts: -------------------------------------------------------------------------------- 1 | import { Progress } from './Progress'; 2 | import type { ProgressProps } from './Progress.types'; 3 | 4 | export type { ProgressProps }; 5 | export { Progress }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Radio/index.ts: -------------------------------------------------------------------------------- 1 | import { Radio } from './Radio'; 2 | import type { RadioItemGroupProps } from './Radio.types'; 3 | 4 | export type { RadioItemGroupProps }; 5 | export { Radio }; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/TextArea/index.ts: -------------------------------------------------------------------------------- 1 | import { TextArea } from './TextArea'; 2 | import type { TextAreaProps } from './TextArea.types'; 3 | 4 | export type { TextAreaProps }; 5 | export { TextArea }; 6 | -------------------------------------------------------------------------------- /libs/utils/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './react'; 2 | export * from './contract'; 3 | export * from './general'; 4 | export * from './legoTypes'; 5 | export * from './query'; 6 | export * from './viem'; 7 | -------------------------------------------------------------------------------- /libs/abis/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/abis", 3 | "version": "0.5.5", 4 | "type": "commonjs", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/HausDAO/monorepo" 8 | } 9 | } -------------------------------------------------------------------------------- /libs/connect-context/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/connect-context", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/form-builder-base/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/form-builder-base", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/moloch-v3-fields/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/moloch-v3-fields", 3 | "version": "0.5.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Progress/Progress.types.ts: -------------------------------------------------------------------------------- 1 | export type ProgressProps = { 2 | backgroundColor: string; 3 | progressSection: { 4 | percentage: string; 5 | color: string; 6 | }[]; 7 | }; 8 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Select/Select.types.ts: -------------------------------------------------------------------------------- 1 | import type { SelectProps } from '../../../types/formAndField'; 2 | // TODO Look into Select Props and move into Select Folder 3 | export type { SelectProps }; 4 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/TextArea/TextArea.types.ts: -------------------------------------------------------------------------------- 1 | import { Field } from '../../../types/formAndField'; 2 | 3 | export type TextAreaProps = Field & { 4 | className?: string; 5 | height?: string; 6 | }; 7 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/DataIndicator/DataIndicator.types.ts: -------------------------------------------------------------------------------- 1 | export type DataIndicatorProps = { 2 | label?: string; 3 | data?: string | number; 4 | size?: 'lg' | 'sm'; 5 | info?: string; 6 | }; 7 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/wizard-form-builder", 3 | "version": "0.2.5", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/HausDAO/monorepo" 7 | } 8 | } -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/ProposalCard/types.ts: -------------------------------------------------------------------------------- 1 | import { TXLifeCycleFns } from '@daohaus/tx-builder'; 2 | 3 | export type ActionLifeCycleFns = TXLifeCycleFns & { 4 | onActionTriggered?: () => void; 5 | }; 6 | -------------------------------------------------------------------------------- /libs/utils/src/constants/index.ts: -------------------------------------------------------------------------------- 1 | export * from './posterTags'; 2 | export * from './proposals'; 3 | export * from './posterTags'; 4 | export * from './contracts'; 5 | export * from './queues'; 6 | export * from './summoning'; 7 | -------------------------------------------------------------------------------- /libs/connect-context/src/components/Web3ModalBoundary.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | // No-op boundary now that Web3Modal is removed 4 | export const Web3ModalBoundary = () => null; 5 | 6 | export default Web3ModalBoundary; 7 | -------------------------------------------------------------------------------- /libs/contract-utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/contract-utils", 3 | "version": "0.5.5", 4 | "type": "commonjs", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/HausDAO/monorepo" 8 | } 9 | } -------------------------------------------------------------------------------- /libs/moloch-v3-data/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/moloch-v3-data", 3 | "version": "0.5.5", 4 | "type": "commonjs", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/HausDAO/monorepo" 8 | } 9 | } -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/ProposalDetails/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ProposalDetails'; 2 | export * from './ProposalDetailsContainer'; 3 | export * from './ProposalAdditionalDetails'; 4 | export * from './MemberDataPoint'; 5 | -------------------------------------------------------------------------------- /libs/profile-data/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/profile-data", 3 | "version": "0.5.5", 4 | "type": "commonjs", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/HausDAO/monorepo" 8 | } 9 | } -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Badge/index.ts: -------------------------------------------------------------------------------- 1 | import { Badge } from './Badge'; 2 | import type { BadgeProps, BadgeColor, BadgeSize } from './Badge.types'; 3 | 4 | export type { BadgeProps, BadgeColor, BadgeSize }; 5 | export { Badge }; 6 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/data-fetch-utils", 3 | "version": "0.5.5", 4 | "type": "commonjs", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/HausDAO/monorepo" 8 | } 9 | } -------------------------------------------------------------------------------- /libs/keychain-utils/src/validNetworks.ts: -------------------------------------------------------------------------------- 1 | export const VALID_NETWORKS = { 2 | '0x1': true, 3 | '0x64': true, 4 | '0xa': true, 5 | '0x89': true, 6 | '0xa4b1': true, 7 | '0xaa36a7': true, 8 | '0x2105': true, 9 | }; 10 | -------------------------------------------------------------------------------- /libs/moloch-v3-legos/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/moloch-v3-legos", 3 | "version": "0.5.5", 4 | "type": "commonjs", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/HausDAO/monorepo" 8 | } 9 | } -------------------------------------------------------------------------------- /libs/tx-builder/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/CheckGate/CheckGate.types.ts: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | 3 | export type CheckGateProps = { 4 | gateLabel: string; 5 | fields: Array; 6 | onUnchecked?: () => void; 7 | }; 8 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/HighlightInputText/HighlightInputText.types.ts: -------------------------------------------------------------------------------- 1 | export type HighlightInputTextProps = { 2 | color?: string; 3 | description: string; 4 | highlightColor?: string; 5 | highlightInputId?: string; 6 | }; 7 | -------------------------------------------------------------------------------- /libs/connect-context/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/form-builder/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Link/index.ts: -------------------------------------------------------------------------------- 1 | import { Link } from './Link'; 2 | import { LinkStyles } from './Link.styles'; 3 | import type { LinkProps } from './Link.types'; 4 | 5 | export type { LinkProps }; 6 | export { Link, LinkStyles }; 7 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ProfileAvatar/ProfileAvatar.types.ts: -------------------------------------------------------------------------------- 1 | import { Avatar } from '../../atoms'; 2 | 3 | export type ProfileAvatarProps = Parameters[0] & { 4 | address?: string; 5 | image?: string | null; 6 | }; 7 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Loading/Loading.types.ts: -------------------------------------------------------------------------------- 1 | import { ButtonColor } from '../Button/Button.types'; 2 | 3 | export type LoadingProps = { 4 | size?: number; 5 | color?: ButtonColor; 6 | margin?: string; 7 | padding?: string; 8 | }; 9 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ProfileButton/index.ts: -------------------------------------------------------------------------------- 1 | import { ProfileButton } from './ProfileButton'; 2 | import type { ProfileButtonProps } from './ProfileButton.types'; 3 | 4 | export type { ProfileButtonProps }; 5 | export { ProfileButton }; 6 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /apps/moloch-v3-subgraph/manifests/header.yaml: -------------------------------------------------------------------------------- 1 | specVersion: 0.0.5 2 | description: DAOHaus V3 Subgraph 3 | repository: https://github.com/hausdao/daohaus-v3-subgraph-sandbox 4 | schema: 5 | file: ./schema.graphql 6 | dataSources: [] 7 | templates: [] 8 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [] 12 | } 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/FileInput/FileInput.styles.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | import { BaseInput } from '../Input/Input.styles'; 4 | 5 | export const BaseFileInput = styled(BaseInput)` 6 | padding-bottom: 4.3rem; 7 | `; 8 | -------------------------------------------------------------------------------- /libs/form-builder/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | export * from './types'; 3 | export * from './FormBuilder'; 4 | export { useFormBuilder } from '@daohaus/form-builder-base'; 5 | export { FormBuilderFactory } from '@daohaus/form-builder-base'; 6 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/FormLayout/FormLayout.types.ts: -------------------------------------------------------------------------------- 1 | export type FormLayoutProps = { 2 | title?: string | React.ReactNode; 3 | subtitle?: string | React.ReactNode; 4 | description?: string | React.ReactNode; 5 | children: React.ReactNode; 6 | }; 7 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Spinner/Spinner.types.ts: -------------------------------------------------------------------------------- 1 | export type SpinnerType = { 2 | topColor?: string; 3 | bottomColor?: string; 4 | size?: string; 5 | strokeWidth?: string; 6 | margin?: string; 7 | padding?: string; 8 | speed?: string; 9 | }; 10 | -------------------------------------------------------------------------------- /apps/summon/src/polyfills.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Polyfill stable language features. These imports will be optimized by `@babel/preset-env`. 3 | * 4 | * See: https://github.com/zloirock/core-js#babel 5 | */ 6 | import 'core-js/stable'; 7 | import 'regenerator-runtime/runtime'; 8 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | export * from './types'; 3 | export * from './WizardFormBuilder'; 4 | export { useFormBuilder } from '@daohaus/form-builder-base'; 5 | export { FormBuilderFactory } from '@daohaus/form-builder-base'; 6 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/polyfills.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Polyfill stable language features. These imports will be optimized by `@babel/preset-env`. 3 | * 4 | * See: https://github.com/zloirock/core-js#babel 5 | */ 6 | import 'core-js/stable'; 7 | import 'regenerator-runtime/runtime'; 8 | -------------------------------------------------------------------------------- /apps/summon-safe/src/polyfills.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Polyfill stable language features. These imports will be optimized by `@babel/preset-env`. 3 | * 4 | * See: https://github.com/zloirock/core-js#babel 5 | */ 6 | import 'core-js/stable'; 7 | import 'regenerator-runtime/runtime'; 8 | -------------------------------------------------------------------------------- /libs/connect/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/connect", 3 | "version": "0.5.5", 4 | "peerDependencies": { 5 | "react-router-dom": "^6.4.3" 6 | }, 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/HausDAO/monorepo" 10 | } 11 | } -------------------------------------------------------------------------------- /libs/moloch-v3-data/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './daos'; 2 | export * from './members'; 3 | export * from './proposals'; 4 | export * from './transactions'; 5 | export * from './types'; 6 | export * from './utils'; 7 | export * from './vaults'; 8 | export * from './records'; 9 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Tooltip/TooltipTriggers.tsx: -------------------------------------------------------------------------------- 1 | import { RiErrorWarningLine } from 'react-icons/ri/index.js'; 2 | 3 | export const SmTooltipIcon = () => ; 4 | export const LgTooltipIcon = () => ; 5 | -------------------------------------------------------------------------------- /apps/admin/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // When building for production, this file is replaced with `environment.prod.ts`. 3 | 4 | export const environment = { 5 | production: false, 6 | }; 7 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/src/types/member.types.ts: -------------------------------------------------------------------------------- 1 | import { 2 | FindMemberQuery, 3 | ListMembersQuery, 4 | } from '../subgraph/queries/members.generated'; 5 | 6 | export type MolochV3Members = ListMembersQuery['members']; 7 | export type MolochV3Member = FindMemberQuery['member']; 8 | -------------------------------------------------------------------------------- /libs/utils/src/utils/object.ts: -------------------------------------------------------------------------------- 1 | // Temp until we have a more TS friendly way of doing this 2 | export const omit = (obj: Record, fields: string[]) => { 3 | const newObj = { ...obj }; 4 | fields.forEach((field) => delete newObj[field]); 5 | return newObj; 6 | }; 7 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // When building for production, this file is replaced with `environment.prod.ts`. 3 | 4 | export const environment = { 5 | production: false, 6 | }; 7 | -------------------------------------------------------------------------------- /apps/summon-safe/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // When building for production, this file is replaced with `environment.prod.ts`. 3 | 4 | export const environment = { 5 | production: false, 6 | }; 7 | -------------------------------------------------------------------------------- /libs/connect/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "plugins": [["styled-components", { "pure": true, "ssr": true }]] 12 | } 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './OuterLayout'; 2 | export * from './FormSegment'; 3 | export * from './SplitColumn'; 4 | export * from './MainLayout'; 5 | export * from './FormLayout'; 6 | export * from './BiColumnLayout'; 7 | export * from './SingleColumnLayout'; 8 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/TimePicker/TimePicker.types.ts: -------------------------------------------------------------------------------- 1 | import { Field, OptionType } from '../../../types'; 2 | 3 | export type TimePickerProps = Field & { 4 | defaultValue?: string; 5 | options?: OptionType[]; 6 | selectId?: string; 7 | selectPlaceholder?: string; 8 | }; 9 | -------------------------------------------------------------------------------- /libs/ui/src/styled.d.ts: -------------------------------------------------------------------------------- 1 | import 'styled-components'; 2 | import { DAOhausTheme } from './types/theming'; 3 | 4 | declare module 'styled-components' { 5 | // eslint-disable-next-line @typescript-eslint/no-empty-interface 6 | export interface DefaultTheme extends DAOhausTheme {} 7 | } 8 | -------------------------------------------------------------------------------- /libs/ui/src/theme/global/fonts.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Mulish:wght@300;400;500;700;900&family=Space+Mono:wght@400;700&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap'); 3 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/moloch-v3-hooks", 3 | "version": "0.5.5", 4 | "peerDependencies": { 5 | "react-query": "^3.39.3" 6 | }, 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/HausDAO/monorepo" 10 | } 11 | } -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/assets/arrow-down-s-line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /libs/tx-builder/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './txBuilderUtils'; 2 | export * from './multicall'; 3 | export * from './search'; 4 | export * from './abi'; 5 | export * from './cache'; 6 | export * from './decoding'; 7 | export * from './deepDecoding'; 8 | export * from './ethersFallback'; 9 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Tooltip/Tooltip.types.ts: -------------------------------------------------------------------------------- 1 | export type TooltipProps = { 2 | content?: string | React.ReactNode; 3 | side?: 'top' | 'right' | 'bottom' | 'left'; 4 | triggerEl?: React.ReactNode; 5 | offset?: number; 6 | delay?: number; 7 | triggerAsChild?: boolean; 8 | }; 9 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx nx format:write --uncommitted 5 | # Implement conventinal commits here. If we want to go with this plugin 6 | # https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional 7 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/MemberProfileCard/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ManageDelegate'; 2 | export * from './MemberProfileAvatar'; 3 | export * from './MemberProfileCard'; 4 | export * from './MemberProfileMenu'; 5 | export * from './MemberProfile'; 6 | export * from './MemberTokens'; 7 | -------------------------------------------------------------------------------- /libs/utils/src/utils/proposals.ts: -------------------------------------------------------------------------------- 1 | import { PROPOSAL_TYPE_LABELS } from '../constants'; 2 | 3 | export const getProposalTypeLabel = ( 4 | proposalType: string, 5 | proposalTypes: Record = PROPOSAL_TYPE_LABELS 6 | ) => proposalTypes?.[proposalType] || 'Unknown Proposal Type'; 7 | -------------------------------------------------------------------------------- /libs/abis/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@daohaus/moloch-v3-macro-ui", 3 | "version": "0.5.5", 4 | "peerDependencies": { 5 | "react-router-dom": "^6.4.3" 6 | }, 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/HausDAO/monorepo" 10 | } 11 | } -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Tooltip/index.ts: -------------------------------------------------------------------------------- 1 | import { Tooltip } from './Tooltip'; 2 | import { SmTooltipIcon, LgTooltipIcon } from './TooltipTriggers'; 3 | import type { TooltipProps } from './Tooltip.types'; 4 | 5 | export type { TooltipProps }; 6 | export { Tooltip, SmTooltipIcon, LgTooltipIcon }; 7 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/SplitColumn/SplitColumn.types.ts: -------------------------------------------------------------------------------- 1 | export type SplitColumnRowProps = { 2 | rowId: string; 3 | left: React.ReactNode; 4 | right: React.ReactNode; 5 | }; 6 | 7 | export type SplitColumnProps = { 8 | rows: SplitColumnRowProps[] | SplitColumnRowProps; 9 | }; 10 | -------------------------------------------------------------------------------- /libs/utils/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/keychain-utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './endpoints'; 2 | export * from './networkData'; 3 | export * from './explorerUtils'; 4 | export * from './networkUtils'; 5 | export * from './types'; 6 | export * from './validNetworks'; 7 | export * from './contractKeychains'; 8 | export * from './viemUtils'; 9 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/FormSegment/FormSegment.types.ts: -------------------------------------------------------------------------------- 1 | export type FormSegmentProps = { 2 | title?: string | React.ReactNode; 3 | description?: string | React.ReactNode; 4 | formArea: React.ReactNode; 5 | collapsible?: boolean; 6 | defaultOpen?: boolean; 7 | showDivider?: boolean; 8 | }; 9 | -------------------------------------------------------------------------------- /libs/utils/src/types/viem.ts: -------------------------------------------------------------------------------- 1 | export const MaxUint256 = BigInt( 2 | '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' 3 | ); 4 | 5 | export interface MetaTransaction { 6 | to: string; 7 | value: string | number | bigint; 8 | data: string; 9 | operation: number; 10 | } 11 | -------------------------------------------------------------------------------- /libs/abis/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/contract-utils/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/keychain-utils/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/moloch-v3-legos/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/profile-data/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/ui/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nrwl/react/babel", 5 | { 6 | "runtime": "automatic", 7 | "useBuiltIns": "usage" 8 | } 9 | ] 10 | ], 11 | "sourceMaps": "both", 12 | "plugins": [["styled-components", { "pure": true, "ssr": true }]] 13 | } 14 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/profile-data/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /libs/contract-utils/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/ui/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'ui', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/ui', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/utils/src/utils/gnosis.ts: -------------------------------------------------------------------------------- 1 | import { ENDPOINTS, ValidNetwork } from '@daohaus/keychain-utils'; 2 | 3 | export const generateGnosisUiLink = ({ 4 | chainId, 5 | address, 6 | }: { 7 | chainId: ValidNetwork; 8 | address?: string; 9 | }) => `${ENDPOINTS['GNOSIS_SAFE_UI'][chainId]}:${address}/balances`; 10 | -------------------------------------------------------------------------------- /apps/summon-safe/src/utils/chain.ts: -------------------------------------------------------------------------------- 1 | import { ValidNetwork } from '@daohaus/keychain-utils'; 2 | 3 | export const VALID_NETWORKS: { [key: number]: ValidNetwork } = { 4 | 1: '0x1', 5 | 100: '0x64', 6 | 10: '0xa', 7 | 137: '0x89', 8 | 42161: '0xa4b1', 9 | 11155111: '0xaa36a7', 10 | 8453: '0x2105', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/contract-utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/contract-meta'; 2 | export * from './lib/moloch-v3-contract'; 3 | export * from './lib/moloch-v3-summoner-contract'; 4 | export * from './lib/summon-tx-utils'; 5 | export * from './lib/encoding-utils'; 6 | export * from './lib/estimate-util'; 7 | export * from './lib/types'; 8 | -------------------------------------------------------------------------------- /libs/ui/rollup.config.js: -------------------------------------------------------------------------------- 1 | const nrwlConfig = require('@nrwl/react/plugins/bundle-rollup'); 2 | const { default: sourcemaps } = require('rollup-plugin-sourcemaps'); 3 | 4 | module.exports = (config) => { 5 | nrwlConfig(config); 6 | return { 7 | ...config, 8 | plugins: [...config.plugins], 9 | }; 10 | }; 11 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/HelperTexts/HelperText.types.ts: -------------------------------------------------------------------------------- 1 | import { IconType } from 'react-icons/lib/cjs'; 2 | 3 | export type HelperTextType = { 4 | color?: string; 5 | icon?: IconType; 6 | children: React.ReactNode; 7 | }; 8 | 9 | export type SpecialHelperText = { 10 | children: React.ReactNode; 11 | }; 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/SingleColumnLayout/SingleColumnLayout.types.ts: -------------------------------------------------------------------------------- 1 | export type SingleColumnLayoutProps = { 2 | title?: 'string' | React.ReactNode; 3 | subtitle?: 'string' | React.ReactNode; 4 | description?: 'string' | React.ReactNode; 5 | actions?: React.ReactNode; 6 | children: React.ReactNode; 7 | }; 8 | -------------------------------------------------------------------------------- /libs/utils/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts", "**/*.d.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/keychain-utils/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts", "**/*.d.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-legos/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["**/*.ts", "**/*.tsx"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /tools/tsconfig.tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../dist/out-tsc/tools", 5 | "rootDir": ".", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["node"], 9 | "importHelpers": false 10 | }, 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/connect/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'connect', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/connect', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Button/index.ts: -------------------------------------------------------------------------------- 1 | import { Button } from './Button'; 2 | import { IconButton } from './IconButton'; 3 | 4 | import type { ButtonProps } from './Button.types'; 5 | import type { IconButtonProps } from './IconButton.types'; 6 | 7 | export type { ButtonProps, IconButtonProps }; 8 | export { Button, IconButton }; 9 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/BiColumnLayout/BiColumnLayout.types.ts: -------------------------------------------------------------------------------- 1 | export type BiColumnLayoutProps = { 2 | title?: 'string' | React.ReactNode; 3 | subtitle?: 'string' | React.ReactNode; 4 | description?: 'string' | React.ReactNode; 5 | actions?: React.ReactNode; 6 | left: React.ReactNode; 7 | right: React.ReactNode; 8 | }; 9 | -------------------------------------------------------------------------------- /libs/connect/src/components/DaoHausNav/DaoHausNav.types.ts: -------------------------------------------------------------------------------- 1 | export type DaoHausNavLinkType = { 2 | label: string; 3 | href: string; 4 | }; 5 | 6 | export type DaoHausNavProps = { 7 | navLinks: DaoHausNavLinkType[]; 8 | pathname: string; 9 | dropdownTriggerLabel?: string; 10 | dropdownLinks?: DaoHausNavLinkType[]; 11 | }; 12 | -------------------------------------------------------------------------------- /libs/tx-builder/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'tx-builder', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/tx-builder', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Input/Input.types.ts: -------------------------------------------------------------------------------- 1 | import { IconType } from 'react-icons/lib/cjs'; 2 | 3 | import { Field } from '../../../types/formAndField'; 4 | 5 | export type InputProps = Field & { 6 | icon?: IconType; 7 | onChange?: React.ChangeEventHandler | undefined; 8 | className?: string; 9 | }; 10 | -------------------------------------------------------------------------------- /apps/summon/src/app/constants.ts: -------------------------------------------------------------------------------- 1 | // FOR DEMONSTRATIOn 2 | export const limitedNetworkTest = { 3 | '0x1': { 4 | chainId: '0x1', 5 | networkId: 1, 6 | name: 'Mainnet', 7 | symbol: 'ETH', 8 | rpc: `https://${process.env.NX_RIVET_KEY}.eth.rpc.rivet.cloud/`, 9 | explorer: 'https://etherscan.io', 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/CollapsibleCard/CollapsibleCard.types.ts: -------------------------------------------------------------------------------- 1 | import { CollapsibleProps } from '@radix-ui/react-collapsible'; 2 | 3 | export type CollapsibleCardProps = CollapsibleProps & { 4 | collapsibleActions?: React.ReactNode; 5 | collapsibleContent?: React.ReactNode; 6 | triggerLabel: string; 7 | width: string; 8 | }; 9 | -------------------------------------------------------------------------------- /libs/form-builder/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'form-builder', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/form-builder', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/ui/src/animations/general.ts: -------------------------------------------------------------------------------- 1 | import { keyframes } from 'styled-components'; 2 | 3 | export const fadeIn = keyframes` 4 | from{ 5 | opacity: 0 6 | } 7 | to { 8 | opacity: 1 9 | } 10 | `; 11 | 12 | export const fadeOut = keyframes` 13 | from{ 14 | opacity: 1 15 | } 16 | to { 17 | opactity: 0 18 | } 19 | `; 20 | -------------------------------------------------------------------------------- /libs/abis/src/abi/superFluidProxy.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [], 4 | "name": "getCodeAddress", 5 | "outputs": [ 6 | { 7 | "internalType": "address", 8 | "name": "codeAddress", 9 | "type": "address" 10 | } 11 | ], 12 | "stateMutability": "view", 13 | "type": "function" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /libs/connect-context/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'connect-context', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/connect-context', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/keychain-utils/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'keychain-utils', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/keychain-utils', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'moloch-v3-hooks', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/moloch-v3-hooks', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'moloch-v3-fields', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/moloch-v3-fields', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/DaoSettings/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ContractSettings'; 2 | export * from './DaoSettings'; 3 | export * from './FarcastleButton'; 4 | export * from './GovernanceSettings'; 5 | export * from './MetadataSettings'; 6 | export * from './ShamanSettings'; 7 | export * from './ShamanList'; 8 | export * from './TokenSettings'; 9 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Label/Label.styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const StyledLabel = styled.label` 4 | font-family: ${({ theme }) => theme.field.labelFont}; 5 | font-weight: ${({ theme }) => theme.font.weight.reg}; 6 | font-size: ${({ theme }) => theme.font.size.md}; 7 | color: ${(props) => props.color}; 8 | `; 9 | -------------------------------------------------------------------------------- /.storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "exclude": [ 4 | "../**/*.spec.js", 5 | "../**/*.test.js", 6 | "../**/*.spec.ts", 7 | "../**/*.test.ts", 8 | "../**/*.spec.tsx", 9 | "../**/*.test.tsx", 10 | "../**/*.spec.jsx", 11 | "../**/*.test.jsx" 12 | ], 13 | "include": ["../**/*"] 14 | } 15 | -------------------------------------------------------------------------------- /libs/form-builder-base/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'form-builder-base', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/form-builder-base', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'moloch-v3-macro-ui', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/moloch-v3-macro-ui', 10 | }; 11 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/HelperTexts/HelperText.styles.ts: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const WithIcon = styled.div` 4 | display: flex; 5 | align-items: flex-start; 6 | svg { 7 | color: ${(props) => props.color}; 8 | } 9 | p { 10 | margin-left: 0.65rem; 11 | color: ${(props) => props.color}; 12 | } 13 | `; 14 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Tabs/Tabs.types.ts: -------------------------------------------------------------------------------- 1 | export interface Tab { 2 | label: string; 3 | Component: () => JSX.Element; 4 | } 5 | 6 | export type State = { 7 | selected: number; 8 | }; 9 | 10 | export type TabsProps = { 11 | tabList: []; 12 | className?: string; 13 | }; 14 | 15 | export type Action = { type: 'selected'; payload: number }; 16 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'wizard-form-builder', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^.+\\.[tj]sx?$': 'babel-jest', 7 | }, 8 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 9 | coverageDirectory: '../../coverage/libs/wizard-form-builder', 10 | }; 11 | -------------------------------------------------------------------------------- /apps/admin/src/theme.tsx: -------------------------------------------------------------------------------- 1 | import { green } from '@radix-ui/colors'; 2 | import { font } from '@daohaus/ui'; 3 | import './fonts.css'; 4 | 5 | export const themeOverrides: any = { 6 | themeName: 'custom', 7 | rootBgColor: green.green10, 8 | font: { 9 | family: { 10 | ...font.family, 11 | body: `'Roboto', sans-serif`, 12 | }, 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/AddressDisplay/AddressDisplay.types.ts: -------------------------------------------------------------------------------- 1 | import { Keychain } from '@daohaus/keychain-utils'; 2 | 3 | export type AddressDisplayProps = { 4 | address: string; 5 | explorerNetworkId?: keyof Keychain; 6 | copy?: boolean; 7 | truncate?: boolean; 8 | txHash?: boolean; 9 | textOverride?: string; 10 | className?: string; 11 | }; 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/organisms/MemberCard/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | MemberCard, 3 | MemberCardExplorerLink, 4 | MemberCardCopyAddress, 5 | MemberCardItem, 6 | } from './MemberCard'; 7 | 8 | export type { 9 | MemberCardProps, 10 | MemberCardExplorerLinkProps, 11 | MemberCardCopyAddressProps, 12 | MemberCardItemProps, 13 | } from './MemberCard.types'; 14 | -------------------------------------------------------------------------------- /apps/summon/README.md: -------------------------------------------------------------------------------- 1 | # DAOhaus Summoning App 2 | 3 | Interface to summon Moloch V3 DAOs. 4 | 5 | ## Development 6 | 7 | 1. Copy and fill in .env values: 8 | `cp .env.sample .env` 9 | 10 | 2. Run locally: 11 | `nx run admin:serve` 12 | 13 | ## Current Deployments 14 | 15 | [Staging: summon.daohaus.club](https://summon.daohaus.club/) 16 | 17 | Production - TBD 18 | -------------------------------------------------------------------------------- /libs/ui/src/theme/global/breakpoints.ts: -------------------------------------------------------------------------------- 1 | export const breakpoints = { 2 | xs: '480px', 3 | sm: '768px', 4 | md: '1024px', 5 | lg: '1250px', 6 | }; 7 | export const widthQuery = { 8 | xs: `(max-width: ${breakpoints.xs})`, 9 | sm: `(max-width: ${breakpoints.sm})`, 10 | md: `(max-width: ${breakpoints.md})`, 11 | lg: `(max-width: ${breakpoints.lg})`, 12 | }; 13 | -------------------------------------------------------------------------------- /apps/summon-safe/README.md: -------------------------------------------------------------------------------- 1 | # DAOhaus Gnosis Safe App - Summoning 2 | 3 | Interface to summon Moloch V3 DAOs within the Gnosis Safe UI. Allows a multisig to upgrade to Moloch v3 governance. 4 | 5 | ## Current Deployments 6 | 7 | Import these urls as an app in the Gnosis Safe UI: 8 | 9 | [Staging: summon-safe.daohaus.club](https://summon.daohaus.club/) 10 | 11 | Production - TBD 12 | -------------------------------------------------------------------------------- /libs/keychain-utils/src/explorerUtils.ts: -------------------------------------------------------------------------------- 1 | import { ENDPOINTS } from './endpoints'; 2 | import { ValidNetwork } from './types'; 3 | 4 | export const generateExplorerLink = ({ 5 | chainId, 6 | address, 7 | type = 'address', 8 | }: { 9 | chainId: ValidNetwork; 10 | address?: string; 11 | type?: string; 12 | }) => `${ENDPOINTS.EXPLORER[chainId]}/${type}/${address || ''}`; 13 | -------------------------------------------------------------------------------- /libs/profile-data/src/types/ens.types.ts: -------------------------------------------------------------------------------- 1 | import { GetEnsAvatarReturnType } from 'viem/ens'; 2 | 3 | export type ENSDomain = 4 | | string 5 | | { 6 | id?: string; 7 | registrationDate?: string; 8 | expiryDate?: string; 9 | domain?: { 10 | name?: string; 11 | avatar?: GetEnsAvatarReturnType; 12 | }; 13 | } 14 | | undefined; 15 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Icon/Icon.tsx: -------------------------------------------------------------------------------- 1 | import * as AccessibleIcon from '@radix-ui/react-accessible-icon'; 2 | 3 | type IconProps = { 4 | label?: string; 5 | }; 6 | 7 | export const Icon: React.FC = ({ 8 | label = '', 9 | children, 10 | }) => { 11 | return {children}; 12 | }; 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/ProfileButton/ProfileButton.types.ts: -------------------------------------------------------------------------------- 1 | import { AccountProfile } from '@daohaus/utils'; 2 | 3 | import { ButtonProps } from '../../atoms/Button/Button.types'; 4 | 5 | type OmittedProps = 'IconLeft' | 'href'; 6 | export interface ProfileButtonProps extends Omit { 7 | profile: AccountProfile; 8 | avatarOnly?: boolean; 9 | } 10 | -------------------------------------------------------------------------------- /libs/connect-context/src/assets/icons/index.d.ts: -------------------------------------------------------------------------------- 1 | // Module declarations for icon asset imports local to connect-context 2 | // Ensures TypeScript understands imported SVG/PNG modules in this lib. 3 | declare module '*.svg' { 4 | const content: string; 5 | export default content; 6 | } 7 | 8 | declare module '*.png' { 9 | const content: string; 10 | export default content; 11 | } 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Radio/Radio.types.ts: -------------------------------------------------------------------------------- 1 | import { 2 | RadioGroupProps, 3 | RadioGroupItemProps, 4 | } from '@radix-ui/react-radio-group'; 5 | 6 | export interface RadioItemGroupProps extends RadioGroupProps { 7 | defaultValue?: string; 8 | radios: RadioItemProps[]; 9 | } 10 | 11 | export interface RadioItemProps extends RadioGroupItemProps { 12 | label: string; 13 | } 14 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/src/utils/constants.ts: -------------------------------------------------------------------------------- 1 | export const MULTI_DAO_ROUTER = 'molochv3/:daoChain/:daoId'; 2 | 3 | export enum DaoQueryKeys { 4 | Dao = 'dao', 5 | Proposals = 'proposals', 6 | SingleProposal = 'singleProposal', 7 | Members = 'members', 8 | SingleMember = 'singleMember', 9 | Tokens = 'tokens', 10 | UserDaos = 'userDaos', 11 | ConnectedMember = 'connectedMember', 12 | } 13 | -------------------------------------------------------------------------------- /libs/abis/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/src/types/record.types.ts: -------------------------------------------------------------------------------- 1 | import { FindRecordQuery } from '../subgraph/queries/records.generated'; 2 | 3 | export type MolochV3Record = FindRecordQuery['record'] & { 4 | parsedContent?: unknown; 5 | }; 6 | 7 | export type FindRecordQueryRes = { 8 | record: MolochV3Record | undefined; 9 | }; 10 | 11 | export type ListRecordQueryRes = { 12 | records: MolochV3Record[]; 13 | }; 14 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/FormLayout/FormLayout.styles.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'styled-components'; 2 | 3 | export const FormContainer = styled.div` 4 | width: 58rem; 5 | margin-top: 5rem; 6 | 7 | .subtitle { 8 | margin-bottom: 1.2rem; 9 | opacity: 0.6; 10 | } 11 | .title { 12 | margin-bottom: 3rem; 13 | } 14 | .description { 15 | margin-bottom: 5rem; 16 | } 17 | `; 18 | -------------------------------------------------------------------------------- /libs/utils/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/hooks/useFormBuilder.tsx: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react'; 2 | import { useFormContext } from 'react-hook-form'; 3 | 4 | import { FormBaseContext } from '../FormBuilderBase'; 5 | 6 | export const useFormBuilder = () => { 7 | const methods = useFormContext(); 8 | const builderFeatures = useContext(FormBaseContext); 9 | 10 | return { ...methods, ...builderFeatures }; 11 | }; 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Label/Label.tsx: -------------------------------------------------------------------------------- 1 | import type { LabelProps } from './Label.types'; 2 | import { StyledLabel } from './Label.styles'; 3 | 4 | export const Label: React.FC = ({ 5 | children = 'label', 6 | id, 7 | className, 8 | }: LabelProps) => { 9 | return ( 10 | 11 | {children} 12 | 13 | ); 14 | }; 15 | -------------------------------------------------------------------------------- /libs/contract-utils/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-legos/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/profile-data/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DAOHaus DevSandbox 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /libs/abis/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'abis', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/abis', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/form-builder/src/components/Logger.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useFormContext } from 'react-hook-form'; 3 | 4 | export const Logger = () => { 5 | const { watch } = useFormContext(); 6 | const formValues = watch(); 7 | 8 | useEffect(() => { 9 | if (formValues) { 10 | console.log('formValues', formValues); 11 | } 12 | }, [formValues]); 13 | 14 | return null; 15 | }; 16 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/src/fields/TagsInput.tsx: -------------------------------------------------------------------------------- 1 | import { RegisterOptions } from 'react-hook-form'; 2 | 3 | import { Buildable, WrappedInput, Field } from '@daohaus/ui'; 4 | 5 | export const TagsInput = (props: Buildable) => { 6 | const newRules: RegisterOptions = { 7 | ...props.rules, 8 | setValueAs: (val) => val.split(', '), 9 | }; 10 | return ; 11 | }; 12 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Card/Card.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { BaseCard } from './Card.styles'; 4 | import type { CardProps } from './Card.types'; 5 | 6 | export const Card = ({ 7 | className, 8 | width = 'fit-content', 9 | children, 10 | }: CardProps) => { 11 | return ( 12 | 13 | {children} 14 | 15 | ); 16 | }; 17 | -------------------------------------------------------------------------------- /libs/utils/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'utils', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/utils', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/form-builder-base/src/components/Logger.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useFormContext } from 'react-hook-form'; 3 | 4 | export const Logger = () => { 5 | const { watch } = useFormContext(); 6 | const formValues = watch(); 7 | 8 | useEffect(() => { 9 | if (formValues) { 10 | console.log('formValues', formValues); 11 | } 12 | }, [formValues]); 13 | 14 | return null; 15 | }; 16 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/Dialog/Dialog.types.ts: -------------------------------------------------------------------------------- 1 | import { DialogContentProps } from '@radix-ui/react-dialog'; 2 | import { ButtonProps } from '../../atoms'; 3 | 4 | export type DialogProps = DialogContentProps & { 5 | title: string; 6 | description?: string; 7 | alignButtons?: 'start' | 'end'; 8 | leftButton?: ButtonProps; 9 | rightButton?: ButtonProps & { 10 | $closeDialog?: boolean; 11 | }; 12 | }; 13 | -------------------------------------------------------------------------------- /apps/admin/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /apps/admin/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'admin', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nrwl/react/plugins/jest', 7 | '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nrwl/react/babel'] }], 8 | }, 9 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 10 | coverageDirectory: '../../coverage/apps/admin', 11 | }; 12 | -------------------------------------------------------------------------------- /apps/summon/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/ui/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Tag/Tag.types.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | 3 | import { IconType } from 'react-icons/lib/esm'; 4 | 5 | export type TagColors = 'blue' | 'green' | 'pink' | 'violet' | 'yellow' | 'red'; 6 | 7 | export type TagProps = { 8 | children: ReactNode; 9 | tagColor: TagColors; 10 | className?: string; 11 | IconLeft?: IconType; 12 | IconRight?: IconType; 13 | fontSize?: string; 14 | }; 15 | -------------------------------------------------------------------------------- /apps/admin/src/App.tsx: -------------------------------------------------------------------------------- 1 | import { DHConnectProvider } from '@daohaus/connect'; 2 | import { useState } from 'react'; 3 | import { Routes } from './Routes'; 4 | 5 | export const App = () => { 6 | const [daoChainId, setDaoChainId] = useState(); 7 | 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | -------------------------------------------------------------------------------- /apps/admin/src/pages/Home.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { useDHConnect } from '@daohaus/connect'; 4 | import { HomeDashboard } from '../components/HomeDashboard'; 5 | import { HomeNotConnected } from '../components/HomeNotConnected'; 6 | 7 | export const Home = () => { 8 | const { isConnected, address } = useDHConnect(); 9 | 10 | return address && isConnected ? : ; 11 | }; 12 | -------------------------------------------------------------------------------- /apps/dev-sandbox/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /apps/summon-safe/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /apps/summon/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'summon', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nrwl/react/plugins/jest', 7 | '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nrwl/react/babel'] }], 8 | }, 9 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 10 | coverageDirectory: '../../coverage/apps/summon', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/connect/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*", "**/*.generated.ts"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/src/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './useDaoData'; 2 | export * from './useDaoMember'; 3 | export * from './useDaoMembers'; 4 | export * from './useDaoProposals'; 5 | export * from './useDaoRecords'; 6 | export * from './useDaosByUser'; 7 | export * from './useERC20'; 8 | export * from './useDaoProposal'; 9 | export * from './useProfile'; 10 | export * from './useTrace'; 11 | export * from './useConnectedMember'; 12 | -------------------------------------------------------------------------------- /libs/tx-builder/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/ui/src/components/layouts/MainLayout/MainLayout.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'styled-components'; 3 | 4 | import { widthQuery } from '../../../theme/global'; 5 | 6 | export const MainLayout = styled.main` 7 | display: flex; 8 | width: 100%; 9 | justify-content: center; 10 | padding: 0 3.2rem 2.4rem 3.2rem; 11 | @media ${widthQuery.sm} { 12 | padding: 0 2.4rem 2.4rem 2.4rem; 13 | } 14 | `; 15 | -------------------------------------------------------------------------------- /apps/dev-sandbox/src/App.tsx: -------------------------------------------------------------------------------- 1 | import { DHConnectProvider } from '@daohaus/connect'; 2 | import { useState } from 'react'; 3 | import { Routes } from './Routes'; 4 | 5 | export const App = () => { 6 | const [daoChainId, setDaoChainId] = useState(); 7 | 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | -------------------------------------------------------------------------------- /libs/connect-context/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/form-builder/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/form-builder/src/types/formLegoTypes.ts: -------------------------------------------------------------------------------- 1 | import { FieldLegoBase, FormLegoBase, LookupType } from '@daohaus/utils'; 2 | import { CoreFieldLookup } from '../components/CoreFieldLookup'; 3 | 4 | export type CoreFields = typeof CoreFieldLookup; 5 | 6 | export type FieldLego = 7 | FieldLegoBase; 8 | export type FormLego = 9 | FormLegoBase; 10 | -------------------------------------------------------------------------------- /libs/keychain-utils/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-fields/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-hooks/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/profile-data/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'profile-data', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/profile-data', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/ui/src/components/molecules/FieldWrapper/FieldWrapper.types.ts: -------------------------------------------------------------------------------- 1 | import { FieldError } from 'react-hook-form'; 2 | 3 | import { 4 | ErrorMessage, 5 | WarningMessage, 6 | SuccessMessage, 7 | } from '../../../types/formAndField'; 8 | 9 | export type FieldWrapperHelperTextFactoryProps = { 10 | error?: ErrorMessage | FieldError; 11 | warning?: WarningMessage; 12 | success?: SuccessMessage; 13 | helperText?: string; 14 | }; 15 | -------------------------------------------------------------------------------- /libs/form-builder-base/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/moloch-v3-macro-ui/src/components/Layout/Layout.tsx: -------------------------------------------------------------------------------- 1 | import { widthQuery } from '@daohaus/ui'; 2 | import styled from 'styled-components'; 3 | 4 | export const DataGrid = styled.div` 5 | display: flex; 6 | flex-wrap: wrap; 7 | width: 100%; 8 | align-content: space-between; 9 | div { 10 | padding: 2rem 0; 11 | width: 19.7rem; 12 | 13 | @media ${widthQuery.sm} { 14 | min-width: 100%; 15 | } 16 | } 17 | `; 18 | -------------------------------------------------------------------------------- /libs/wizard-form-builder/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /apps/dev-sandbox/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'dev-sandbox', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nrwl/react/plugins/jest', 7 | '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nrwl/react/babel'] }], 8 | }, 9 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 10 | coverageDirectory: '../../coverage/apps/dev-sandbox', 11 | }; 12 | -------------------------------------------------------------------------------- /apps/summon-safe/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'summon-safe', 4 | preset: '../../jest.preset.js', 5 | transform: { 6 | '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nrwl/react/plugins/jest', 7 | '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nrwl/react/babel'] }], 8 | }, 9 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 10 | coverageDirectory: '../../coverage/apps/summon-safe', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/contract-utils/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'contract-utils', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/contract-utils', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'moloch-v3-data', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/moloch-v3-data', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/moloch-v3-legos/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'moloch-v3-legos', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/moloch-v3-legos', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/abis/src/abi/gnosisMultisend.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [], 4 | "stateMutability": "nonpayable", 5 | "type": "constructor" 6 | }, 7 | { 8 | "inputs": [ 9 | { 10 | "internalType": "bytes", 11 | "name": "transactions", 12 | "type": "bytes" 13 | } 14 | ], 15 | "name": "multiSend", 16 | "outputs": [], 17 | "stateMutability": "payable", 18 | "type": "function" 19 | } 20 | ] 21 | -------------------------------------------------------------------------------- /libs/data-fetch-utils/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'data-fetch-utils', 4 | preset: '../../jest.preset.js', 5 | globals: { 6 | 'ts-jest': { 7 | tsconfig: '/tsconfig.spec.json', 8 | }, 9 | }, 10 | transform: { 11 | '^.+\\.[tj]s$': 'ts-jest', 12 | }, 13 | moduleFileExtensions: ['ts', 'js', 'html'], 14 | coverageDirectory: '../../coverage/libs/data-fetch-utils', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/connect-context/src/utils/types.ts: -------------------------------------------------------------------------------- 1 | import { AccountProfile } from '@daohaus/utils'; 2 | 3 | export type ConnectLifecycleFns = { 4 | onConnect?: () => void; 5 | onDisconnect?: () => void; 6 | onChainChanged?: (chainId: string) => void; 7 | onAccountsChanged?: () => void; 8 | onConnectError?: (error: Error) => void; 9 | onProfileError?: (error: Error) => void; 10 | }; 11 | 12 | export type UserProfile = AccountProfile & { displayName?: string }; 13 | -------------------------------------------------------------------------------- /libs/keychain-utils/src/viemUtils.ts: -------------------------------------------------------------------------------- 1 | import { 2 | arbitrum, 3 | mainnet, 4 | polygon, 5 | gnosis, 6 | optimism, 7 | base, 8 | sepolia, 9 | Chain, 10 | } from 'wagmi/chains'; 11 | import { Keychain } from './types'; 12 | 13 | export const VIEM_CHAINS: Keychain = { 14 | '0x1': mainnet, 15 | '0x64': gnosis, 16 | '0x89': polygon, 17 | '0xa': optimism, 18 | '0xa4b1': arbitrum, 19 | '0xaa36a7': sepolia, 20 | '0x2105': base, 21 | }; 22 | -------------------------------------------------------------------------------- /libs/ui/src/components/organisms/AppSwitcher/AppSwitcher.types.ts: -------------------------------------------------------------------------------- 1 | import { IconType } from 'react-icons/lib/esm'; 2 | 3 | export interface IApp { 4 | name: string; 5 | url: string; 6 | Icon?: IconType | React.FunctionComponent>; 7 | } 8 | 9 | export type AppSwitcherProps = { 10 | currentApp: IApp; 11 | apps: IApp[]; 12 | spacing?: string; 13 | width?: string; 14 | menuBg?: string; 15 | className?: string; 16 | }; 17 | -------------------------------------------------------------------------------- /libs/moloch-v3-data/src/types/proposal.types.ts: -------------------------------------------------------------------------------- 1 | import { ListProposalsQuery } from '../subgraph/queries/proposals.generated'; 2 | 3 | export type QueryProposal = ListProposalsQuery['proposals'][number]; 4 | export type MolochV3Proposal = QueryProposal & { 5 | status?: string; 6 | }; 7 | 8 | export type FindProposalQueryRes = { 9 | proposal: MolochV3Proposal | undefined; 10 | }; 11 | export type ListProposalQueryRes = { 12 | proposals: MolochV3Proposal[]; 13 | }; 14 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Badge/Badge.types.ts: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | 3 | export type BadgeColor = 'blue' | 'green' | 'pink' | 'violet'; // TODO Create shared types file in root of atoms. Share between this and Tag 4 | export type BadgeSize = 'sm' | 'lg'; 5 | 6 | export interface BadgeProps { 7 | badgeLabel: ReactNode; 8 | badgeSize?: BadgeSize; 9 | badgeColor?: BadgeColor; 10 | className?: string; 11 | children?: ReactNode; 12 | } 13 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Button/IconButton.types.ts: -------------------------------------------------------------------------------- 1 | import { IconType } from 'react-icons/lib/esm'; 2 | 3 | import { ButtonProps } from './Button.types'; 4 | 5 | type OmittedButtonProps = 6 | | 'IconLeft' 7 | | 'IconRight' 8 | | 'justify' 9 | | 'fullWidth' 10 | | 'loadingText'; 11 | 12 | export interface IconButtonProps extends Omit { 13 | Icon: IconType | React.FunctionComponent>; 14 | } 15 | -------------------------------------------------------------------------------- /libs/ui/src/hooks/useDebounce.ts: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react'; 2 | 3 | export const useDebounce = (value: T, delay?: number): T => { 4 | const [debouncedValue, setDebouncedValue] = useState(value); 5 | 6 | useEffect(() => { 7 | const timer = setTimeout(() => setDebouncedValue(value), delay || 500); 8 | 9 | return () => { 10 | clearTimeout(timer); 11 | }; 12 | }, [value, delay]); 13 | 14 | return debouncedValue; 15 | }; 16 | -------------------------------------------------------------------------------- /libs/ui/src/components/atoms/Label/Label.stories.tsx: -------------------------------------------------------------------------------- 1 | import { ComponentMeta, ComponentStory } from '@storybook/react'; 2 | import { Label } from './Label'; 3 | 4 | export default { 5 | title: 'Atoms/Label', 6 | component: Label, 7 | } as ComponentMeta; 8 | 9 | const Template: ComponentStory = (args) =>