create-stylus 0.0.5 → 0.0.6
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/dist/cli.js +658 -0
- package/dist/cli.js.map +1 -0
- package/package.json +1 -1
- package/templates/base/package.json +2 -1
- package/templates/base/packages/nextjs/app/blockexplorer/_components/AddressStorageTab.tsx +1 -1
- package/templates/base/packages/nextjs/app/blockexplorer/_components/ContractTabs.tsx +1 -1
- package/templates/base/packages/nextjs/app/blockexplorer/_components/SearchBar.tsx +31 -12
- package/templates/base/packages/nextjs/app/blockexplorer/_components/TransactionsTable.tsx +16 -16
- package/templates/base/packages/nextjs/app/blockexplorer/address/[address]/page.tsx +1 -1
- package/templates/base/packages/nextjs/app/blockexplorer/page.tsx +1 -1
- package/templates/base/packages/nextjs/app/blockexplorer/transaction/_components/TransactionComp.tsx +1 -1
- package/templates/base/packages/nextjs/app/debug/_components/contract/ContractUI.tsx +33 -83
- package/templates/base/packages/nextjs/components/Footer.tsx +1 -1
- package/templates/base/packages/nextjs/components/Header.tsx +1 -1
- package/templates/base/packages/nextjs/components/ThemeProvider.tsx +10 -0
- package/templates/base/packages/nextjs/components/scaffold-eth/Address/AddressLinkWrapper.tsx +1 -1
- package/templates/base/packages/nextjs/components/scaffold-eth/Faucet.tsx +1 -1
- package/templates/base/packages/nextjs/components/scaffold-eth/FaucetButton.tsx +1 -1
- package/templates/base/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressInfoDropdown.tsx +1 -1
- package/templates/base/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/BurnerWalletModal.tsx +1 -1
- package/templates/base/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/index.tsx +1 -1
- package/templates/base/packages/nextjs/hooks/scaffold-eth/useFetchBlocks.ts +2 -2
- package/templates/base/packages/nextjs/scaffold.config.ts +4 -4
- package/templates/base/packages/nextjs/services/web3/wagmiConfig.tsx +1 -1
- package/templates/base/packages/nextjs/services/web3/wagmiConnectors.tsx +18 -12
- package/templates/base/packages/nextjs/styles/globals.css +9 -0
- package/templates/base/packages/nextjs/tailwind.config.js +4 -0
- package/templates/base/packages/nextjs/utils/scaffold-eth/decodeTxData.ts +1 -1
- package/templates/base/packages/nextjs/utils/scaffold-stylus/burner.ts +1 -1
- package/templates/base/packages/nextjs/utils/scaffold-stylus/index.ts +1 -1
- package/templates/base/packages/nextjs/utils/scaffold-stylus/networks.ts +1 -1
- package/templates/base/packages/nextjs/utils/scaffold-stylus/{chain.ts → supportedChains.ts} +5 -2
- package/templates/base/packages/stylus/.env.example +5 -0
- package/templates/base/packages/stylus/package.json +1 -1
- package/templates/base/packages/stylus/scripts/utils/command.ts +7 -7
- package/templates/base/packages/stylus/scripts/utils/deployment.ts +1 -1
- package/templates/base/packages/stylus/scripts/utils/network.ts +17 -2
- package/templates/base/packages/stylus/scripts/utils/type.ts +1 -1
- package/templates/base/packages/stylus/your-contract/src/lib.rs +21 -23
- package/templates/base/readme.md +18 -6
- package/templates/base/yarn.lock +590 -547
- package/templates/base/packages/stylus/your-contract/examples/counter.rs +0 -78
- package/templates/base/packages/stylus/your-contract/licenses/Apache-2.0 +0 -201
- package/templates/base/packages/stylus/your-contract/licenses/COPYRIGHT.md +0 -5
- package/templates/base/packages/stylus/your-contract/licenses/DCO.txt +0 -34
- package/templates/base/packages/stylus/your-contract/licenses/MIT +0 -21
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../src/utils/consts.ts","../src/utils/find-files-recursively.ts","../src/utils/merge-package-json.ts","../src/utils/link.ts","../src/utils/load-extensions.ts","../src/tasks/copy-extension-file.ts","../src/tasks/copy-template-files.ts","../src/tasks/create-project-directory.ts","../src/tasks/install-packages.ts","../src/tasks/create-first-git-commit.ts","../src/tasks/prettier-format.ts","../src/utils/render-outro-message.ts","../src/main.ts","../src/utils/parse-arguments-into-options.ts","../src/utils/prompt-for-missing-options.ts","../src/utils/render-intro-message.ts","../src/cli.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["mergePackageJson","link"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ss",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"private": true,
|
|
5
5
|
"workspaces": {
|
|
6
6
|
"packages": [
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"account": "yarn workspace @ss/stylus account",
|
|
13
13
|
"chain": "./nitro-devnode/start-chain-with-cors.sh",
|
|
14
|
+
"clean-contracts": "yarn workspace @ss/stylus clean-contracts",
|
|
14
15
|
"fork": "yarn workspace @ss/stylus fork",
|
|
15
16
|
"deploy": "yarn workspace @ss/stylus deploy",
|
|
16
17
|
"export-abi": "yarn workspace @ss/stylus export-abi",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
4
|
import { Address, createPublicClient, http, toHex } from "viem";
|
|
5
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
5
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
6
6
|
|
|
7
7
|
const publicClient = createPublicClient({
|
|
8
8
|
chain: arbitrumNitro,
|
|
@@ -8,7 +8,7 @@ import { PaginationButton } from "./PaginationButton";
|
|
|
8
8
|
import { TransactionsTable } from "./TransactionsTable";
|
|
9
9
|
import { Address, createPublicClient, http } from "viem";
|
|
10
10
|
import { useFetchBlocks } from "~~/hooks/scaffold-eth";
|
|
11
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
11
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
12
12
|
|
|
13
13
|
type AddressCodeTabProps = {
|
|
14
14
|
bytecode: string;
|
|
@@ -4,7 +4,7 @@ import { useState } from "react";
|
|
|
4
4
|
import { useRouter } from "next/navigation";
|
|
5
5
|
import { isAddress, isHex } from "viem";
|
|
6
6
|
import { usePublicClient } from "wagmi";
|
|
7
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
7
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
8
8
|
|
|
9
9
|
export const SearchBar = () => {
|
|
10
10
|
const [searchInput, setSearchInput] = useState("");
|
|
@@ -33,17 +33,36 @@ export const SearchBar = () => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
return (
|
|
36
|
-
<form onSubmit={handleSearch} className="flex items-center justify-
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
<form onSubmit={handleSearch} className="flex items-center justify-between mb-5">
|
|
37
|
+
<div className="uppercase text-3xl font-bold">Block explorer</div>
|
|
38
|
+
<div className="flex items-center bg-surface rounded-lg shadow-lg py-3 px-4 overflow-hidden">
|
|
39
|
+
<input
|
|
40
|
+
className="text-gray-300 bg-transparent py-3 w-full md:w-96 lg:w-96 border-0 focus:outline-none focus:ring-0"
|
|
41
|
+
type="text"
|
|
42
|
+
value={searchInput}
|
|
43
|
+
placeholder="Search by hash or address"
|
|
44
|
+
onChange={e => setSearchInput(e.target.value)}
|
|
45
|
+
/>
|
|
46
|
+
<button
|
|
47
|
+
className="bg-pink-500 hover:bg-pink-600 text-white p-3 rounded-lg transition-colors duration-200 flex items-center justify-center"
|
|
48
|
+
type="submit"
|
|
49
|
+
>
|
|
50
|
+
<svg
|
|
51
|
+
className="w-5 h-5"
|
|
52
|
+
fill="none"
|
|
53
|
+
stroke="currentColor"
|
|
54
|
+
viewBox="0 0 24 24"
|
|
55
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
56
|
+
>
|
|
57
|
+
<path
|
|
58
|
+
strokeLinecap="round"
|
|
59
|
+
strokeLinejoin="round"
|
|
60
|
+
strokeWidth={2}
|
|
61
|
+
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
|
62
|
+
/>
|
|
63
|
+
</svg>
|
|
64
|
+
</button>
|
|
65
|
+
</div>
|
|
47
66
|
</form>
|
|
48
67
|
);
|
|
49
68
|
};
|
|
@@ -10,19 +10,17 @@ export const TransactionsTable = ({ blocks, transactionReceipts }: TransactionsT
|
|
|
10
10
|
|
|
11
11
|
return (
|
|
12
12
|
<div className="flex justify-center px-4 md:px-0">
|
|
13
|
-
<div className="overflow-x-auto w-full shadow-2xl rounded-
|
|
14
|
-
<table className="table
|
|
15
|
-
<
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
</tr>
|
|
25
|
-
</thead>
|
|
13
|
+
<div className="overflow-x-auto w-full p-4 shadow-2xl rounded-3xl border border-color">
|
|
14
|
+
<table className="table w-full md:table-md table-sm">
|
|
15
|
+
<tr className="rounded-xl bg-[#1B1B1B] text-white">
|
|
16
|
+
<th className="rounded-l-xl">Transaction Hash</th>
|
|
17
|
+
<th>Function Called</th>
|
|
18
|
+
<th>Block Number</th>
|
|
19
|
+
<th>Time Mined</th>
|
|
20
|
+
<th>From</th>
|
|
21
|
+
<th>To</th>
|
|
22
|
+
<th className="text-end rounded-r-xl">Value ({targetNetwork.nativeCurrency.symbol})</th>
|
|
23
|
+
</tr>
|
|
26
24
|
<tbody>
|
|
27
25
|
{blocks.map(block =>
|
|
28
26
|
(block.transactions as TransactionWithFunction[]).map(tx => {
|
|
@@ -31,14 +29,16 @@ export const TransactionsTable = ({ blocks, transactionReceipts }: TransactionsT
|
|
|
31
29
|
const functionCalled = tx.input.substring(0, 10);
|
|
32
30
|
|
|
33
31
|
return (
|
|
34
|
-
<tr key={tx.hash} className="hover
|
|
32
|
+
<tr key={tx.hash} className="hover">
|
|
35
33
|
<td className="w-1/12 md:py-4">
|
|
36
34
|
<TransactionHash hash={tx.hash} />
|
|
37
35
|
</td>
|
|
38
36
|
<td className="w-2/12 md:py-4">
|
|
39
|
-
{tx.functionName === "0x" ? "" : <span className="mr-1">{tx.functionName}</span>}
|
|
37
|
+
{/* {tx.functionName === "0x" ? "" : <span className="mr-1">{tx.functionName}</span>} */}
|
|
40
38
|
{functionCalled !== "0x" && (
|
|
41
|
-
<span className="
|
|
39
|
+
<span className="inline-block bg-[#E3066E33] border-none font-bold text-[#FF50A2] py-1.5 px-3 rounded-full">
|
|
40
|
+
{functionCalled}
|
|
41
|
+
</span>
|
|
42
42
|
)}
|
|
43
43
|
</td>
|
|
44
44
|
<td className="w-1/12 md:py-4">{block.number?.toString()}</td>
|
|
@@ -5,7 +5,7 @@ import { AddressComponent } from "~~/app/blockexplorer/_components/AddressCompon
|
|
|
5
5
|
import deployedContracts from "~~/contracts/deployedContracts";
|
|
6
6
|
import { isZeroAddress } from "~~/utils/scaffold-eth/common";
|
|
7
7
|
import { GenericContractsDeclaration } from "~~/utils/scaffold-eth/contract";
|
|
8
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
8
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
9
9
|
|
|
10
10
|
type PageProps = {
|
|
11
11
|
params: Promise<{ address: Address }>;
|
|
@@ -6,7 +6,7 @@ import type { NextPage } from "next";
|
|
|
6
6
|
import { useFetchBlocks } from "~~/hooks/scaffold-eth";
|
|
7
7
|
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
|
|
8
8
|
import { notification } from "~~/utils/scaffold-eth";
|
|
9
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
9
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
10
10
|
|
|
11
11
|
const BlockExplorer: NextPage = () => {
|
|
12
12
|
const { blocks, transactionReceipts, currentPage, totalBlocks, setCurrentPage, error } = useFetchBlocks();
|
package/templates/base/packages/nextjs/app/blockexplorer/transaction/_components/TransactionComp.tsx
CHANGED
|
@@ -8,7 +8,7 @@ import { Address } from "~~/components/scaffold-eth";
|
|
|
8
8
|
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
|
|
9
9
|
import { decodeTransactionData, getFunctionDetails } from "~~/utils/scaffold-eth";
|
|
10
10
|
import { replacer } from "~~/utils/scaffold-eth/common";
|
|
11
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
11
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
12
12
|
|
|
13
13
|
const TransactionComp = ({ txHash }: { txHash: Hash }) => {
|
|
14
14
|
const client = usePublicClient({ chainId: arbitrumNitro.id });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
// @refresh reset
|
|
4
|
-
import { useReducer } from "react";
|
|
4
|
+
import { useReducer, useState } from "react";
|
|
5
5
|
import { ContractReadMethods } from "./ContractReadMethods";
|
|
6
6
|
import { ContractVariables } from "./ContractVariables";
|
|
7
7
|
import { ContractWriteMethods } from "./ContractWriteMethods";
|
|
@@ -19,11 +19,17 @@ type ContractUIProps = {
|
|
|
19
19
|
* UI component to interface with deployed contracts.
|
|
20
20
|
**/
|
|
21
21
|
export const ContractUI = ({ contractName, className = "" }: ContractUIProps) => {
|
|
22
|
+
const [activeTab, setActiveTab] = useState("write");
|
|
22
23
|
const [refreshDisplayVariables, triggerRefreshDisplayVariables] = useReducer(value => !value, false);
|
|
23
24
|
const { targetNetwork } = useTargetNetwork();
|
|
24
25
|
const { data: deployedContractData, isLoading: deployedContractLoading } = useDeployedContractInfo({ contractName });
|
|
25
26
|
const networkColor = useNetworkColor();
|
|
26
27
|
|
|
28
|
+
const tabs = [
|
|
29
|
+
{ id: "write", label: "Write" },
|
|
30
|
+
{ id: "read", label: "Read" },
|
|
31
|
+
];
|
|
32
|
+
|
|
27
33
|
if (deployedContractLoading) {
|
|
28
34
|
return (
|
|
29
35
|
<div className="mt-14">
|
|
@@ -70,91 +76,35 @@ export const ContractUI = ({ contractName, className = "" }: ContractUIProps) =>
|
|
|
70
76
|
</div>
|
|
71
77
|
</div>
|
|
72
78
|
<div className="col-span-1 lg:col-span-2 flex flex-col gap-6">
|
|
73
|
-
<div className="
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
backgroundColor: "#630c3a",
|
|
86
|
-
borderColor: "#E3066E",
|
|
87
|
-
clipPath: "polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%)",
|
|
88
|
-
}}
|
|
89
|
-
>
|
|
90
|
-
Read
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
{/* Línea diagonal del corte */}
|
|
94
|
-
<div
|
|
95
|
-
className="absolute z-20"
|
|
96
|
-
style={{
|
|
97
|
-
top: "20px", // deja espacio para el border superior
|
|
98
|
-
right: "-1px", // deja espacio para el border derecho
|
|
99
|
-
width: "28.28px", // 20 * sqrt(2)
|
|
100
|
-
height: "2px", // igual al grosor del borde
|
|
101
|
-
backgroundColor: "#E3066E",
|
|
102
|
-
transform: "rotate(45deg)",
|
|
103
|
-
transformOrigin: "top right",
|
|
104
|
-
}}
|
|
105
|
-
/>
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
{/*</div> */}
|
|
109
|
-
{/* Gradient Container */}
|
|
110
|
-
<div className="rounded-lg gradient-border min-h-[80px] flex items-center px-4 py-8 shadow-xl">
|
|
111
|
-
<ContractReadMethods deployedContractData={deployedContractData} />
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
79
|
+
<div className="tabs tabs-boxed gradient-border rounded-[5px] bg-transparent">
|
|
80
|
+
{tabs.map(tab => (
|
|
81
|
+
<a
|
|
82
|
+
key={tab.id}
|
|
83
|
+
className={`tab h-10 ${
|
|
84
|
+
activeTab === tab.id ? "tab-active !bg-[#E3066E] !rounded-[5px] !text-white" : ""
|
|
85
|
+
}`}
|
|
86
|
+
onClick={() => setActiveTab(tab.id)}
|
|
87
|
+
>
|
|
88
|
+
{tab.label}
|
|
89
|
+
</a>
|
|
90
|
+
))}
|
|
114
91
|
</div>
|
|
115
92
|
<div className="z-10">
|
|
116
|
-
<div
|
|
117
|
-
className="
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
className="text-white px-8 py-2 text-xl font-medium border-2 relative z-10"
|
|
126
|
-
style={{
|
|
127
|
-
backgroundColor: "#630c3a",
|
|
128
|
-
borderColor: "#E3066E",
|
|
129
|
-
clipPath: "polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%)",
|
|
130
|
-
}}
|
|
131
|
-
>
|
|
132
|
-
Write
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
{/* Línea diagonal del corte */}
|
|
136
|
-
<div
|
|
137
|
-
className="absolute z-20"
|
|
138
|
-
style={{
|
|
139
|
-
top: "20px", // deja espacio para el border superior
|
|
140
|
-
right: "-1px", // deja espacio para el border derecho
|
|
141
|
-
width: "28.28px", // 20 * sqrt(2)
|
|
142
|
-
height: "2px", // igual al grosor del borde
|
|
143
|
-
backgroundColor: "#E3066E",
|
|
144
|
-
transform: "rotate(45deg)",
|
|
145
|
-
transformOrigin: "top right",
|
|
146
|
-
}}
|
|
147
|
-
/>
|
|
148
|
-
</div>
|
|
149
|
-
|
|
150
|
-
{/*</div> */}
|
|
151
|
-
{/* Gradient Container */}
|
|
152
|
-
<div className="gradient-border rounded-lg min-h-[80px] flex flex-col px-6 py-6 shadow-xl">
|
|
153
|
-
<ContractWriteMethods
|
|
154
|
-
deployedContractData={deployedContractData}
|
|
155
|
-
onChange={triggerRefreshDisplayVariables}
|
|
156
|
-
/>
|
|
93
|
+
<div className="gradient-border rounded-[5px] flex flex-col relative bg-component">
|
|
94
|
+
<div className="p-5 divide-y divide-secondary">
|
|
95
|
+
{activeTab === "read" && <ContractReadMethods deployedContractData={deployedContractData} />}
|
|
96
|
+
{activeTab === "write" && (
|
|
97
|
+
<ContractWriteMethods
|
|
98
|
+
deployedContractData={deployedContractData}
|
|
99
|
+
onChange={triggerRefreshDisplayVariables}
|
|
100
|
+
/>
|
|
101
|
+
)}
|
|
157
102
|
</div>
|
|
103
|
+
{deployedContractLoading && (
|
|
104
|
+
<div className="absolute inset-0 rounded-[5px] bg-white/20 z-10">
|
|
105
|
+
<div className="animate-spin h-4 w-4 border-2 border-[#E3066E] border-t-transparent rounded-full absolute top-4 right-4" />
|
|
106
|
+
</div>
|
|
107
|
+
)}
|
|
158
108
|
</div>
|
|
159
109
|
</div>
|
|
160
110
|
</div>
|
|
@@ -7,7 +7,7 @@ import { CurrencyDollarIcon, MagnifyingGlassIcon } from "@heroicons/react/24/out
|
|
|
7
7
|
import { Faucet } from "~~/components/scaffold-eth";
|
|
8
8
|
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
|
|
9
9
|
import { useGlobalState } from "~~/services/store/store";
|
|
10
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
10
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Site footer
|
|
@@ -8,7 +8,7 @@ import { SwitchTheme } from "./SwitchTheme";
|
|
|
8
8
|
import { Bars3Icon, BugAntIcon } from "@heroicons/react/24/outline";
|
|
9
9
|
import { RainbowKitCustomConnectButton } from "~~/components/scaffold-eth";
|
|
10
10
|
import { useOutsideClick, useTargetNetwork } from "~~/hooks/scaffold-eth";
|
|
11
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
11
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
12
12
|
|
|
13
13
|
type HeaderMenuLink = {
|
|
14
14
|
label: string;
|
|
@@ -5,6 +5,16 @@ import { ThemeProvider as NextThemesProvider } from "next-themes";
|
|
|
5
5
|
import { type ThemeProviderProps } from "next-themes/dist/types";
|
|
6
6
|
|
|
7
7
|
export const ThemeProvider = ({ children, ...props }: ThemeProviderProps) => {
|
|
8
|
+
const [mounted, setMounted] = React.useState(false);
|
|
9
|
+
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
setMounted(true);
|
|
12
|
+
}, []);
|
|
13
|
+
|
|
14
|
+
if (!mounted) {
|
|
15
|
+
return <>{children}</>;
|
|
16
|
+
}
|
|
17
|
+
|
|
8
18
|
return (
|
|
9
19
|
<NextThemesProvider attribute="data-theme" defaultTheme="dark" enableSystem disableTransitionOnChange {...props}>
|
|
10
20
|
{children}
|
package/templates/base/packages/nextjs/components/scaffold-eth/Address/AddressLinkWrapper.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Link from "next/link";
|
|
2
2
|
import { useTargetNetwork } from "~~/hooks/scaffold-eth";
|
|
3
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
3
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
4
4
|
|
|
5
5
|
type AddressLinkWrapperProps = {
|
|
6
6
|
children: React.ReactNode;
|
|
@@ -8,7 +8,7 @@ import { BanknotesIcon } from "@heroicons/react/24/outline";
|
|
|
8
8
|
import { Address, AddressInput, Balance, EtherInput } from "~~/components/scaffold-eth";
|
|
9
9
|
import { useTransactor } from "~~/hooks/scaffold-eth";
|
|
10
10
|
import { notification } from "~~/utils/scaffold-eth";
|
|
11
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
11
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
12
12
|
|
|
13
13
|
// Account index to use from generated arbitrum accounts.
|
|
14
14
|
const FAUCET_ACCOUNT_INDEX = 0;
|
|
@@ -7,7 +7,7 @@ import { useAccount } from "wagmi";
|
|
|
7
7
|
import { useWatchBalance } from "~~/hooks/scaffold-eth/useWatchBalance";
|
|
8
8
|
import { BanknotesIcon } from "@heroicons/react/24/outline";
|
|
9
9
|
import { useTransactor } from "~~/hooks/scaffold-eth";
|
|
10
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
10
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
11
11
|
|
|
12
12
|
// Number of ETH faucet sends to an address
|
|
13
13
|
const NUM_OF_ETH = "1";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import { BlockieAvatar, isENS } from "~~/components/scaffold-eth";
|
|
16
16
|
import { useCopyToClipboard, useOutsideClick } from "~~/hooks/scaffold-eth";
|
|
17
17
|
import { getTargetNetworks } from "~~/utils/scaffold-stylus";
|
|
18
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
18
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
19
19
|
|
|
20
20
|
const allowedNetworks = getTargetNetworks();
|
|
21
21
|
|
|
@@ -2,7 +2,7 @@ import { useRef, useState } from "react";
|
|
|
2
2
|
import { BlockieAvatar } from "..";
|
|
3
3
|
import { useTheme } from "next-themes";
|
|
4
4
|
import { useOutsideClick } from "~~/hooks/scaffold-eth/useOutsideClick";
|
|
5
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
5
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
6
6
|
|
|
7
7
|
interface BurnerWalletModalProps {
|
|
8
8
|
isOpen: boolean;
|
|
@@ -12,7 +12,7 @@ import { Address } from "viem";
|
|
|
12
12
|
import { useNetworkColor } from "~~/hooks/scaffold-eth";
|
|
13
13
|
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
|
|
14
14
|
import { saveBurnerPK } from "~~/utils/scaffold-stylus/burner";
|
|
15
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
15
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Custom Wagmi Connect Button (watch balance + custom design)
|
|
@@ -10,9 +10,9 @@ import {
|
|
|
10
10
|
webSocket,
|
|
11
11
|
} from "viem";
|
|
12
12
|
import { decodeTransactionData } from "~~/utils/scaffold-eth";
|
|
13
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
13
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
14
14
|
|
|
15
|
-
const BLOCKS_PER_PAGE =
|
|
15
|
+
const BLOCKS_PER_PAGE = 5;
|
|
16
16
|
|
|
17
17
|
export const testClient = createTestClient({
|
|
18
18
|
chain: arbitrumNitro,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import * as chains from "./utils/scaffold-stylus/supportedChains";
|
|
4
|
+
import { Chain } from "viem/chains";
|
|
5
5
|
|
|
6
6
|
export type ScaffoldConfig = {
|
|
7
|
-
targetNetworks: readonly
|
|
7
|
+
targetNetworks: readonly Chain[];
|
|
8
8
|
pollingInterval: number;
|
|
9
9
|
alchemyApiKey: string;
|
|
10
10
|
rpcOverrides?: Record<number, string>;
|
|
@@ -17,7 +17,7 @@ export const DEFAULT_ALCHEMY_API_KEY = "oKxs-03sij-U_N0iOlrSsZFr29-IqbuF";
|
|
|
17
17
|
|
|
18
18
|
const scaffoldConfig = {
|
|
19
19
|
// The networks on which your DApp is live
|
|
20
|
-
targetNetworks: [arbitrumNitro],
|
|
20
|
+
targetNetworks: [chains.arbitrumNitro],
|
|
21
21
|
|
|
22
22
|
// The interval at which your front-end polls the RPC servers for new data
|
|
23
23
|
// it has no effect if you only target the local network (default is 4000)
|
|
@@ -14,7 +14,7 @@ export const enabledChains = targetNetworks.find((network: Chain) => network.id
|
|
|
14
14
|
|
|
15
15
|
export const wagmiConfig = createConfig({
|
|
16
16
|
chains: enabledChains,
|
|
17
|
-
connectors: wagmiConnectors,
|
|
17
|
+
connectors: wagmiConnectors(),
|
|
18
18
|
ssr: true,
|
|
19
19
|
client({ chain }) {
|
|
20
20
|
let rpcFallbacks = [http()];
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "@rainbow-me/rainbowkit/wallets";
|
|
11
11
|
import { rainbowkitBurnerWallet } from "burner-connector";
|
|
12
12
|
import * as chains from "viem/chains";
|
|
13
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
13
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
14
14
|
|
|
15
15
|
import scaffoldConfig from "~~/scaffold.config";
|
|
16
16
|
|
|
@@ -36,16 +36,22 @@ const wallets = [
|
|
|
36
36
|
/**
|
|
37
37
|
* wagmi connectors for the wagmi context
|
|
38
38
|
*/
|
|
39
|
-
export const wagmiConnectors =
|
|
40
|
-
|
|
39
|
+
export const wagmiConnectors = () => {
|
|
40
|
+
// Only create connectors on client-side to avoid SSR issues
|
|
41
|
+
if (typeof window === "undefined") {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return connectorsForWallets(
|
|
46
|
+
[
|
|
47
|
+
{
|
|
48
|
+
groupName: "Supported Wallets",
|
|
49
|
+
wallets,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
41
52
|
{
|
|
42
|
-
|
|
43
|
-
|
|
53
|
+
appName: "scaffold-stylus",
|
|
54
|
+
projectId: scaffoldConfig.walletConnectProjectId,
|
|
44
55
|
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
appName: "scaffold-stylus",
|
|
49
|
-
projectId: scaffoldConfig.walletConnectProjectId,
|
|
50
|
-
},
|
|
51
|
-
);
|
|
56
|
+
);
|
|
57
|
+
};
|
|
@@ -31,6 +31,15 @@ p {
|
|
|
31
31
|
@apply shadow-none;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
.border-color {
|
|
35
|
+
border-color: var(--border-color);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.bg-surface {
|
|
39
|
+
background-color: var(--surface);
|
|
40
|
+
backdrop-filter: blur(24px);
|
|
41
|
+
}
|
|
42
|
+
|
|
34
43
|
.bg-secondary {
|
|
35
44
|
background-image: linear-gradient(90deg, #203147 0%, #e3066e 100%) !important;
|
|
36
45
|
color: #fff;
|
|
@@ -25,11 +25,13 @@ module.exports = {
|
|
|
25
25
|
warning: "#FFCF72",
|
|
26
26
|
error: "#FF8863",
|
|
27
27
|
|
|
28
|
+
"--surface": "rgba(0, 0, 0, 0.04)",
|
|
28
29
|
"--bg-border": "#ffffff",
|
|
29
30
|
"--round-color": "#000",
|
|
30
31
|
"--rounded-btn": "9999rem",
|
|
31
32
|
"--gradient-start": "#3283EB",
|
|
32
33
|
"--gradient-end": "#E3066E",
|
|
34
|
+
"--border-color": "rgba(0, 0, 0, 0.07)",
|
|
33
35
|
|
|
34
36
|
".tooltip": {
|
|
35
37
|
"--tooltip-tail": "6px",
|
|
@@ -61,11 +63,13 @@ module.exports = {
|
|
|
61
63
|
warning: "#FFCF72",
|
|
62
64
|
error: "#FF8863",
|
|
63
65
|
|
|
66
|
+
"--surface": "rgba(255, 255, 255, 0.04)",
|
|
64
67
|
"--bg-border": "#000000",
|
|
65
68
|
"--round-color": "#E3066E",
|
|
66
69
|
"--rounded-btn": "9999rem",
|
|
67
70
|
"--gradient-start": "#3283EB",
|
|
68
71
|
"--gradient-end": "#E3066E",
|
|
72
|
+
"--border-color": "rgba(255, 255, 255, 0.20)",
|
|
69
73
|
|
|
70
74
|
".tooltip": {
|
|
71
75
|
"--tooltip-tail": "6px",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransactionWithFunction } from "./block";
|
|
2
2
|
import { GenericContractsDeclaration } from "./contract";
|
|
3
3
|
import { Abi, AbiFunction, decodeFunctionData, getAbiItem } from "viem";
|
|
4
|
-
import { arbitrumNitro } from "~~/utils/scaffold-stylus/
|
|
4
|
+
import { arbitrumNitro } from "~~/utils/scaffold-stylus/supportedChains";
|
|
5
5
|
import contractData from "~~/contracts/deployedContracts";
|
|
6
6
|
|
|
7
7
|
type ContractsInterfaces = Record<string, Abi>;
|