@sei-js/create-sei 0.0.0 → 0.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.
Files changed (93) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +7 -11
  3. package/package.json +18 -26
  4. package/.eslintignore +0 -2
  5. package/dist/main.js +0 -161
  6. package/dist/templates/next-cosmos-template/.eslintrc.json +0 -3
  7. package/dist/templates/next-cosmos-template/README.md +0 -60
  8. package/dist/templates/next-cosmos-template/next-env.d.ts +0 -5
  9. package/dist/templates/next-cosmos-template/next.config.mjs +0 -14
  10. package/dist/templates/next-cosmos-template/package.json +0 -31
  11. package/dist/templates/next-cosmos-template/public/next.svg +0 -1
  12. package/dist/templates/next-cosmos-template/public/sei-logotype.svg +0 -15
  13. package/dist/templates/next-cosmos-template/public/vercel.svg +0 -1
  14. package/dist/templates/next-cosmos-template/src/app/components/Homepage/Examples.tsx +0 -177
  15. package/dist/templates/next-cosmos-template/src/app/components/Homepage/Homepage.css +0 -156
  16. package/dist/templates/next-cosmos-template/src/app/components/Homepage/Homepage.tsx +0 -110
  17. package/dist/templates/next-cosmos-template/src/app/components/WalletConnectButton/WalletConnectButton.tsx +0 -26
  18. package/dist/templates/next-cosmos-template/src/app/components/Web3Provider.tsx +0 -39
  19. package/dist/templates/next-cosmos-template/src/app/components/index.ts +0 -3
  20. package/dist/templates/next-cosmos-template/src/app/constants/chain.ts +0 -16
  21. package/dist/templates/next-cosmos-template/src/app/constants/index.ts +0 -1
  22. package/dist/templates/next-cosmos-template/src/app/favicon.ico +0 -0
  23. package/dist/templates/next-cosmos-template/src/app/index.css +0 -171
  24. package/dist/templates/next-cosmos-template/src/app/layout.tsx +0 -21
  25. package/dist/templates/next-cosmos-template/src/app/page.tsx +0 -17
  26. package/dist/templates/next-cosmos-template/tsconfig.json +0 -26
  27. package/dist/templates/next-cosmos-template/yarn.lock +0 -9814
  28. package/dist/templates/next-wagmi-template/.eslintrc.json +0 -3
  29. package/dist/templates/next-wagmi-template/README.md +0 -58
  30. package/dist/templates/next-wagmi-template/next-env.d.ts +0 -5
  31. package/dist/templates/next-wagmi-template/next.config.mjs +0 -4
  32. package/dist/templates/next-wagmi-template/package.json +0 -30
  33. package/dist/templates/next-wagmi-template/public/sei-logotype.svg +0 -15
  34. package/dist/templates/next-wagmi-template/src/app/components/Homepage/Examples.tsx +0 -271
  35. package/dist/templates/next-wagmi-template/src/app/components/Homepage/Homepage.css +0 -156
  36. package/dist/templates/next-wagmi-template/src/app/components/Homepage/Homepage.tsx +0 -113
  37. package/dist/templates/next-wagmi-template/src/app/components/Web3Provider.tsx +0 -73
  38. package/dist/templates/next-wagmi-template/src/app/components/index.ts +0 -2
  39. package/dist/templates/next-wagmi-template/src/app/constants/chain.ts +0 -7
  40. package/dist/templates/next-wagmi-template/src/app/constants/index.ts +0 -1
  41. package/dist/templates/next-wagmi-template/src/app/favicon.ico +0 -0
  42. package/dist/templates/next-wagmi-template/src/app/index.css +0 -171
  43. package/dist/templates/next-wagmi-template/src/app/layout.tsx +0 -21
  44. package/dist/templates/next-wagmi-template/src/app/page.tsx +0 -21
  45. package/dist/templates/next-wagmi-template/tsconfig.json +0 -26
  46. package/dist/templates/next-wagmi-template/yarn.lock +0 -4809
  47. package/dist/templates/vite-cosmos-template/.eslintrc.cjs +0 -18
  48. package/dist/templates/vite-cosmos-template/README.md +0 -72
  49. package/dist/templates/vite-cosmos-template/favicon.ico +0 -0
  50. package/dist/templates/vite-cosmos-template/index.html +0 -16
  51. package/dist/templates/vite-cosmos-template/package.json +0 -35
  52. package/dist/templates/vite-cosmos-template/public/sei-logotype.svg +0 -15
  53. package/dist/templates/vite-cosmos-template/src/App.tsx +0 -16
  54. package/dist/templates/vite-cosmos-template/src/assets/react.svg +0 -1
  55. package/dist/templates/vite-cosmos-template/src/components/Homepage/Examples.tsx +0 -177
  56. package/dist/templates/vite-cosmos-template/src/components/Homepage/Homepage.css +0 -156
  57. package/dist/templates/vite-cosmos-template/src/components/Homepage/Homepage.tsx +0 -102
  58. package/dist/templates/vite-cosmos-template/src/components/WalletConnectButton/WalletConnectButton.tsx +0 -26
  59. package/dist/templates/vite-cosmos-template/src/components/Web3Provider.tsx +0 -45
  60. package/dist/templates/vite-cosmos-template/src/components/index.ts +0 -4
  61. package/dist/templates/vite-cosmos-template/src/constants/chain.ts +0 -16
  62. package/dist/templates/vite-cosmos-template/src/constants/index.ts +0 -1
  63. package/dist/templates/vite-cosmos-template/src/index.css +0 -171
  64. package/dist/templates/vite-cosmos-template/src/main.tsx +0 -12
  65. package/dist/templates/vite-cosmos-template/src/vite-env.d.ts +0 -1
  66. package/dist/templates/vite-cosmos-template/tsconfig.app.json +0 -27
  67. package/dist/templates/vite-cosmos-template/tsconfig.json +0 -11
  68. package/dist/templates/vite-cosmos-template/tsconfig.node.json +0 -14
  69. package/dist/templates/vite-cosmos-template/vite.config.ts +0 -7
  70. package/dist/templates/vite-cosmos-template/yarn.lock +0 -9323
  71. package/dist/templates/vite-wagmi-template/.eslintrc.cjs +0 -18
  72. package/dist/templates/vite-wagmi-template/README.md +0 -72
  73. package/dist/templates/vite-wagmi-template/favicon.ico +0 -0
  74. package/dist/templates/vite-wagmi-template/index.html +0 -12
  75. package/dist/templates/vite-wagmi-template/package.json +0 -33
  76. package/dist/templates/vite-wagmi-template/public/sei-logotype.svg +0 -15
  77. package/dist/templates/vite-wagmi-template/src/App.tsx +0 -22
  78. package/dist/templates/vite-wagmi-template/src/assets/react.svg +0 -1
  79. package/dist/templates/vite-wagmi-template/src/components/Homepage/Examples.tsx +0 -269
  80. package/dist/templates/vite-wagmi-template/src/components/Homepage/Homepage.css +0 -156
  81. package/dist/templates/vite-wagmi-template/src/components/Homepage/Homepage.tsx +0 -106
  82. package/dist/templates/vite-wagmi-template/src/components/Web3Provider.tsx +0 -71
  83. package/dist/templates/vite-wagmi-template/src/constants/chain.ts +0 -6
  84. package/dist/templates/vite-wagmi-template/src/constants/index.ts +0 -1
  85. package/dist/templates/vite-wagmi-template/src/index.css +0 -170
  86. package/dist/templates/vite-wagmi-template/src/main.tsx +0 -12
  87. package/dist/templates/vite-wagmi-template/src/vite-env.d.ts +0 -1
  88. package/dist/templates/vite-wagmi-template/tsconfig.app.json +0 -27
  89. package/dist/templates/vite-wagmi-template/tsconfig.json +0 -11
  90. package/dist/templates/vite-wagmi-template/tsconfig.node.json +0 -14
  91. package/dist/templates/vite-wagmi-template/vite.config.ts +0 -10
  92. package/dist/templates/vite-wagmi-template/yarn.lock +0 -4603
  93. package/eslintrc.json +0 -3
@@ -1,106 +0,0 @@
1
- import { ConnectButton } from '@rainbow-me/rainbowkit';
2
- import Examples from './Examples';
3
- import "./Homepage.css"
4
-
5
- type HelpItem = {
6
- title: string;
7
- description: string;
8
- link: string;
9
- };
10
-
11
- const renderHelpItem = ({ title, description, link }: HelpItem) => (
12
- <div className="card secondary">
13
- <div className="card-header">
14
- <p className="card__title">
15
- <a href={link} target='_blank' rel='noopener noreferrer' className="external-link">
16
- {title} {externalIcon}
17
- </a>
18
- </p>
19
- <small className="card__description">
20
- {description}
21
- </small>
22
- </div>
23
- </div>
24
- );
25
-
26
- const helpItems: HelpItem[] = [
27
- {
28
- title: 'Sei Docs',
29
- description: 'Find in-depth information about Sei.',
30
- link: 'https://docs.sei.io/'
31
- },
32
- {
33
- title: 'Wagmi',
34
- description: "Learn about Wagmi and it's hooks for chain interaction.",
35
- link: 'https://wagmi.sh/'
36
- },
37
- {
38
- title: 'Viem',
39
- description: 'Interact with Sei using Viem modules + Wagmi.',
40
- link: 'https://viem.sh/'
41
- },
42
- {
43
- title: 'EVM JSON-RPC API',
44
- description: 'Learn about the EVM api available on Sei.',
45
- link: 'https://ethereum.org/en/developers/docs/apis/json-rpc/'
46
- }
47
- ];
48
-
49
- const externalIcon = (
50
- <svg
51
- width="16"
52
- height="16"
53
- viewBox="0 0 16 16"
54
- fill="none"
55
- xmlns="http://www.w3.org/2000/svg"
56
- >
57
- <path
58
- d="M12 8.66667V12.6667C12 13.0203 11.8595 13.3594 11.6095 13.6095C11.3594 13.8595 11.0203 14 10.6667 14H3.33333C2.97971 14 2.64057 13.8595 2.39052 13.6095C2.14048 13.3594 2 13.0203 2 12.6667V5.33333C2 4.97971 2.14048 4.64057 2.39052 4.39052C2.64057 4.14048 2.97971 4 3.33333 4H7.33333"
59
- stroke="#9F1239"
60
- strokeWidth="1.33333"
61
- strokeLinecap="round"
62
- strokeLinejoin="round"
63
- />
64
- <path
65
- d="M10 2H14V6"
66
- stroke="#9F1239"
67
- strokeWidth="1.33333"
68
- strokeLinecap="round"
69
- strokeLinejoin="round"
70
- />
71
- <path
72
- d="M6.66663 9.33333L14 2"
73
- stroke="#9F1239"
74
- strokeWidth="1.33333"
75
- strokeLinecap="round"
76
- strokeLinejoin="round"
77
- />
78
- </svg>
79
- );
80
-
81
- function Homepage() {
82
-
83
- return (
84
- <div className="container">
85
- <img src="sei-logotype.svg" className="logo" alt="SEI logotype" />
86
- <div className="card intro">
87
- <div className="card-header">
88
- <p className="card__title">Wallet address</p>
89
- <small className="card__description">
90
- Connect wallet to see your address and balance
91
- </small>
92
- </div>
93
- <ConnectButton/>
94
- </div>
95
- <Examples />
96
- <div className="get-started">
97
- Get started by editing <code>src/App.tsx</code>
98
- </div>
99
- <div className="grid docs">
100
- {helpItems.map((item, _) => (renderHelpItem(item)))}
101
- </div>
102
- </div>
103
- );
104
- }
105
-
106
- export default Homepage;
@@ -1,71 +0,0 @@
1
- import { RainbowKitProvider, connectorsForWallets, lightTheme } from '@rainbow-me/rainbowkit';
2
- import { metaMaskWallet } from '@rainbow-me/rainbowkit/wallets';
3
- import { Buffer } from 'buffer';
4
- import { ReactNode, useMemo } from 'react';
5
- import { WagmiProvider, createConfig, http } from 'wagmi';
6
-
7
- import '@rainbow-me/rainbowkit/styles.css';
8
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
9
- import { selectedChain } from '../constants';
10
-
11
- const queryClient = new QueryClient();
12
-
13
- interface Web3ProviderProps {
14
- children: ReactNode;
15
- }
16
-
17
- const connectors = connectorsForWallets(
18
- [
19
- {
20
- groupName: 'Recommended',
21
- wallets: [metaMaskWallet],
22
- },
23
- ],
24
- {
25
- appName: '<YOUR_APPNAME_HERE>',
26
- projectId: "<YOUR_ID_HERE>",
27
- }
28
- );
29
-
30
- function Web3Provider({ children }: Web3ProviderProps) {
31
- // Buffer polyfill
32
- if (typeof window !== 'undefined') {
33
- window.Buffer = window.Buffer ?? Buffer;
34
- }
35
- const chainConfig = selectedChain;
36
- const config = useMemo(
37
- () =>
38
- createConfig({
39
- chains: [chainConfig],
40
- connectors,
41
- transports: {
42
- [chainConfig.id]: http()
43
- }
44
- }),
45
- [chainConfig]
46
- );
47
-
48
- return (
49
- <WagmiProvider config={config}>
50
- <QueryClientProvider client={queryClient}>
51
- <RainbowKitProvider
52
- theme={lightTheme({
53
- accentColor: '#7e1914',
54
- accentColorForeground: 'white',
55
- borderRadius: 'medium',
56
- fontStack: 'system',
57
- })}
58
- appInfo={{
59
- appName: '<APP-NAME-HERE>',
60
- learnMoreUrl: 'https://www.docs.sei.io/user-guides/wallet-setup'
61
- }}
62
- modalSize='compact'
63
- initialChain={chainConfig.id}>
64
- {children}
65
- </RainbowKitProvider>
66
- </QueryClientProvider>
67
- </WagmiProvider>
68
- );
69
- }
70
-
71
- export default Web3Provider;
@@ -1,6 +0,0 @@
1
- import { seiDevnet } from 'viem/chains';
2
-
3
- // Set your selected chain here
4
- // To point to mainnet, use sei.
5
- // To point to testnet, use seiTestnet.
6
- export const selectedChain = seiDevnet
@@ -1 +0,0 @@
1
- export * from './chain';
@@ -1,170 +0,0 @@
1
- /*
2
- 1. Use a more-intuitive box-sizing model.
3
- */
4
- *, *::before, *::after {
5
- box-sizing: border-box;
6
- }
7
- /*
8
- 2. Remove default margin
9
- */
10
- * {
11
- margin: 0;
12
- }
13
- /*
14
- Typographic tweaks!
15
- 3. Add accessible line-height
16
- 4. Improve text rendering
17
- */
18
- body {
19
- line-height: 1.5;
20
- -webkit-font-smoothing: antialiased;
21
- }
22
- /*
23
- 5. Improve media defaults
24
- */
25
- img, picture, video, canvas, svg {
26
- display: block;
27
- max-width: 100%;
28
- }
29
- /*
30
- 6. Remove built-in form typography styles
31
- */
32
- input, button, textarea, select {
33
- font: inherit;
34
- }
35
- /*
36
- 7. Avoid text overflows
37
- */
38
- p, h1, h2, h3, h4, h5, h6 {
39
- overflow-wrap: break-word;
40
- line-height: 1;
41
- }
42
- /*
43
- 8. Create a root stacking context
44
- */
45
- #root, #__next {
46
- isolation: isolate;
47
- }
48
-
49
-
50
- :root {
51
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
52
- line-height: 1.5;
53
- font-weight: 400;
54
-
55
- color-scheme: light dark;
56
- color:#000;
57
- background: var(--background);
58
-
59
- font-synthesis: none;
60
- text-rendering: optimizeLegibility;
61
- -webkit-font-smoothing: antialiased;
62
- -moz-osx-font-smoothing: grayscale;
63
-
64
- --primary-color: #9F1239;
65
- --primary-color-hover: #7F0A2E;
66
- --background: linear-gradient(180deg, #F5F5F4 0%, #FFF 100%);
67
- --border: #D6D3D1;
68
- --card: #FFF;
69
- --card-foreground: #242424;
70
- }
71
-
72
- a {
73
- font-weight: 500;
74
- color: var(--primary-color);
75
- text-decoration: inherit;
76
- }
77
- a:hover {
78
- color: var(--primary-color-hover)
79
- }
80
-
81
- body {
82
- margin: 0;
83
- padding: 0;
84
- }
85
-
86
- h1 {
87
- font-size: 3.2em;
88
- line-height: 1;
89
- }
90
- code {
91
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
92
- monospace;
93
- display: inline-flex;
94
- border-radius: 4px;
95
- padding: 0.1rem 0.4rem;
96
- background-color: #d7cccc;
97
- color: var(--card-foreground);
98
- }
99
-
100
- button {
101
- border-radius: 4rem;
102
- border: 1px solid transparent;
103
- padding: 0.6em 1.2em;
104
- font-size: 1em;
105
- font-weight: 500;
106
- font-family: inherit;
107
- background-color: #cec9c1;
108
- cursor: pointer;
109
- transition: all 0.25s ease;
110
- color: black
111
- }
112
- button:hover {
113
- background-color: #b5afa7;
114
- }
115
-
116
- button:disabled {
117
- filter:grayscale(1) opacity(0.5);
118
- color: rgb(56, 55, 55);
119
- pointer-events: none;
120
- }
121
-
122
- button.primary {
123
- background-color: var(--primary-color);
124
- }
125
- button.outline {
126
- background-color: transparent;
127
- border: 1px solid var(--border);
128
- }
129
-
130
- button.primary:hover {
131
- background-color: var(--primary-color-hover);
132
- }
133
-
134
- button.secondary {
135
- background-color: #000;
136
- color: black;
137
- }
138
-
139
- button.secondary:hover {
140
- background-color: #2b2b2b;
141
- }
142
-
143
- button:active {
144
- transform: translateY(1px);
145
- }
146
-
147
- button.small {
148
- padding: 0.4em 0.8em;
149
- font-size: 0.8em;
150
- }
151
-
152
-
153
- button:focus-visible {
154
- outline: 4px auto -webkit-focus-ring-color;
155
- outline-offset: 4px;
156
- }
157
-
158
- .header {
159
- width: 100%;
160
- height: 4rem;
161
- padding: 0 1%;
162
- display: flex;
163
- align-items: center;
164
- justify-content: right;
165
- background-color: transparent;
166
- border-bottom: 1px solid var(--border);
167
- position: sticky;
168
- top: 0;
169
- background: #F5F5F4;
170
- }
@@ -1,12 +0,0 @@
1
- import React from 'react'
2
- import ReactDOM from 'react-dom/client'
3
- import App from './App.tsx'
4
- import Web3Provider from './components/Web3Provider.tsx'
5
-
6
- ReactDOM.createRoot(document.getElementById('root')!).render(
7
- <React.StrictMode>
8
- <Web3Provider>
9
- <App />
10
- </Web3Provider>
11
- </React.StrictMode>,
12
- )
@@ -1 +0,0 @@
1
- /// <reference types="vite/client" />
@@ -1,27 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
5
- "target": "ES2020",
6
- "useDefineForClassFields": true,
7
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
8
- "module": "ESNext",
9
- "skipLibCheck": true,
10
-
11
- /* Bundler mode */
12
- "moduleResolution": "bundler",
13
- "allowImportingTsExtensions": true,
14
- "resolveJsonModule": true,
15
- "isolatedModules": true,
16
- "moduleDetection": "force",
17
- "noEmit": true,
18
- "jsx": "react-jsx",
19
-
20
- /* Linting */
21
- "strict": true,
22
- "noUnusedLocals": true,
23
- "noUnusedParameters": true,
24
- "noFallthroughCasesInSwitch": true
25
- },
26
- "include": ["src"]
27
- }
@@ -1,11 +0,0 @@
1
- {
2
- "files": [],
3
- "references": [
4
- {
5
- "path": "./tsconfig.app.json"
6
- },
7
- {
8
- "path": "./tsconfig.node.json"
9
- }
10
- ]
11
- }
@@ -1,14 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
5
- "skipLibCheck": true,
6
- "module": "ESNext",
7
- "moduleResolution": "bundler",
8
- "allowSyntheticDefaultImports": true,
9
- "allowImportingTsExtensions": true,
10
- "strict": true,
11
- "noEmit": true
12
- },
13
- "include": ["vite.config.ts"]
14
- }
@@ -1,10 +0,0 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
-
4
- // https://vitejs.dev/config/
5
- export default defineConfig({
6
- plugins: [react()],
7
- optimizeDeps: {
8
- exclude: ['js-big-decimal']
9
- }
10
- })