Skip to content

Commit 83d0132

Browse files
authored
➕ Add PulseChain Test and Main Network Deployments (pcaversaccio#289)
### 🕓 Changelog Add PulseChain test and main network deployments (closes pcaversaccio#287): - [PulseChain Testnet (Testnet-V4)](https://scan.v4.testnet.pulsechain.com/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed), - [PulseChain](https://scan.mypinata.cloud/ipfs/bafybeienxyoyrhn5tswclvd3gdjy5mtkkwmu37aqtml6onbf7xnb3o22pe/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed). #### Verification Compare the `keccak256` hash of the runtime bytecode with the canonical `keccak256` hash of the runtime bytecode [here](https://github.com/pcaversaccio/createx#security-considerations) (`0xbd8a7ea8cfca7b4e5f5041d7d4b17bc317c5ce42cfbc42066a00cf26b43eb53f`): ```console ~$ cast keccak $(cast code 0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed --rpc-url https://rpc.v4.testnet.pulsechain.com) 0xbd8a7ea8cfca7b4e5f5041d7d4b17bc317c5ce42cfbc42066a00cf26b43eb53f ~$ cast keccak $(cast code 0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed --rpc-url https://rpc.pulsechain.com) 0xbd8a7ea8cfca7b4e5f5041d7d4b17bc317c5ce42cfbc42066a00cf26b43eb53f ``` --------- Signed-off-by: pcaversaccio <pascal.caversaccio@hotmail.ch>
1 parent 6f21c38 commit 83d0132

7 files changed

Lines changed: 283 additions & 231 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2272,6 +2272,7 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer
22722272
- [Citrea](https://explorer.mainnet.citrea.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
22732273
- [Tempo](https://explore.tempo.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
22742274
- [Lens](https://explorer.lens.xyz/addresses/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
2275+
- [PulseChain](https://scan.mypinata.cloud/ipfs/bafybeienxyoyrhn5tswclvd3gdjy5mtkkwmu37aqtml6onbf7xnb3o22pe/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
22752276

22762277
#### Ethereum Test Networks
22772278

@@ -2372,6 +2373,7 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer
23722373
- [Citrea Testnet](https://explorer.testnet.citrea.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
23732374
- [Tempo Testnet (Moderato)](https://explore.testnet.tempo.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
23742375
- [Lens Sepolia Testnet](https://explorer.testnet.lens.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
2376+
- [PulseChain Testnet (Testnet-V4)](https://scan.v4.testnet.pulsechain.com/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed)
23752377

23762378
## Integration With External Tooling
23772379

deployments/deployments.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,14 @@
717717
"https://explorer.lens.xyz/addresses/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed"
718718
]
719719
},
720+
{
721+
"name": "PulseChain",
722+
"chainId": 369,
723+
"urls": [
724+
"https://scan.mypinata.cloud/ipfs/bafybeienxyoyrhn5tswclvd3gdjy5mtkkwmu37aqtml6onbf7xnb3o22pe/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed",
725+
"https://repo.sourcify.dev/369/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed"
726+
]
727+
},
720728
{
721729
"name": "Sepolia",
722730
"chainId": 11155111,
@@ -1402,5 +1410,12 @@
14021410
"urls": [
14031411
"https://explorer.testnet.lens.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed"
14041412
]
1413+
},
1414+
{
1415+
"name": "PulseChain Testnet (Testnet-V4)",
1416+
"chainId": 943,
1417+
"urls": [
1418+
"https://scan.v4.testnet.pulsechain.com/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed"
1419+
]
14051420
}
14061421
]

hardhat.config.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,19 @@ const config: HardhatUserConfig = {
12631263
url: vars.get("LENS_MAINNET_URL", "https://rpc.lens.xyz"),
12641264
accounts,
12651265
},
1266+
pulsechainTestnet: {
1267+
chainId: 943,
1268+
url: vars.get(
1269+
"PULSECHAIN_TESTNET_URL",
1270+
"https://rpc.v4.testnet.pulsechain.com",
1271+
),
1272+
accounts,
1273+
},
1274+
pulsechainMain: {
1275+
chainId: 369,
1276+
url: vars.get("PULSECHAIN_MAINNET_URL", "https://rpc.pulsechain.com"),
1277+
accounts,
1278+
},
12661279
},
12671280
contractSizer: {
12681281
alphaSort: true,
@@ -1582,6 +1595,9 @@ const config: HardhatUserConfig = {
15821595
// For Lens testnet & mainnet
15831596
lens: vars.get("LENS_API_KEY", ""),
15841597
lensTestnet: vars.get("LENS_API_KEY", ""),
1598+
// For PulseChain testnet & mainnet
1599+
pulsechain: vars.get("PULSECHAIN_API_KEY", ""),
1600+
pulsechainTestnet: vars.get("PULSECHAIN_API_KEY", ""),
15851601
},
15861602
customChains: [
15871603
{
@@ -3007,6 +3023,22 @@ const config: HardhatUserConfig = {
30073023
browserURL: "https://explorer.testnet.lens.xyz",
30083024
},
30093025
},
3026+
{
3027+
network: "pulsechain",
3028+
chainId: 369,
3029+
urls: {
3030+
apiURL: "https://api.scan.pulsechain.com/api",
3031+
browserURL: "https://scan.pulsechain.com",
3032+
},
3033+
},
3034+
{
3035+
network: "pulsechainTestnet",
3036+
chainId: 943,
3037+
urls: {
3038+
apiURL: "https://api.scan.v4.testnet.pulsechain.com/api",
3039+
browserURL: "https://scan.v4.testnet.pulsechain.com",
3040+
},
3041+
},
30103042
],
30113043
},
30123044
};

interface/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"dependencies": {
3333
"@headlessui/react": "^2.2.10",
3434
"@heroicons/react": "^2.2.0",
35-
"next": "^16.2.3",
35+
"next": "^16.2.4",
3636
"next-themes": "^0.4.6",
3737
"prismjs": "^1.30.0",
3838
"react": "^19.2.5",
@@ -41,24 +41,24 @@
4141
},
4242
"devDependencies": {
4343
"@eslint/js": "^9.39.4",
44-
"@next/eslint-plugin-next": "^16.2.3",
44+
"@next/eslint-plugin-next": "^16.2.4",
4545
"@tailwindcss/postcss": "^4.2.2",
4646
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
4747
"@types/node": "^25.6.0",
4848
"@types/react": "^19.2.14",
4949
"@types/react-dom": "^19.2.3",
5050
"autoprefixer": "^10.5.0",
5151
"eslint": "^9.39.4",
52-
"eslint-config-next": "^16.2.3",
52+
"eslint-config-next": "^16.2.4",
5353
"eslint-plugin-react": "^7.37.5",
54-
"eslint-plugin-react-hooks": "^7.0.1",
54+
"eslint-plugin-react-hooks": "^7.1.0",
5555
"globals": "^17.5.0",
5656
"next-seo": "^7.2.0",
57-
"postcss": "^8.5.9",
57+
"postcss": "^8.5.10",
5858
"prettier": "^3.8.3",
5959
"prettier-plugin-tailwindcss": "^0.7.2",
6060
"tailwindcss": "^4.2.2",
61-
"typescript": "^6.0.2",
61+
"typescript": "^6.0.3",
6262
"typescript-eslint": "^8.58.2"
6363
}
6464
}

interface/src/pages/_app.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import DefaultSeoProps from "../../next-seo.config";
99

1010
function App({ Component, pageProps }: AppProps) {
1111
const [mounted, setMounted] = React.useState(false);
12+
// eslint-disable-next-line react-hooks/set-state-in-effect
1213
React.useEffect(() => setMounted(true), []);
1314
return (
1415
<ThemeProvider attribute="class">

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,8 @@
247247
"deploy:tempomain": "npx hardhat run --no-compile --network tempoMain scripts/deploy.ts",
248248
"deploy:lenstestnet": "npx hardhat run --no-compile --network lensTestnet scripts/deploy.ts",
249249
"deploy:lensmain": "npx hardhat run --no-compile --network lensMain scripts/deploy.ts",
250+
"deploy:pulsechaintestnet": "npx hardhat run --no-compile --network pulsechainTestnet scripts/deploy.ts",
251+
"deploy:pulsechainmain": "npx hardhat run --no-compile --network pulsechainMain scripts/deploy.ts",
250252
"prettier:check": "prettier -c \"**/*.{js,ts,md,sol,json,yml,yaml}\"",
251253
"prettier:check:interface": "pnpm -C interface prettier:check",
252254
"prettier:fix": "prettier -w \"**/*.{js,ts,md,sol,json,yml,yaml}\"",
@@ -280,7 +282,7 @@
280282
"solhint": "^6.2.1",
281283
"ts-node": "^10.9.2",
282284
"typechain": "^8.3.2",
283-
"typescript": "^6.0.2",
285+
"typescript": "^6.0.3",
284286
"typescript-eslint": "^8.58.2"
285287
}
286288
}

0 commit comments

Comments
 (0)