From 6bb9266a89e33b1be672a4f526ced6064ae5f846 Mon Sep 17 00:00:00 2001 From: Tom Hirst Date: Wed, 4 Jun 2025 16:35:29 +0100 Subject: [PATCH 1/6] add env.example --- .gitignore | 1 + packages/deploy/.env.example | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 packages/deploy/.env.example diff --git a/.gitignore b/.gitignore index 2f79516..cf976f8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ node_modules .DS_Store .env* +!packages/deploy/.env.example diff --git a/packages/deploy/.env.example b/packages/deploy/.env.example new file mode 100644 index 0000000..7545aa2 --- /dev/null +++ b/packages/deploy/.env.example @@ -0,0 +1,5 @@ +RPC_HTTP_URL= +DEPLOYER_PRIVATE_KEY= +VERIFIER= +VERIFIER_URL= +VERIFIER_API_KEY= From 90420110f36b063ee8a8130d059de1250da7d452 Mon Sep 17 00:00:00 2001 From: Tom Hirst Date: Wed, 4 Jun 2025 16:35:56 +0100 Subject: [PATCH 2/6] update deploy script to work with abstract --- packages/deploy/src/deploy.ts | 6 ++++-- packages/deploy/src/verifier.ts | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/deploy/src/deploy.ts b/packages/deploy/src/deploy.ts index c1a26c5..36c6230 100644 --- a/packages/deploy/src/deploy.ts +++ b/packages/deploy/src/deploy.ts @@ -34,7 +34,7 @@ export type DeployResult = { }; export type VerifierConfig = - | { type: "etherscan"; apiKey: string } + | { type: "etherscan"; apiKey: string; url?: string } | { type: "blockscout"; url: string }; export async function deploy( @@ -98,6 +98,9 @@ export async function deploy( if (verifier.type === "etherscan") { verifierFlags.push(["--verifier", verifier.type]); verifierFlags.push(["--etherscan-api-key", verifier.apiKey]); + if (verifier.url) { + verifierFlags.push(["--verifier-url", verifier.url]); + } } else if (verifier.type === "blockscout") { verifierFlags.push(["--verifier", verifier.type]); verifierFlags.push(["--verifier-url", verifier.url]); @@ -109,7 +112,6 @@ export async function deploy( ["verify-contract", fileStore, "src/FileStore.sol:FileStore"], ["--chain-id", `${chainId}`], ["--compiler-version", fileStoreBuild.metadata.compiler.version], - ["--evm-version", fileStoreBuild.metadata.settings.evmVersion], [ "--num-of-optimizations", `${fileStoreBuild.metadata.settings.optimizer.runs}`, diff --git a/packages/deploy/src/verifier.ts b/packages/deploy/src/verifier.ts index 7ced930..339b837 100644 --- a/packages/deploy/src/verifier.ts +++ b/packages/deploy/src/verifier.ts @@ -3,7 +3,7 @@ import { z } from "zod"; export const verifierEnvSchema = z.union([ z.object({ VERIFIER: z.literal("etherscan"), - VERIFIER_URL: z.undefined().optional(), + VERIFIER_URL: z.string().optional(), VERIFIER_API_KEY: z.string(), }), z.object({ From f4c434cd2ffca8f097ed98ddfe8a3e75944ef535 Mon Sep 17 00:00:00 2001 From: Tom Hirst Date: Wed, 4 Jun 2025 16:36:48 +0100 Subject: [PATCH 3/6] commit deploy log --- packages/deploy/deploys.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/deploy/deploys.json b/packages/deploy/deploys.json index 6980048..eb1a75a 100644 --- a/packages/deploy/deploys.json +++ b/packages/deploy/deploys.json @@ -59,6 +59,16 @@ } } }, + "2741": { + "chainId": 2741, + "deployer": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", + "contracts": { + "FileStore": { + "address": "0xFe1411d6864592549AdE050215482e4385dFa0FB", + "blockNumber": "10966338" + } + } + }, "8453": { "chainId": 8453, "deployer": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", @@ -79,6 +89,16 @@ } } }, + "11124": { + "chainId": 11124, + "deployer": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", + "contracts": { + "FileStore": { + "address": "0xFe1411d6864592549AdE050215482e4385dFa0FB", + "blockNumber": "10200227" + } + } + }, "17000": { "chainId": 17000, "deployer": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", From 4f9cee84b671ef1c24d5a1f2a6e4f9b748950273 Mon Sep 17 00:00:00 2001 From: Tom Hirst Date: Wed, 4 Jun 2025 16:37:10 +0100 Subject: [PATCH 4/6] update README --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 3f47a5a..cec1c6f 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,18 @@ The `FileStore` contract acts as a minimum viable registry, a global namespace o + + + + + + + + + + + From 6605c95ccc083a521bed0aaf7be1fb52333f8cd3 Mon Sep 17 00:00:00 2001 From: Tom Hirst Date: Wed, 4 Jun 2025 16:55:53 +0100 Subject: [PATCH 5/6] add abstract to supported chains --- packages/web/src/supportedChains.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/web/src/supportedChains.ts b/packages/web/src/supportedChains.ts index 5fcbc2c..7146893 100644 --- a/packages/web/src/supportedChains.ts +++ b/packages/web/src/supportedChains.ts @@ -1,4 +1,6 @@ import { + abstract, + abstractTestnet, base, baseSepolia, Chain, @@ -23,6 +25,19 @@ type SupportedChain = { }; export const supportedChains = [ + /* Abstract */ + { + chain: abstract, + slug: "abstract", + group: "Abstract", + rpcUrl: process.env.NEXT_PUBLIC_RPC_HTTP_URL_2741!, + }, + { + chain: abstractTestnet, + slug: "abstract-sepolia", + group: "Abstract", + rpcUrl: process.env.NEXT_PUBLIC_RPC_HTTP_URL_11124!, + }, /* Ethereum */ { chain: mainnet, From 63f77ab0b1dd34d1640d8e75df169c46274941aa Mon Sep 17 00:00:00 2001 From: Tom Hirst Date: Wed, 4 Jun 2025 17:00:56 +0100 Subject: [PATCH 6/6] add abstract to ponder config --- packages/ponder/ponder.config.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/ponder/ponder.config.ts b/packages/ponder/ponder.config.ts index 141503e..b538662 100644 --- a/packages/ponder/ponder.config.ts +++ b/packages/ponder/ponder.config.ts @@ -5,6 +5,16 @@ import { FileStoreAbi } from "./abis/FileStoreAbi"; export default createConfig({ networks: { + abstract: { + chainId: 2741, + transport: http(process.env.RPC_HTTP_URL_2741), + pollingInterval: 12_000, + }, + abstractSepolia: { + chainId: 11124, + transport: http(process.env.RPC_HTTP_URL_11124), + pollingInterval: 12_000, + }, mainnet: { chainId: 1, transport: http(process.env.RPC_HTTP_URL_1), @@ -66,6 +76,8 @@ export default createConfig({ address: "0xFe1411d6864592549AdE050215482e4385dFa0FB", abi: FileStoreAbi, network: { + abstract: { startBlock: 10966338 }, + abstractSepolia: { startBlock: 10200227 }, mainnet: { startBlock: 18898263 }, sepolia: { startBlock: 4986686 }, holesky: { startBlock: 634049 },
Abstract
Abstract Mainnet0xFe1411d6864592549AdE050215482e4385dFa0FB
Abstract Sepolia0xFe1411d6864592549AdE050215482e4385dFa0FB
Ethereum