Skip to content

Commit

Permalink
rework verifier flags
Browse files Browse the repository at this point in the history
  • Loading branch information
holic committed Jan 30, 2025
1 parent 5fd6aba commit 27a58b5
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions packages/deploy/src/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,19 +93,28 @@ export async function deploy(

try {
console.log("verifying FileStore");
// Construct the forge verify-contract command based on the verifier type
let verifyCommand = `forge verify-contract ${fileStore} src/FileStore.sol:FileStore --chain-id ${chainId} --compiler-version ${fileStoreBuild.metadata.compiler.version} --num-of-optimizations ${fileStoreBuild.metadata.settings.optimizer.runs} --constructor-args ${fileStoreConstructorArgs} --watch`;

const verifierFlags = []
if (verifier.type === "etherscan") {
verifyCommand += ` --verifier etherscan --etherscan-api-key ${verifier.apiKey}`;
verifierFlags.push('--verifier etherscan')
verifierFlags.push(`--etherscan-api-key ${verifier.apiKey}`);
} else if (verifier.type === "blockscout") {
verifyCommand += ` --verifier blockscout --verifier-url ${verifier.url}/api/`;
verifierFlags.push('--verifier blockscout')
verifierFlags.push(`--verifier-url ${verifier.url}`)
if (verifier.apiKey) {
verifyCommand += ` --blockscout-api-key ${verifier.apiKey}`;
verifierFlags.push(`--blockscout-api-key ${verifier.apiKey}`);
}
}

await contracts$(verifyCommand);
await contracts$`forge 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}
--constructor-args ${fileStoreConstructorArgs}
--watch
${verifierFlags.join(' ')}`;

// TODO: figure out how to get sourcify working, this gives a generic 500 with "Compiler error"
// TODO: try to do this with sourcify API instead of forge?
// await contracts$`forge verify-contract ${fileStore} src/FileStore.sol:FileStore --chain-id ${chainId} --compiler-version ${fileStoreBuild.metadata.compiler.version} --num-of-optimizations ${fileStoreBuild.metadata.settings.optimizer.runs} --constructor-args ${fileStoreConstructorArgs} --verifier sourcify --watch`;
Expand Down

0 comments on commit 27a58b5

Please sign in to comment.