@sei-js/create-sei 1.0.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +5 -4
- package/dist/extensions/precompiles/src/components/default/index.tsx +44 -51
- package/dist/main.js +112 -34
- package/dist/templates/next-template/.env.example +1 -1
- package/dist/templates/next-template/README.md +57 -27
- package/dist/templates/next-template/biome.json +3 -4
- package/dist/templates/next-template/gitignore +41 -0
- package/dist/templates/next-template/next.config.mjs +12 -6
- package/dist/templates/next-template/package.json +36 -27
- package/dist/templates/next-template/public/brand/powered-by-sei-light.png +0 -0
- package/dist/templates/next-template/public/brand/sei-lockup-light.svg +7 -0
- package/dist/templates/next-template/public/brand/sei-mark.png +0 -0
- package/dist/templates/next-template/src/app/development/page.tsx +29 -30
- package/dist/templates/next-template/src/app/favicon.ico/route.ts +3 -0
- package/dist/templates/next-template/src/app/globals.css +40 -3
- package/dist/templates/next-template/src/app/layout.tsx +14 -13
- package/dist/templates/next-template/src/app/page.tsx +3 -3
- package/dist/templates/next-template/src/app/resources/page.tsx +34 -51
- package/dist/templates/next-template/src/app/resources/resources.ts +19 -32
- package/dist/templates/next-template/src/components/default/examples.ts +4 -7
- package/dist/templates/next-template/src/components/default/index.tsx +46 -46
- package/dist/templates/next-template/src/components/index.ts +3 -3
- package/dist/templates/next-template/src/components/landing/index.tsx +19 -97
- package/dist/templates/next-template/src/components/providers/index.ts +1 -1
- package/dist/templates/next-template/src/components/providers/providers.tsx +19 -25
- package/dist/templates/next-template/src/components/shell/index.ts +1 -1
- package/dist/templates/next-template/src/components/shell/shell.tsx +14 -7
- package/dist/templates/next-template/src/theme.ts +1 -0
- package/package.json +20 -9
- package/.rsyncignore +0 -11
- package/CHANGELOG.md +0 -131
- package/biome.json +0 -8
- package/dist/extensions/precompiles/package.json +0 -44
- package/dist/main.test.js +0 -34
- package/dist/templates/next-template/public/favicon.ico +0 -0
- package/extensions/precompiles/package.json +0 -44
- package/extensions/precompiles/src/components/default/index.tsx +0 -201
- package/jest.config.js +0 -14
- package/src/main.test.ts +0 -38
- package/src/main.ts +0 -159
- package/templates/next-template/.env.example +0 -8
- package/templates/next-template/.eslintrc.json +0 -1
- package/templates/next-template/.nvmrc +0 -1
- package/templates/next-template/README.md +0 -54
- package/templates/next-template/biome.json +0 -56
- package/templates/next-template/next-env.d.ts +0 -5
- package/templates/next-template/next.config.mjs +0 -17
- package/templates/next-template/package.json +0 -46
- package/templates/next-template/postcss.config.mjs +0 -6
- package/templates/next-template/public/favicon.ico +0 -0
- package/templates/next-template/src/app/development/page.tsx +0 -260
- package/templates/next-template/src/app/globals.css +0 -16
- package/templates/next-template/src/app/layout.tsx +0 -30
- package/templates/next-template/src/app/page.tsx +0 -10
- package/templates/next-template/src/app/resources/page.tsx +0 -175
- package/templates/next-template/src/app/resources/resources.ts +0 -56
- package/templates/next-template/src/components/default/examples.ts +0 -63
- package/templates/next-template/src/components/default/index.tsx +0 -402
- package/templates/next-template/src/components/index.ts +0 -3
- package/templates/next-template/src/components/landing/index.tsx +0 -155
- package/templates/next-template/src/components/providers/index.ts +0 -1
- package/templates/next-template/src/components/providers/providers.tsx +0 -108
- package/templates/next-template/src/components/shell/index.ts +0 -1
- package/templates/next-template/src/components/shell/shell.tsx +0 -88
- package/templates/next-template/tailwind.config.js +0 -5
- package/templates/next-template/tsconfig.json +0 -27
- package/tsconfig.json +0 -19
|
@@ -5,12 +5,18 @@ const nextConfig = {
|
|
|
5
5
|
ignoreDuringBuilds: true,
|
|
6
6
|
},
|
|
7
7
|
images: {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
// Images stay unoptimized so the generated app needs no native Sharp
|
|
9
|
+
// build. Keep the manifest's Sharp override: Next declares
|
|
10
|
+
// `^0.34.3 || ^0.35.4`, and the 0.34.x half is still inside
|
|
11
|
+
// GHSA-rgj7-g3m4-5g8c, so 0.35.4 is the advisory floor. Loosening that
|
|
12
|
+
// pin reintroduces a high finding even though this flag is off.
|
|
13
|
+
unoptimized: true,
|
|
14
|
+
},
|
|
15
|
+
webpack: (config) => {
|
|
16
|
+
// MetaMask SDK references React Native storage from a mobile-only code path.
|
|
17
|
+
// Exclude it from this browser application instead of installing React Native.
|
|
18
|
+
config.resolve.alias["@react-native-async-storage/async-storage"] = false;
|
|
19
|
+
return config;
|
|
14
20
|
},
|
|
15
21
|
};
|
|
16
22
|
|
|
@@ -12,35 +12,44 @@
|
|
|
12
12
|
"format": "biome format --write .",
|
|
13
13
|
"format:check": "biome format .",
|
|
14
14
|
"check": "biome check .",
|
|
15
|
-
"check:fix": "biome check --write ."
|
|
16
|
-
"deploy": "vercel --prod"
|
|
15
|
+
"check:fix": "biome check --write ."
|
|
17
16
|
},
|
|
18
17
|
"dependencies": {
|
|
19
|
-
"@mantine/code-highlight": "
|
|
20
|
-
"@mantine/core": "
|
|
21
|
-
"@mantine/hooks": "
|
|
22
|
-
"@mantine/notifications": "
|
|
23
|
-
"@rainbow-me/rainbowkit": "
|
|
24
|
-
"@sei-js/precompiles": "
|
|
25
|
-
"@tabler/icons-react": "
|
|
26
|
-
"@tailwindcss/postcss": "
|
|
27
|
-
"@tanstack/react-query": "
|
|
28
|
-
"ethers": "
|
|
29
|
-
"next": "15.
|
|
30
|
-
"pino-pretty": "
|
|
31
|
-
"postcss": "
|
|
32
|
-
"react": "
|
|
33
|
-
"react-dom": "
|
|
34
|
-
"tailwindcss": "
|
|
35
|
-
"viem": "
|
|
36
|
-
"wagmi": "
|
|
18
|
+
"@mantine/code-highlight": "8.2.5",
|
|
19
|
+
"@mantine/core": "8.2.5",
|
|
20
|
+
"@mantine/hooks": "8.2.5",
|
|
21
|
+
"@mantine/notifications": "8.2.5",
|
|
22
|
+
"@rainbow-me/rainbowkit": "2.2.8",
|
|
23
|
+
"@sei-js/precompiles": "3.0.0",
|
|
24
|
+
"@tabler/icons-react": "3.34.1",
|
|
25
|
+
"@tailwindcss/postcss": "4.3.3",
|
|
26
|
+
"@tanstack/react-query": "5.85.3",
|
|
27
|
+
"ethers": "6.17.0",
|
|
28
|
+
"next": "15.5.25",
|
|
29
|
+
"pino-pretty": "13.1.3",
|
|
30
|
+
"postcss": "8.5.26",
|
|
31
|
+
"react": "19.1.2",
|
|
32
|
+
"react-dom": "19.1.2",
|
|
33
|
+
"tailwindcss": "4.3.3",
|
|
34
|
+
"viem": "2.55.19",
|
|
35
|
+
"wagmi": "2.16.9"
|
|
37
36
|
},
|
|
38
37
|
"devDependencies": {
|
|
39
|
-
"@biomejs/biome": "
|
|
40
|
-
"@types/node": "
|
|
41
|
-
"@types/react": "
|
|
42
|
-
"@types/react-dom": "
|
|
43
|
-
"autoprefixer": "
|
|
44
|
-
"typescript": "
|
|
45
|
-
}
|
|
38
|
+
"@biomejs/biome": "2.5.8",
|
|
39
|
+
"@types/node": "24.3.0",
|
|
40
|
+
"@types/react": "19.1.10",
|
|
41
|
+
"@types/react-dom": "19.1.7",
|
|
42
|
+
"autoprefixer": "10.5.4",
|
|
43
|
+
"typescript": "5.9.2"
|
|
44
|
+
},
|
|
45
|
+
"overrides": {
|
|
46
|
+
"@metamask/sdk": "0.33.1",
|
|
47
|
+
"@metamask/sdk-communication-layer": "0.33.1",
|
|
48
|
+
"postcss": "8.5.26",
|
|
49
|
+
"sharp": "0.35.4",
|
|
50
|
+
"use-sync-external-store": "1.6.0",
|
|
51
|
+
"uuid": "11.1.1",
|
|
52
|
+
"ws": "8.21.3"
|
|
53
|
+
},
|
|
54
|
+
"packageManager": "bun@1.3.14"
|
|
46
55
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg width="312" height="120" viewBox="0 0 312 120" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M39.4746 94.8887C35.8709 91.6137 30.3678 91.6134 26.7643 94.8887L18.3619 102.526C18.106 102.759 18.099 103.159 18.3493 103.398C29.143 113.683 43.7664 120 59.8693 120C75.9748 120 90.6018 113.682 101.396 103.395C101.646 103.156 101.639 102.756 101.383 102.523L92.9835 94.8887C89.3799 91.6136 83.8768 91.6136 80.2732 94.8887L73.6955 100.868C65.8581 107.991 53.8895 107.991 46.0523 100.868L39.4746 94.8887ZM59.8693 0C28.5715 4.93622e-05 2.8597 23.8596 0.00351713 54.3445C-0.0468546 54.8821 0.585694 55.1949 0.986042 54.8326L3.17704 52.8494C11.017 45.7531 22.9623 45.7654 30.7877 52.8778L37.3871 58.8754C40.9907 62.1504 46.4938 62.1505 50.0974 58.8754L56.6617 52.9086C64.5066 45.7783 76.4884 45.7858 84.3241 52.9261L94.9485 62.608C95.6833 63.2776 95.7357 64.4158 95.066 65.1505L92.5401 67.9223L90.0142 70.6948C89.3447 71.4294 88.2063 71.4818 87.4717 70.8123L76.8472 61.1313C73.2443 57.8482 67.7348 57.8444 64.1277 61.1229L57.5634 67.0897C49.726 74.213 37.7575 74.2131 29.9202 67.0897L23.3217 61.0921C19.7236 57.822 14.2312 57.816 10.6264 61.0788L0.842874 69.9354C0.690765 70.0731 0.619382 70.2792 0.655057 70.4813C2.17243 79.0752 5.52196 87.0382 10.2881 93.9545C10.4927 94.2514 10.9118 94.2971 11.1787 94.0546L19.2983 86.6743C27.1356 79.551 39.1041 79.551 46.9415 86.6743L53.5191 92.6536C57.1227 95.9286 62.6259 95.9285 66.2295 92.6536L72.8071 86.6743C80.6444 79.5513 92.6122 79.5513 100.45 86.6743L108.564 94.0496C108.831 94.2921 109.25 94.2464 109.455 93.9494C116.106 84.2949 120 72.601 120 59.9996C120 46.9934 115.852 34.954 108.805 25.1259C108.706 24.9875 108.552 24.8976 108.382 24.8845C105.868 24.6902 103.291 25.4982 101.296 27.3114L94.7319 33.2782C86.8945 40.4014 74.926 40.4016 67.0887 33.2782L60.4902 27.2806C56.892 24.0104 51.3997 24.0045 47.7948 27.2672L37.0229 37.0183C36.2859 37.6853 35.1474 37.6285 34.4803 36.8916L31.9628 34.1107L29.4469 31.3307C28.7799 30.5937 28.8366 29.456 29.5735 28.7889L40.3455 19.0379C48.1854 11.9415 60.1308 11.9539 67.9562 19.0662L74.5555 25.0639C78.1591 28.3389 83.6623 28.3389 87.2658 25.0639L93.8302 19.0971C95.4217 17.6505 97.1836 16.4974 99.0465 15.6382C99.45 15.4521 99.5429 14.9098 99.2067 14.6193C88.6622 5.51073 74.9108 0 59.8693 0Z" fill="black"/>
|
|
3
|
+
<path d="M180.224 1.35791C187.332 1.35791 193.417 2.59704 198.479 5.07406C203.649 7.55111 207.526 11.1587 210.111 15.8974C212.803 20.6361 214.149 26.4519 214.149 33.3446V35.2831H195.248V33.3446C195.248 29.8983 194.71 26.9368 193.633 24.4598C192.556 21.9827 190.887 20.0975 188.625 18.8051C186.471 17.4051 183.724 16.7051 180.386 16.7051H178.932C173.978 16.7051 170.155 18.1052 167.462 20.9052C164.878 23.5976 163.585 27.152 163.585 31.5676V32.3753C163.585 34.9601 164.07 37.3299 165.039 39.4839C166.009 41.6377 167.516 43.5763 169.563 45.2994C171.609 46.9148 174.193 48.2071 177.317 49.1764L192.179 54.0226C197.456 55.7458 201.818 58.0079 205.265 60.8081C208.711 63.6082 211.296 67.1082 213.019 71.3083C214.85 75.4008 215.765 80.1936 215.765 85.6862V86.4939C215.765 93.3866 214.365 99.2563 211.565 104.103C208.765 108.841 204.672 112.45 199.288 114.927C194.01 117.404 187.656 118.642 180.224 118.642H178.932C170.316 118.642 163.208 117.296 157.608 114.604C152.115 111.911 148.13 108.088 145.653 103.133C143.176 98.0716 141.938 91.9327 141.938 84.717V82.1323H161V84.717C161 88.7018 161.592 92.0408 162.777 94.7333C163.962 97.4257 165.901 99.5256 168.593 101.033C171.286 102.541 174.786 103.295 179.094 103.295H180.224C183.671 103.295 186.633 102.703 189.11 101.518C191.587 100.226 193.418 98.3949 194.602 96.0256C195.895 93.6562 196.541 90.8557 196.541 87.6247V86.817C196.541 84.0169 196.002 81.54 194.925 79.3861C193.956 77.2321 192.448 75.3469 190.402 73.7314C188.356 72.0084 185.825 70.6622 182.81 69.6929L168.27 65.0082C163.208 63.3927 158.9 61.1312 155.346 58.2234C151.792 55.2079 149.1 51.5996 147.269 47.3994C145.438 43.0915 144.522 38.1911 144.522 32.6984V31.8907C144.522 25.5365 145.869 20.0976 148.561 15.5743C151.362 10.9434 155.346 7.4434 160.516 5.07406C165.685 2.59702 171.824 1.35794 178.932 1.35791H180.224Z" fill="black"/>
|
|
4
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M255.618 33.9908C262.403 33.9908 268.004 35.2292 272.419 37.7062C276.943 40.1833 280.282 44.0607 282.436 49.3379C284.59 54.5074 285.666 61.2386 285.667 69.5314V77.286C285.667 78.4707 285.613 79.6554 285.505 80.84H241.079V82.1323C241.079 87.8403 241.563 92.4177 242.533 95.8641C243.502 99.3104 244.957 101.787 246.895 103.295C248.834 104.695 251.364 105.395 254.488 105.395H255.618C258.526 105.395 260.788 104.91 262.404 103.941C264.127 102.864 265.312 101.464 265.958 99.7411C266.712 97.9103 267.088 95.7025 267.089 93.1178V91.664H284.859V92.9563C284.859 98.0179 283.889 102.433 281.951 106.203C280.12 109.972 277.05 112.934 272.742 115.088C268.435 117.242 262.78 118.319 255.78 118.319H254.488C247.487 118.319 241.618 117.027 236.879 114.442C232.14 111.75 228.586 107.657 226.216 102.164C223.847 96.5639 222.662 89.4558 222.662 80.84V71.4699C222.662 62.8541 223.847 55.7998 226.216 50.3072C228.586 44.7068 232.086 40.6141 236.717 38.0293C241.456 35.3369 247.326 33.9908 254.326 33.9908H255.618ZM254.164 46.7533C249.857 46.7533 246.572 48.4226 244.31 51.7611C242.23 54.9858 241.154 60.3708 241.083 67.9159H267.735V65.8159C267.735 61.0772 267.25 57.3074 266.281 54.5073C265.312 51.7073 263.911 49.7149 262.081 48.5302C260.25 47.3455 257.988 46.7533 255.295 46.7533H254.164Z" fill="black"/>
|
|
5
|
+
<path d="M311.615 117.35H293.522V34.96H311.615V117.35Z" fill="black"/>
|
|
6
|
+
<path d="M311.615 22.6828H293.522V4.91252H311.615V22.6828Z" fill="black"/>
|
|
7
|
+
</svg>
|
|
Binary file
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Button, Card, Code, Container, Group, Paper, Stack, Text, ThemeIcon, Title } from "@mantine/core";
|
|
4
|
+
import { IconCode, IconExternalLink } from "@tabler/icons-react";
|
|
5
|
+
import { Shell } from "@/components";
|
|
6
6
|
|
|
7
7
|
export default function DevelopmentPage() {
|
|
8
8
|
return (
|
|
@@ -12,11 +12,11 @@ export default function DevelopmentPage() {
|
|
|
12
12
|
{/* Header */}
|
|
13
13
|
<div>
|
|
14
14
|
<Group gap="md" align="center" mb="lg">
|
|
15
|
-
<ThemeIcon size={48} radius="md"
|
|
15
|
+
<ThemeIcon size={48} radius="md" variant="outline" color="seiMaroon">
|
|
16
16
|
<IconCode size={24} />
|
|
17
17
|
</ThemeIcon>
|
|
18
18
|
<div>
|
|
19
|
-
<Title order={1} fw={700} c="
|
|
19
|
+
<Title order={1} fw={700} c="seiMaroon.9" className="sei-heading">
|
|
20
20
|
Continue Development
|
|
21
21
|
</Title>
|
|
22
22
|
<Text size="lg" c="gray.6" mt={4}>
|
|
@@ -37,61 +37,61 @@ export default function DevelopmentPage() {
|
|
|
37
37
|
<Paper
|
|
38
38
|
p="md"
|
|
39
39
|
radius="md"
|
|
40
|
-
bg="
|
|
40
|
+
bg="white"
|
|
41
41
|
withBorder
|
|
42
42
|
component="a"
|
|
43
43
|
href="https://wagmi.sh/react/getting-started"
|
|
44
44
|
target="_blank"
|
|
45
|
-
style={{ textDecoration:
|
|
45
|
+
style={{ textDecoration: "none", cursor: "pointer" }}
|
|
46
46
|
>
|
|
47
47
|
<Group gap="sm" justify="space-between">
|
|
48
48
|
<Group gap="sm">
|
|
49
|
-
<Text fw={600} c="
|
|
49
|
+
<Text fw={600} c="seiMaroon.9">
|
|
50
50
|
Wagmi:
|
|
51
51
|
</Text>
|
|
52
52
|
<Text c="gray.7">React hooks for Ethereum - useAccount, useBalance, useSendTransaction, useContract</Text>
|
|
53
53
|
</Group>
|
|
54
|
-
<IconExternalLink size={16} color="var(--
|
|
54
|
+
<IconExternalLink size={16} color="var(--sei-maroon)" />
|
|
55
55
|
</Group>
|
|
56
56
|
</Paper>
|
|
57
57
|
<Paper
|
|
58
58
|
p="md"
|
|
59
59
|
radius="md"
|
|
60
|
-
bg="
|
|
60
|
+
bg="white"
|
|
61
61
|
withBorder
|
|
62
62
|
component="a"
|
|
63
63
|
href="https://viem.sh/"
|
|
64
64
|
target="_blank"
|
|
65
|
-
style={{ textDecoration:
|
|
65
|
+
style={{ textDecoration: "none", cursor: "pointer" }}
|
|
66
66
|
>
|
|
67
67
|
<Group gap="sm" justify="space-between">
|
|
68
68
|
<Group gap="sm">
|
|
69
|
-
<Text fw={600} c="
|
|
69
|
+
<Text fw={600} c="seiMaroon.9">
|
|
70
70
|
Viem:
|
|
71
71
|
</Text>
|
|
72
72
|
<Text c="gray.7">TypeScript interface for Ethereum - formatEther, parseEther, contract interactions</Text>
|
|
73
73
|
</Group>
|
|
74
|
-
<IconExternalLink size={16} color="var(--
|
|
74
|
+
<IconExternalLink size={16} color="var(--sei-maroon)" />
|
|
75
75
|
</Group>
|
|
76
76
|
</Paper>
|
|
77
77
|
<Paper
|
|
78
78
|
p="md"
|
|
79
79
|
radius="md"
|
|
80
|
-
bg="
|
|
80
|
+
bg="white"
|
|
81
81
|
withBorder
|
|
82
82
|
component="a"
|
|
83
83
|
href="https://www.rainbowkit.com/docs/introduction"
|
|
84
84
|
target="_blank"
|
|
85
|
-
style={{ textDecoration:
|
|
85
|
+
style={{ textDecoration: "none", cursor: "pointer" }}
|
|
86
86
|
>
|
|
87
87
|
<Group gap="sm" justify="space-between">
|
|
88
88
|
<Group gap="sm">
|
|
89
|
-
<Text fw={600} c="
|
|
89
|
+
<Text fw={600} c="seiMaroon.9">
|
|
90
90
|
RainbowKit:
|
|
91
91
|
</Text>
|
|
92
92
|
<Text c="gray.7">Beautiful wallet connection UI with support for 100+ wallets</Text>
|
|
93
93
|
</Group>
|
|
94
|
-
<IconExternalLink size={16} color="var(--
|
|
94
|
+
<IconExternalLink size={16} color="var(--sei-maroon)" />
|
|
95
95
|
</Group>
|
|
96
96
|
</Paper>
|
|
97
97
|
</Stack>
|
|
@@ -109,8 +109,7 @@ export default function DevelopmentPage() {
|
|
|
109
109
|
<Code block>
|
|
110
110
|
{`# .env.local
|
|
111
111
|
NEXT_PUBLIC_CHAIN=mainnet # Default: Sei Pacific-1
|
|
112
|
-
# NEXT_PUBLIC_CHAIN=testnet # Sei Atlantic-2
|
|
113
|
-
# NEXT_PUBLIC_CHAIN=devnet # Sei Devnet`}
|
|
112
|
+
# NEXT_PUBLIC_CHAIN=testnet # Sei Atlantic-2`}
|
|
114
113
|
</Code>
|
|
115
114
|
</Paper>
|
|
116
115
|
<Text size="sm" c="gray.6">
|
|
@@ -156,7 +155,7 @@ const customSeiChain = defineChain({
|
|
|
156
155
|
<Text c="gray.7">You're all set to build! Here are some ideas to get you started:</Text>
|
|
157
156
|
<Stack gap="sm">
|
|
158
157
|
<Group gap="sm">
|
|
159
|
-
<Text fw={600} c="
|
|
158
|
+
<Text fw={600} c="gray.7" ff="var(--sei-font-mono)">
|
|
160
159
|
•
|
|
161
160
|
</Text>
|
|
162
161
|
<Text c="gray.7">
|
|
@@ -164,7 +163,7 @@ const customSeiChain = defineChain({
|
|
|
164
163
|
</Text>
|
|
165
164
|
</Group>
|
|
166
165
|
<Group gap="sm">
|
|
167
|
-
<Text fw={600} c="
|
|
166
|
+
<Text fw={600} c="gray.7" ff="var(--sei-font-mono)">
|
|
168
167
|
•
|
|
169
168
|
</Text>
|
|
170
169
|
<Text c="gray.7">
|
|
@@ -172,7 +171,7 @@ const customSeiChain = defineChain({
|
|
|
172
171
|
</Text>
|
|
173
172
|
</Group>
|
|
174
173
|
<Group gap="sm">
|
|
175
|
-
<Text fw={600} c="
|
|
174
|
+
<Text fw={600} c="gray.7" ff="var(--sei-font-mono)">
|
|
176
175
|
•
|
|
177
176
|
</Text>
|
|
178
177
|
<Text c="gray.7">
|
|
@@ -180,13 +179,13 @@ const customSeiChain = defineChain({
|
|
|
180
179
|
</Text>
|
|
181
180
|
</Group>
|
|
182
181
|
<Group gap="sm">
|
|
183
|
-
<Text fw={600} c="
|
|
182
|
+
<Text fw={600} c="gray.7" ff="var(--sei-font-mono)">
|
|
184
183
|
•
|
|
185
184
|
</Text>
|
|
186
185
|
<Text c="gray.7">Implement multi-chain support by extending the chain configuration</Text>
|
|
187
186
|
</Group>
|
|
188
187
|
<Group gap="sm">
|
|
189
|
-
<Text fw={600} c="
|
|
188
|
+
<Text fw={600} c="gray.7" ff="var(--sei-font-mono)">
|
|
190
189
|
•
|
|
191
190
|
</Text>
|
|
192
191
|
<Text c="gray.7">Add more Sei precompiles for advanced blockchain interactions</Text>
|
|
@@ -207,7 +206,7 @@ const customSeiChain = defineChain({
|
|
|
207
206
|
href="https://wagmi.sh/react/getting-started"
|
|
208
207
|
target="_blank"
|
|
209
208
|
variant="light"
|
|
210
|
-
|
|
209
|
+
color="gray"
|
|
211
210
|
size="sm"
|
|
212
211
|
radius="md"
|
|
213
212
|
leftSection={<IconExternalLink size={14} />}
|
|
@@ -219,7 +218,7 @@ const customSeiChain = defineChain({
|
|
|
219
218
|
href="https://viem.sh/"
|
|
220
219
|
target="_blank"
|
|
221
220
|
variant="light"
|
|
222
|
-
|
|
221
|
+
color="gray"
|
|
223
222
|
size="sm"
|
|
224
223
|
radius="md"
|
|
225
224
|
leftSection={<IconExternalLink size={14} />}
|
|
@@ -230,8 +229,8 @@ const customSeiChain = defineChain({
|
|
|
230
229
|
component="a"
|
|
231
230
|
href="https://docs.sei.io/"
|
|
232
231
|
target="_blank"
|
|
233
|
-
variant="
|
|
234
|
-
|
|
232
|
+
variant="filled"
|
|
233
|
+
color="seiMaroon"
|
|
235
234
|
size="sm"
|
|
236
235
|
radius="md"
|
|
237
236
|
leftSection={<IconExternalLink size={14} />}
|
|
@@ -243,7 +242,7 @@ const customSeiChain = defineChain({
|
|
|
243
242
|
href="https://www.rainbowkit.com/docs/introduction"
|
|
244
243
|
target="_blank"
|
|
245
244
|
variant="light"
|
|
246
|
-
|
|
245
|
+
color="gray"
|
|
247
246
|
size="sm"
|
|
248
247
|
radius="md"
|
|
249
248
|
leftSection={<IconExternalLink size={14} />}
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
@import "tailwindcss";
|
|
2
2
|
|
|
3
3
|
@theme {
|
|
4
|
-
--color-sei-
|
|
5
|
-
--color-sei-
|
|
4
|
+
--color-sei-black: #000000;
|
|
5
|
+
--color-sei-white: #ffffff;
|
|
6
|
+
--color-sei-maroon: #600014;
|
|
7
|
+
--color-sei-gold: #966f22;
|
|
8
|
+
--color-sei-neutral-25: #f5f5f7;
|
|
9
|
+
--color-sei-neutral-50: #cccccc;
|
|
10
|
+
--color-sei-neutral-100: #999999;
|
|
11
|
+
--color-sei-neutral-200: #666666;
|
|
12
|
+
--color-sei-neutral-400: #333333;
|
|
13
|
+
--color-sei-neutral-600: #131313;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
:root {
|
|
17
|
+
--sei-black: #000000;
|
|
18
|
+
--sei-white: #ffffff;
|
|
19
|
+
--sei-maroon: #600014;
|
|
20
|
+
--sei-gold: #966f22;
|
|
21
|
+
--sei-neutral-25: #f5f5f7;
|
|
22
|
+
--sei-neutral-50: #cccccc;
|
|
23
|
+
--sei-neutral-100: #999999;
|
|
24
|
+
--sei-neutral-200: #666666;
|
|
25
|
+
--sei-neutral-400: #333333;
|
|
26
|
+
--sei-neutral-600: #131313;
|
|
27
|
+
--sei-font-display: "Arial Narrow", "Helvetica Neue Condensed", "Helvetica Neue", Arial, sans-serif;
|
|
28
|
+
--sei-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
29
|
+
--sei-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
|
|
6
30
|
}
|
|
7
31
|
|
|
8
32
|
@layer base {
|
|
@@ -11,6 +35,19 @@
|
|
|
11
35
|
}
|
|
12
36
|
|
|
13
37
|
body {
|
|
14
|
-
@apply h-full
|
|
38
|
+
@apply h-full antialiased;
|
|
39
|
+
background: var(--sei-neutral-25);
|
|
40
|
+
color: var(--sei-black);
|
|
41
|
+
font-family: var(--sei-font-body);
|
|
15
42
|
}
|
|
16
43
|
}
|
|
44
|
+
|
|
45
|
+
.sei-heading {
|
|
46
|
+
font-family: var(--sei-font-display);
|
|
47
|
+
letter-spacing: -0.015em;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.sei-brand-link {
|
|
51
|
+
display: inline-flex;
|
|
52
|
+
padding: 4px 12px;
|
|
53
|
+
}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
5
|
-
import type { ReactNode } from 'react';
|
|
1
|
+
import { ColorSchemeScript } from "@mantine/core";
|
|
2
|
+
import type { Metadata } from "next";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
import { Providers } from "@/components/providers";
|
|
6
5
|
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
const inter = Inter({ subsets: ['latin'] });
|
|
6
|
+
import "./globals.css";
|
|
7
|
+
import "@mantine/core/styles.css";
|
|
8
|
+
import "@mantine/notifications/styles.css";
|
|
12
9
|
|
|
13
10
|
export const metadata: Metadata = {
|
|
14
|
-
title:
|
|
15
|
-
description:
|
|
11
|
+
title: "Sei Next App (Wagmi)",
|
|
12
|
+
description: "Generated by create sei app",
|
|
13
|
+
icons: {
|
|
14
|
+
icon: "/brand/sei-mark.png",
|
|
15
|
+
apple: "/brand/sei-mark.png",
|
|
16
|
+
},
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
export default function RootLayout({ children }: Readonly<{ children: ReactNode }>) {
|
|
@@ -22,7 +23,7 @@ export default function RootLayout({ children }: Readonly<{ children: ReactNode
|
|
|
22
23
|
<title>Sei Next App (Wagmi)</title>
|
|
23
24
|
<ColorSchemeScript defaultColorScheme="light" />
|
|
24
25
|
</head>
|
|
25
|
-
<body
|
|
26
|
+
<body>
|
|
26
27
|
<Providers>{children}</Providers>
|
|
27
28
|
</body>
|
|
28
29
|
</html>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useAccount } from "wagmi";
|
|
4
|
+
import { Default, Landing, Shell } from "@/components";
|
|
5
5
|
|
|
6
6
|
export default function Home() {
|
|
7
7
|
const { isConnected } = useAccount();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Card, Code, Container, Group, Paper, SimpleGrid, Stack, Text, ThemeIcon, Title } from "@mantine/core";
|
|
2
|
+
import { IconBook, IconRobot, IconTerminal } from "@tabler/icons-react";
|
|
3
|
+
import { developerResources, socialLinks } from "@/app/resources/resources";
|
|
4
|
+
import { Shell } from "@/components";
|
|
5
5
|
|
|
6
6
|
export default function ResourcesPage() {
|
|
7
7
|
return (
|
|
@@ -11,11 +11,11 @@ export default function ResourcesPage() {
|
|
|
11
11
|
{/* Header */}
|
|
12
12
|
<div>
|
|
13
13
|
<Group gap="md" align="center" mb="lg">
|
|
14
|
-
<ThemeIcon size={48} radius="md"
|
|
14
|
+
<ThemeIcon size={48} radius="md" variant="outline" color="seiMaroon">
|
|
15
15
|
<IconBook size={24} />
|
|
16
16
|
</ThemeIcon>
|
|
17
17
|
<div>
|
|
18
|
-
<Title order={1} fw={700} c="
|
|
18
|
+
<Title order={1} fw={700} c="seiMaroon.9" className="sei-heading">
|
|
19
19
|
Developer Resources
|
|
20
20
|
</Title>
|
|
21
21
|
<Text size="lg" c="gray.6" mt={4}>
|
|
@@ -32,10 +32,10 @@ export default function ResourcesPage() {
|
|
|
32
32
|
📚 Documentation & Tools
|
|
33
33
|
</Title>
|
|
34
34
|
<SimpleGrid cols={{ base: 1, sm: 2, lg: 2 }} spacing="lg">
|
|
35
|
-
{developerResources.map(({ title, description, href, icon: Icon
|
|
35
|
+
{developerResources.map(({ title, description, href, icon: Icon }) => (
|
|
36
36
|
<Card key={title} withBorder radius="lg" p="xl" component="a" href={href} target="_blank" rel="noreferrer" shadow="sm">
|
|
37
37
|
<Group align="flex-start" wrap="nowrap" gap="md">
|
|
38
|
-
<ThemeIcon variant="
|
|
38
|
+
<ThemeIcon variant="outline" color="gray" size={40} radius="md">
|
|
39
39
|
<Icon size={22} />
|
|
40
40
|
</ThemeIcon>
|
|
41
41
|
<Stack gap={6} flex={1}>
|
|
@@ -63,7 +63,7 @@ export default function ResourcesPage() {
|
|
|
63
63
|
<Stack gap="lg">
|
|
64
64
|
<Stack gap="xs">
|
|
65
65
|
<Group gap="md">
|
|
66
|
-
<ThemeIcon size={40} radius="md"
|
|
66
|
+
<ThemeIcon size={40} radius="md" variant="outline" color="seiMaroon">
|
|
67
67
|
<IconRobot size={20} />
|
|
68
68
|
</ThemeIcon>
|
|
69
69
|
<Title order={4} fw={600} c="gray.9">
|
|
@@ -96,46 +96,29 @@ export default function ResourcesPage() {
|
|
|
96
96
|
</Stack>
|
|
97
97
|
</Paper>
|
|
98
98
|
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
rel="noreferrer"
|
|
123
|
-
>
|
|
124
|
-
<Group gap="sm">
|
|
125
|
-
<ThemeIcon size={32} radius="md" color="orange" variant="light">
|
|
126
|
-
<IconTerminal size={16} />
|
|
127
|
-
</ThemeIcon>
|
|
128
|
-
<Stack gap={2} flex={1}>
|
|
129
|
-
<Text fw={600} size="sm" c="gray.9">
|
|
130
|
-
Environment Variables
|
|
131
|
-
</Text>
|
|
132
|
-
<Text size="xs" c="dimmed">
|
|
133
|
-
Configure your setup
|
|
134
|
-
</Text>
|
|
135
|
-
</Stack>
|
|
136
|
-
</Group>
|
|
137
|
-
</Card>
|
|
138
|
-
</SimpleGrid>
|
|
99
|
+
<Card
|
|
100
|
+
withBorder
|
|
101
|
+
radius="md"
|
|
102
|
+
p="md"
|
|
103
|
+
component="a"
|
|
104
|
+
href="https://github.com/sei-protocol/sei-js/tree/main/packages/mcp-server#readme"
|
|
105
|
+
target="_blank"
|
|
106
|
+
rel="noreferrer"
|
|
107
|
+
>
|
|
108
|
+
<Group gap="sm">
|
|
109
|
+
<ThemeIcon size={32} radius="md" variant="outline" color="seiMaroon">
|
|
110
|
+
<IconBook size={16} />
|
|
111
|
+
</ThemeIcon>
|
|
112
|
+
<Stack gap={2} flex={1}>
|
|
113
|
+
<Text fw={600} size="sm" c="gray.9">
|
|
114
|
+
MCP Server Guide
|
|
115
|
+
</Text>
|
|
116
|
+
<Text size="xs" c="dimmed">
|
|
117
|
+
Setup instructions and available tools
|
|
118
|
+
</Text>
|
|
119
|
+
</Stack>
|
|
120
|
+
</Group>
|
|
121
|
+
</Card>
|
|
139
122
|
</Stack>
|
|
140
123
|
</Card>
|
|
141
124
|
</Stack>
|
|
@@ -148,10 +131,10 @@ export default function ResourcesPage() {
|
|
|
148
131
|
🌐 Community & Social
|
|
149
132
|
</Title>
|
|
150
133
|
<SimpleGrid cols={{ base: 1, sm: 2, lg: 3 }} spacing="lg">
|
|
151
|
-
{socialLinks.map(({ title, description, href, icon: Icon
|
|
134
|
+
{socialLinks.map(({ title, description, href, icon: Icon }) => (
|
|
152
135
|
<Card key={title} withBorder radius="lg" p="lg" component="a" href={href} target="_blank" rel="noreferrer" shadow="sm">
|
|
153
136
|
<Group align="flex-start" wrap="nowrap" gap="md">
|
|
154
|
-
<ThemeIcon variant="
|
|
137
|
+
<ThemeIcon variant="outline" color="gray" size={36} radius="md">
|
|
155
138
|
<Icon size={20} />
|
|
156
139
|
</ThemeIcon>
|
|
157
140
|
<Stack gap={4} flex={1}>
|
|
@@ -1,56 +1,43 @@
|
|
|
1
|
-
import { IconBook, IconBrandTelegram, IconBrandX, IconCode, IconPackage } from
|
|
1
|
+
import { IconBook, IconBrandTelegram, IconBrandX, IconCode, IconPackage } from "@tabler/icons-react";
|
|
2
2
|
|
|
3
3
|
export const developerResources = [
|
|
4
4
|
{
|
|
5
|
-
title:
|
|
6
|
-
description:
|
|
7
|
-
href:
|
|
5
|
+
title: "Sei Docs",
|
|
6
|
+
description: "Official protocol docs, guides, and references.",
|
|
7
|
+
href: "https://docs.sei.io/",
|
|
8
8
|
icon: IconBook,
|
|
9
|
-
color: 'violet',
|
|
10
9
|
},
|
|
11
10
|
{
|
|
12
|
-
title:
|
|
13
|
-
description:
|
|
14
|
-
href:
|
|
15
|
-
icon: IconBook,
|
|
16
|
-
color: 'grape',
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
title: 'Wagmi',
|
|
20
|
-
description: 'React hooks for Ethereum development.',
|
|
21
|
-
href: 'https://wagmi.sh/',
|
|
11
|
+
title: "Wagmi",
|
|
12
|
+
description: "React hooks for Ethereum development.",
|
|
13
|
+
href: "https://wagmi.sh/",
|
|
22
14
|
icon: IconCode,
|
|
23
|
-
color: 'blue',
|
|
24
15
|
},
|
|
25
16
|
{
|
|
26
|
-
title:
|
|
27
|
-
description:
|
|
28
|
-
href:
|
|
17
|
+
title: "Viem",
|
|
18
|
+
description: "TypeScript interface for Ethereum.",
|
|
19
|
+
href: "https://viem.sh/",
|
|
29
20
|
icon: IconPackage,
|
|
30
|
-
color: 'green',
|
|
31
21
|
},
|
|
32
22
|
] as const;
|
|
33
23
|
|
|
34
24
|
export const socialLinks = [
|
|
35
25
|
{
|
|
36
|
-
title:
|
|
37
|
-
description:
|
|
38
|
-
href:
|
|
26
|
+
title: "Developer Telegram",
|
|
27
|
+
description: "Chat with the community and get support.",
|
|
28
|
+
href: "https://t.me/seinetwork",
|
|
39
29
|
icon: IconBrandTelegram,
|
|
40
|
-
color: 'cyan',
|
|
41
30
|
},
|
|
42
31
|
{
|
|
43
|
-
title:
|
|
44
|
-
description:
|
|
45
|
-
href:
|
|
32
|
+
title: "Sei on X",
|
|
33
|
+
description: "Follow Sei Network updates on X (Twitter).",
|
|
34
|
+
href: "https://x.com/SeiNetwork",
|
|
46
35
|
icon: IconBrandX,
|
|
47
|
-
color: 'dark',
|
|
48
36
|
},
|
|
49
37
|
{
|
|
50
|
-
title:
|
|
51
|
-
description:
|
|
52
|
-
href:
|
|
38
|
+
title: "Sei Labs on X",
|
|
39
|
+
description: "Follow Sei Labs announcements on X (Twitter).",
|
|
40
|
+
href: "https://x.com/Sei_Labs",
|
|
53
41
|
icon: IconBrandX,
|
|
54
|
-
color: 'dark',
|
|
55
42
|
},
|
|
56
43
|
] as const;
|