Skip to content

Commit

Permalink
chore: split @session/util into @session/util-js and @session/util-cr…
Browse files Browse the repository at this point in the history
…ypto and @session/util-logger
  • Loading branch information
Aerilym committed Sep 30, 2024
1 parent 219f489 commit 619099d
Show file tree
Hide file tree
Showing 59 changed files with 4,807 additions and 990 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ This repository contains the following apps and packages:
and uses
[Tailwind CSS](https://tailwindcss.com/), [Radix UI](https://www.radix-ui.com/),
and [shadcn-ui](https://ui.shadcn.com/). [Read more](packages/ui/README.md).
- `@session/util`: A utility library for common functions. [Read more](packages/util/README.md).
- `@session/util-crypto`: A crypto utility library for common crypto
functions. [Read more](packages/util-crypto/README.md).
- `@session/util-js`: A JS utility library for common functions. [Read more](packages/util-js/README.md).
- `@session/util-logger`: A logger utility library for initializing the pino logger with @session/logger as a
wrapper. [Read more](packages/util-logger/README.md).
- `@session/wallet`: A wallet library for interacting with the Session Token. [Read more](packages/wallet/README.md).

### Utilities
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/app/faucet/AuthModule.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import {
FormSubmitButton,
} from '@session/ui/ui/form';
import { Tooltip } from '@session/ui/ui/tooltip';
import { collapseString } from '@session/util/string';
import { collapseString } from '@session/util-crypto/string';
import { useWallet, useWalletChain, WALLET_STATUS } from '@session/wallet/hooks/wallet-hooks';
import { ReactNode, useEffect, useState } from 'react';
import { useForm } from 'react-hook-form';
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/app/faucet/FaucetTransactions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
TableHeader,
TableRow,
} from '@session/ui/ui/table';
import { formatBigIntTokenValue } from '@session/util/maths';
import { formatBigIntTokenValue } from '@session/util-crypto/maths';
import { ETH_DECIMALS } from '@session/wallet/lib/eth';
import { useTranslations } from 'next-intl';
import Link from 'next/link';
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/app/faucet/utils.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { isProduction } from '@session/util/env';
import { isProduction } from '@session/util-js/env';
import Database, * as BetterSql3 from 'better-sqlite3-multiple-ciphers';
import path from 'path';
import { Address } from 'viem';
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { cookieToInitialState } from 'wagmi';
import ChainBanner from '@/components/ChainBanner';
import { GlobalProvider } from '@/providers/global-provider';
import { TOSHandler } from '@/components/TOSHandler';
import { getBuildInfo } from '@session/util/build';
import { getBuildInfo } from '@session/util-js/build';
import { FeatureFlagProvider } from '@/lib/feature-flags-client';
import RemoteBanner from '@/components/RemoteBanner';
import Header from '@/components/Header';
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/app/mystakes/modules/ClaimTokensModule.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
import { useTranslations } from 'next-intl';
import { ActionModuleRow } from '@/components/ActionModule';
import { Button } from '@session/ui/ui/button';
import { formatBigIntTokenValue } from '@session/util/maths';
import { formatBigIntTokenValue } from '@session/util-crypto/maths';
import { ETH_DECIMALS } from '@session/wallet/lib/eth';
import { LoadingText } from '@session/ui/components/loading-text';
import { QUERY, TICKER, URL } from '@/lib/constants';
Expand Down
4 changes: 2 additions & 2 deletions apps/staking/app/register/[nodeId]/NodeRegistration.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ import { useStakingBackendQueryWithParams } from '@/lib/sent-staking-backend-cli
import type { LoadRegistrationsResponse } from '@session/sent-staking-js/client';
import { getNodeRegistrations } from '@/lib/queries/getNodeRegistrations';
import { QUERY, SESSION_NODE } from '@/lib/constants';
import { getDateFromUnixTimestampSeconds } from '@session/util/date';
import { getDateFromUnixTimestampSeconds } from '@session/util-js/date';
import { notFound } from 'next/navigation';
import { generateMockRegistrations } from '@session/sent-staking-js/test';
import useRegisterNode from '@/hooks/useRegisterNode';
import { StakedNodeCard } from '@/components/StakedNodeCard';
import { AlertTooltip, Tooltip } from '@session/ui/ui/tooltip';
import { areHexesEqual } from '@session/util/string';
import { areHexesEqual } from '@session/util-crypto/string';
import { toast } from '@session/ui/lib/toast';
import { RegistrationPausedInfo } from '@/components/RegistrationPausedInfo';
import { useFeatureFlag, useRemoteFeatureFlagQuery } from '@/lib/feature-flags-client';
Expand Down
4 changes: 2 additions & 2 deletions apps/staking/app/stake/[nodeId]/NodeStaking.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import { SENT_DECIMALS, SENT_SYMBOL } from '@session/contracts';
import type { GetOpenNodesResponse } from '@session/sent-staking-js/client';
import { Loading } from '@session/ui/components/loading';
import { Button, ButtonSkeleton } from '@session/ui/ui/button';
import { bigIntToNumber, formatNumber } from '@session/util/maths';
import { bigIntToNumber, formatNumber } from '@session/util-crypto/maths';
import { useTranslations } from 'next-intl';
import { useMemo } from 'react';
import { ActionModuleRow, ActionModuleRowSkeleton } from '@/components/ActionModule';
import { useStakingBackendSuspenseQuery } from '@/lib/sent-staking-backend-client';
import { getOpenNodes } from '@/lib/queries/getOpenNodes';
import { areHexesEqual } from '@session/util/string';
import { areHexesEqual } from '@session/util-crypto/string';

export default function NodeStaking({ nodeId }: { nodeId: string }) {
const { data, isLoading } = useStakingBackendSuspenseQuery(getOpenNodes);
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/components/BlockExplorerLink.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { useStakingBackendSuspenseQuery } from '@/lib/sent-staking-backend-clien
import { getOpenNodes } from '@/lib/queries/getOpenNodes';
import { useMemo } from 'react';
import { Loading } from '@session/ui/components/loading';
import { areHexesEqual } from '@session/util/string';
import { areHexesEqual } from '@session/util-crypto/string';

export const BlockExplorerLink = ({ nodeId }: { nodeId: string }) => {
const { data, isLoading } = useStakingBackendSuspenseQuery(getOpenNodes);
Expand Down
4 changes: 2 additions & 2 deletions apps/staking/components/DevSheet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import { useEffect, useMemo, useState } from 'react';
import Link from 'next/link';
import { SOCIALS } from '@/lib/constants';
import { Social } from '@session/ui/components/SocialLinkList';
import type { BuildInfo } from '@session/util/build';
import { getEnvironment } from '@session/util/env';
import type { BuildInfo } from '@session/util-js/build';
import { getEnvironment } from '@session/util-js/env';
import { isProduction } from '@/lib/env';
import {
type FEATURE_FLAG,
Expand Down
4 changes: 2 additions & 2 deletions apps/staking/components/NodeCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { Tooltip } from '@session/ui/ui/tooltip';
import { useWallet } from '@session/wallet/hooks/wallet-hooks';
import { cva, type VariantProps } from 'class-variance-authority';
import { forwardRef, type HTMLAttributes, useMemo } from 'react';
import { bigIntToNumber } from '@session/util/maths';
import { bigIntToNumber } from '@session/util-crypto/maths';
import { SENT_DECIMALS } from '@session/contracts';
import { useTranslations } from 'next-intl';
import { areHexesEqual } from '@session/util/string';
import { areHexesEqual } from '@session/util-crypto/string';
import { formatSENTBigInt, formatSENTNumber } from '@session/contracts/hooks/SENT';
import { StakeContributor } from '@session/sent-staking-js/client';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { type ReactNode, useEffect, useMemo } from 'react';
import Link from 'next/link';
import { SOCIALS } from '@/lib/constants';
import { Social } from '@session/ui/components/SocialLinkList';
import { formatBigIntTokenValue } from '@session/util/maths';
import { formatBigIntTokenValue } from '@session/util-crypto/maths';
import { ETH_DECIMALS } from '@session/wallet/lib/eth';
import { Button } from '@session/ui/ui/button';
import { NodeExitButton } from '@/components/StakedNode/NodeExitButton';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { formatLocalizedTimeFromSeconds } from '@/lib/locale-client';
import { SESSION_NODE_TIME, SOCIALS, URL } from '@/lib/constants';
import { externalLink } from '@/lib/locale-defaults';
import { useChain } from '@session/contracts/hooks/useChain';
import { formatBigIntTokenValue } from '@session/util/maths';
import { formatBigIntTokenValue } from '@session/util-crypto/maths';
import { ETH_DECIMALS } from '@session/wallet/lib/eth';
import { useRemoteFeatureFlagQuery } from '@/lib/feature-flags-client';
import { REMOTE_FEATURE_FLAG } from '@/lib/feature-flags';
Expand Down
4 changes: 2 additions & 2 deletions apps/staking/components/StakedNodeCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { useTranslations } from 'next-intl';
import { forwardRef, type HTMLAttributes, ReactNode, useMemo, useState } from 'react';
import { NodeCard, NodeCardText, NodeCardTitle, NodeContributorList } from './NodeCard';
import { PubKey } from '@session/ui/components/PubKey';
import { areHexesEqual } from '@session/util/string';
import { areHexesEqual } from '@session/util-crypto/string';
import { Button } from '@session/ui/ui/button';
import { NodeRequestExitButton } from '@/components/StakedNode/NodeRequestExitButton';
import { Tooltip } from '@session/ui/ui/tooltip';
Expand All @@ -32,7 +32,7 @@ import { NodeExitButtonDialog } from '@/components/StakedNode/NodeExitButtonDial
import { externalLink } from '@/lib/locale-defaults';
import { TextSeparator } from '@session/ui/components/Separator';
import useRelativeTime from '@/hooks/useRelativeTime';
import { getDateFromUnixTimestampSeconds } from '@session/util/date';
import { getDateFromUnixTimestampSeconds } from '@session/util-js/date';
import { FEATURE_FLAG } from '@/lib/feature-flags';
import { useFeatureFlag } from '@/lib/feature-flags-client';
import { formatSENTNumber } from '@session/contracts/hooks/SENT';
Expand Down
4 changes: 2 additions & 2 deletions apps/staking/hooks/useRegisteredNode.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import { getOpenNodes } from '@/lib/queries/getOpenNodes';
import { getStakedNodes } from '@/lib/queries/getStakedNodes';
import { getNodes } from '@/lib/queries/getNodes';
import { useMemo } from 'react';
import { areHexesEqual } from '@session/util/string';
import { getUnixTimestampNowSeconds } from '@session/util/date';
import { areHexesEqual } from '@session/util-crypto/string';
import { getUnixTimestampNowSeconds } from '@session/util-js/date';
import { useWallet } from '@session/wallet/hooks/wallet-hooks';

export const useRegisteredNode = ({ nodeId }: { nodeId?: string }) => {
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/lib/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { CHAIN } from '@session/contracts/chains';
import { Social, SocialLink } from '@session/ui/components/SocialLinkList';
import { LocaleKey } from './locale-util';
import { getEnvironmentTaggedDomain } from '@session/util/env';
import { getEnvironmentTaggedDomain } from '@session/util-js/env';

/** TODO - Change this to MAINNET when we launch mainnet */
export const preferredChain = CHAIN.TESTNET as const;
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/lib/env.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { isProduction as isProductionEnv } from '@session/util/env';
import { isProduction as isProductionEnv } from '@session/util-js/env';

export const NEXT_PUBLIC_SENT_STAKING_API_URL = process.env.NEXT_PUBLIC_SENT_STAKING_API_URL!;
if (!NEXT_PUBLIC_SENT_STAKING_API_URL) {
Expand Down
2 changes: 1 addition & 1 deletion apps/staking/lib/locale-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
} from 'date-fns';
import { useLocale as _useLocale } from 'next-intl';
import { getDateFnsLocale, type Locale } from './locale-util';
import { getDateFromUnixTimestampSeconds } from '@session/util/date';
import { getDateFromUnixTimestampSeconds } from '@session/util-js/date';

export const useLocale = _useLocale as () => Locale;

Expand Down
6 changes: 4 additions & 2 deletions apps/staking/lib/logger.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { initLogger } from '@session/util/logger';
import { initLogger } from '@session/util-logger';

export const logger = initLogger();
const logger = initLogger();

export default logger;
4 changes: 3 additions & 1 deletion apps/staking/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
"@session/feature-flags": "workspace:*",
"@session/sent-staking-js": "workspace:*",
"@session/ui": "workspace:*",
"@session/util": "workspace:*",
"@session/util-js": "workspace:*",
"@session/util-crypto": "workspace:*",
"@session/util-logger": "workspace:*",
"@session/wallet": "workspace:*",
"@session/logger": "workspace:*",
"@tanstack/react-query": "5.51.1",
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
"husky": "^9.0.11",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"lint-staged": "^15.2.5",
"prettier": "3.2.5",
"prettier-plugin-tailwindcss": "^0.6.1",
"ts-jest": "^29.1.5",
Expand Down
3 changes: 1 addition & 2 deletions packages/auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
},
"scripts": {
"check-types": "tsc --noEmit",
"lint": "eslint .",
"lint-staged": "lint-staged"
"lint": "eslint ."
},
"devDependencies": {
"@session/eslint-config": "workspace:*",
Expand Down
4 changes: 2 additions & 2 deletions packages/contracts/hooks/SENT.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import { SENTAbi } from '../abis';
import { type ContractReadQueryProps, useContractReadQuery } from './useContractReadQuery';
import type { WriteContractErrorType } from 'wagmi/actions';
import { useEffect, useMemo, useState } from 'react';
import { isProduction } from '@session/util/env';
import { formatBigIntTokenValue } from '@session/util/maths';
import { isProduction } from '@session/util-js/env';
import { formatBigIntTokenValue } from '@session/util-crypto/maths';
import { SENT_DECIMALS, SENT_SYMBOL } from '../constants';
import {
GenericContractStatus,
Expand Down
4 changes: 2 additions & 2 deletions packages/contracts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
"format": "prettier --write .",
"check-types": "tsc --noEmit",
"lint": "eslint .",
"lint-staged": "lint-staged",
"tsc": "pnpm generate",
"test": "jest"
},
"dependencies": {
"@session/util": "workspace:*",
"@session/util-js": "workspace:*",
"@session/util-crypto": "workspace:*",
"@tanstack/react-query": "^5.32.1",
"viem": "2.21.1",
"wagmi": "2.12.8"
Expand Down
3 changes: 0 additions & 3 deletions packages/eslint-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
"next.js",
"react-internal.js"
],
"scripts": {
"lint-staged": "lint-staged"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/feature-flags/lib/db.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as BetterSql3 from 'better-sqlite3-multiple-ciphers';
import Database from 'better-sqlite3-multiple-ciphers';
import path from 'path';
import { isProduction } from '@session/util/env';
import { isProduction } from '@session/util-js/env';

export enum TABLE {
FLAGS = 'flags',
Expand Down
2 changes: 1 addition & 1 deletion packages/feature-flags/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"dependencies": {
"@session/testing": "workspace:*",
"@session/util": "workspace:*",
"@session/util-js": "workspace:*",
"better-sqlite3-multiple-ciphers": "11.1.2",
"next": "14.2.12"
},
Expand Down
1 change: 0 additions & 1 deletion packages/sent-staking-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"scripts": {
"check-types": "tsc --noEmit",
"lint": "eslint .",
"lint-staged": "lint-staged",
"format": "prettier --write ."
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/components/PubKey.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { CopyToClipboardButton } from './CopyToClipboardButton';
import { cn } from '../lib/utils';
import { Tooltip } from './ui/tooltip';
import { collapseString } from '@session/util/string';
import { collapseString } from '@session/util-crypto/string';
import { forwardRef, HTMLAttributes, useCallback, useEffect, useMemo, useState } from 'react';
import { ButtonDataTestId } from '../data-test-ids';

Expand Down
2 changes: 1 addition & 1 deletion packages/ui/lib/toast.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { type ExternalToast, toast as sonnerToast } from 'sonner';
import { collapseString } from '@session/util/string';
import { collapseString } from '@session/util-crypto/string';
import { CopyToClipboardButton } from '../components/CopyToClipboardButton';
import { ButtonDataTestId } from '../data-test-ids';
import React from 'react';
Expand Down
5 changes: 2 additions & 3 deletions packages/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"scripts": {
"check-types": "tsc --noEmit",
"lint": "eslint .",
"lint-staged": "lint-staged",
"ui:add": "npx shadcn-ui@latest add"
},
"devDependencies": {
Expand All @@ -27,7 +26,6 @@
"@types/react-dom": "^18.3.0",
"autoprefixer": "^10.4.19",
"postcss": "^8.4.38",
"react": "18.3.1",
"tailwindcss": "^3.4.3",
"tailwindcss-selection-variant": "^0.1.0"
},
Expand All @@ -44,7 +42,8 @@
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tooltip": "^1.1.1",
"@session/testing": "workspace:*",
"@session/util": "workspace:*",
"@session/util-js": "workspace:*",
"@session/util-crypto": "workspace:*",
"@uidotdev/usehooks": "^2.4.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
Expand Down
10 changes: 10 additions & 0 deletions packages/util-crypto/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/** @type {import('eslint').Linter.Config} */
module.exports = {
root: true,
extends: ['@session/eslint-config/library.js'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
};
7 changes: 7 additions & 0 deletions packages/util-crypto/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# @session/util-crypto

This package is a crypto utility library for common crypto functions.

## Getting Started

You can follow the generic instructions in the root [README.md](../../README.md#getting-started) to get started.
5 changes: 5 additions & 0 deletions packages/util-crypto/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/* eslint-disable no-undef */
/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
...require('@session/testing/config/jest.base.config'),
};
24 changes: 24 additions & 0 deletions packages/util-crypto/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "@session/util-crypto",
"version": "0.0.0",
"private": true,
"exports": {
"./*": "./src/*.ts"
},
"scripts": {
"check-types": "tsc --noEmit",
"lint": "eslint .",
"test": "jest"
},
"devDependencies": {
"@session/eslint-config": "workspace:*",
"@session/testing": "workspace:*",
"@session/typescript-config": "workspace:*"
},
"engines": {
"node": ">=22",
"pnpm": ">=9",
"yarn": "use pnpm",
"npm": "use pnpm"
}
}
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { bigIntToNumber, formatBigIntTokenValue, formatNumber, roundNumber } from '../maths';
import { bigIntToNumber, formatBigIntTokenValue, formatNumber, roundNumber } from '../src/maths';

// #region - roundNumber

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { areHexesEqual, collapseString } from '../string';
import { areHexesEqual, collapseString } from '../src/string';

// #region - collapseString

Expand Down
Loading

0 comments on commit 619099d

Please sign in to comment.