0.43.0 • Published 13 days ago
@lidofinance/next-pages v0.43.0
@lidofinance/next-pages
Common API and UI next pages.
Installation
- React 17 || 18
yarn add @lidofinance/next-pages
# and additional
yarn add next@^12.3.0 prom-client@^14.0.0 @lidofinance/api-logger@^0.36.0 @lidofinance/api-rpc@^0.36.0 @lidofinance/rpc@^0.36.0 @lidofinance/ui-pages@^0.36.0
Getting started
API pages
Health
import { health } from '@lidofinance/next-pages';
// or import { health } from '@lidofinance/next-pages/api';
export default health;
Metrics
import { registry } from 'utilsApi/metrics';
import { metricsFactory } from '@lidofinance/next-pages';
// or import { metricsFactory } from '@lidofinance/next-pages/api';
const metrics = metricsFactory({
registry,
});
export default metrics;
RPC
import getConfig from 'next/config';
import { rpcFactory } from '@lidofinance/api-pages';
// or import { rpcFactory } from '@lidofinance/next-pages/api';
import { fetchRPC, serverLogger } from 'utilsApi';
import { registry } from 'utilsApi/metrics';
import { METRICS_PREFIX } from '../../config';
const { publicRuntimeConfig, serverRuntimeConfig } = getConfig();
const { defaultChain } = publicRuntimeConfig;
const { infuraApiKey, alchemyApiKey } = serverRuntimeConfig;
// Should be a separate file
export const enum CHAINS {
Mainnet = 1,
Goerli = 5,
}
// Should be a separate file
export const providers: Record<CHAINS, [string, ...string[]]> = {
[CHAINS.Mainnet]: [
`https://mainnet.infura.io/v3/${infuraApiKey}`,
`https://eth-mainnet.alchemyapi.io/v2/${alchemyApiKey}`,
],
[CHAINS.Goerli]: [
`https://goerli.infura.io/v3/${infuraApiKey}`,
`https://eth-goerli.alchemyapi.io/v2/${alchemyApiKey}`,
],
};
const rpc = rpcFactory({
fetchRPC,
metrics: {
prefix: METRICS_PREFIX,
registry,
},
allowedRPCMethods: [
'eth_call',
'eth_gasPrice',
// ...
],
defaultChain,
providers,
});
export default rpc;
UI pages
Page Error (ready implementations)
- Page404
- Page500
Example for pages/404.tsx
import { Page404 } from '@lidofinance/next-ui-pages/ui';
export default Page404;
Example for pages/500.tsx
import { Page500 } from '@lidofinance/next-ui-pages/ui';
export default Page500;
Error page as generic component
Example for pages/404.tsx
import { FC } from 'react';
import { PageError } from '@lidofinance/next-ui-pages/ui';
const Page404: FC = () => <PageError title="404" content="Page Not Found" />;
export default Page404;
0.43.0
13 days ago
0.42.0
2 months ago
0.41.0
2 months ago
0.40.0
3 months ago
0.39.1
5 months ago
0.39.0
7 months ago
0.38.0
8 months ago
0.37.1
8 months ago
0.37.0
8 months ago
0.36.0
8 months ago
0.35.0
9 months ago
0.34.0
9 months ago
0.33.0
10 months ago
0.32.0
10 months ago
0.31.0
10 months ago
0.30.0
10 months ago
0.29.0
10 months ago
0.28.0
11 months ago
0.21.0
1 year ago
0.27.0
11 months ago
0.26.0
11 months ago
0.25.0
12 months ago
0.24.0
12 months ago
0.23.0
12 months ago
0.22.0
12 months ago
0.20.0
1 year ago
0.19.0
1 year ago
0.17.0
1 year ago
0.18.0
1 year ago
0.14.0
1 year ago
0.15.0
1 year ago
0.16.0
1 year ago
0.10.0
1 year ago
0.11.0
1 year ago
0.9.0
1 year ago
0.12.0
1 year ago
0.8.0
1 year ago
0.13.0
1 year ago
0.7.0
1 year ago
0.6.0
2 years ago
0.5.0
2 years ago
0.5.1
2 years ago
0.1.0
2 years ago
0.3.0
2 years ago
0.2.0
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.3
2 years ago