Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
e6bd955
turn off error for fully public contracts
lydiagarms Oct 13, 2025
c728b94
formatting
lydiagarms Oct 13, 2025
05fcbb2
chore(setup): remove zk setup when contract is fully public
lydiagarms Nov 28, 2025
103a8b2
chore(contracts): fix contract deployment to support fully public con…
lydiagarms Dec 2, 2025
992ddb8
chore(orchestration): include common orchestration files for fully pu…
lydiagarms Dec 2, 2025
057fedf
fix(solidity-types): allow IdentifierPath and InheritanceSpecifier so…
lydiagarms Dec 4, 2025
8ea93ff
formatting
lydiagarms Dec 17, 2025
af31597
fix(orchestration): skip blocks for fully public contracts - we don't…
lydiagarms Dec 17, 2025
e8b17ab
chore(contracts) support new expressions
lydiagarms Dec 17, 2025
711e810
fix(contracts): semi colons for unary statements
lydiagarms Dec 12, 2025
a67fc31
fix(contracts): mappings in returns in contracts
lydiagarms Dec 14, 2025
23063ad
fix(contracts): semicolons after internal function calls
lydiagarms Dec 14, 2025
f1e25d6
chore(contracts): support conditionals
lydiagarms Dec 15, 2025
668920d
chore(contracts): support member access
lydiagarms Dec 15, 2025
457dab2
fix(contracts): empty strings returned in contracts
lydiagarms Dec 15, 2025
21510e5
fix(contracts): public booleans should be returned
lydiagarms Dec 17, 2025
a22e25a
fix(contracts): returns for public nested mappings
lydiagarms Dec 17, 2025
6bcd96a
fix(contracts): fix tuple expressions
lydiagarms Dec 15, 2025
8259adf
fix(contracts): address() undefined in contracts
lydiagarms Dec 15, 2025
89d5dcc
fix(contracts): space after delete operator
lydiagarms Dec 15, 2025
ce020fd
fix(contracts): replace ERC with ERCShield in contract
lydiagarms Dec 16, 2025
d312a2b
chore(contracts): copy .zol contract into shield contract for fully p…
lydiagarms Dec 16, 2025
abfb882
fix(unsupportedChecks): remove error message for unsupported while lo…
lydiagarms Dec 16, 2025
0a76a08
fix(scope): zappify error for fully public contract
lydiagarms Dec 16, 2025
d5f796a
fix(traverse): zappify error due to no declaration for abi when check…
lydiagarms Dec 16, 2025
d78c15f
fix(orchestration): include function signatre when a return is a boolean
lydiagarms Dec 16, 2025
e7d9e70
fix(contracts): include internal function calls in the contracts if t…
lydiagarms Dec 16, 2025
69e9abb
fix(unsupportedchecks): turn off unsupported pure error for fully pub…
lydiagarms Dec 16, 2025
a903b13
fix(orchestration): exit orchestrationInternalFunctionCallVisitor if …
lydiagarms Dec 16, 2025
df9191e
fix(contracts): error generating contracts AST where the original con…
lydiagarms Dec 16, 2025
d9d73f6
chore(contracts): support conditionals
lydiagarms Dec 16, 2025
de6edee
fix(contracts): zappify errors during contract compilation for fully …
lydiagarms Dec 17, 2025
bfb2e9d
fix(orchestration): error due to constructorTx not being created as t…
lydiagarms Dec 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 0 additions & 62 deletions migrations/deploy.js

This file was deleted.

66 changes: 0 additions & 66 deletions migrations/metadata.js

This file was deleted.

109 changes: 109 additions & 0 deletions src/boilerplate/common/bin/setup-public
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#!/bin/bash
set -e

GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'

while getopts "n:a:m:k:r:s:" arg; do
case $arg in
n)
network=$OPTARG
echo networkvalue $OPTARG
;;
a)
account=$OPTARG
echo accountvalue $OPTARG
;;
m)
mnemonic=$OPTARG
echo mnemonicvalue $OPTARG
;;
k)
key=$OPTARG
echo keyvalue $OPTARG
;;
r)
rpc=$OPTARG
echo rpcvalue $OPTARG
;;
s)
setup=$OPTARG
echo setup $OPTARG
;;
esac
done

cp docker-compose.zapp.override.default.yml docker-compose.zapp.override.yml

cp deploy_default.sh deploy.sh

cp config/default_standard.js config/default.js

cp bin/default_startup bin/startup


rm -rf proving-files

perl -i -pe "s,docker-compose.zapp.yml -f docker-compose.zapp.override.yml,docker-compose.zapp.yml,g" package.json

if [[ $network == 'amoy' ]] || [[ $network == 'sepolia' ]] || [[ $network == 'goerli' ]] || [[ $network == 'cardona' ]]|| [[ $network == 'zkEVM' ]] || [[ $network == 'base-mainnet' ]]
then
perl -i -pe "s,DEFAULT_ACCOUNT: '',DEFAULT_ACCOUNT: \'$account\',g" docker-compose.zapp.override.yml
perl -i -pe "s,DEFAULT_ACCOUNT_MNEMONIC: '',DEFAULT_ACCOUNT_MNEMONIC: \'$mnemonic\',g" docker-compose.zapp.override.yml
perl -i -pe "s,KEY: '',KEY: \'$key\',g" docker-compose.zapp.override.yml
perl -i -pe "s,docker-compose.zapp.yml up,docker-compose.zapp.yml -f docker-compose.zapp.override.yml up,g" bin/startup
perl -i -pe "s,docker-compose.zapp.yml,docker-compose.zapp.yml -f docker-compose.zapp.override.yml,g" package.json
perl -i -pe "s,docker compose -f docker-compose.zapp.yml -f docker-compose.zapp.override.yml up -d ganache, ## up ganache service for ganache,g" bin/startup
perl -i -pe "s,! nc -z localhost 8545,false,g" bin/startup
fi

if [[ $network == 'amoy' ]]
then
perl -i -pe "if (!\$found1 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/polygon-amoy.g.alchemy.com\/v2\/$rpc'/) { \$found1 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found2 && s/RPC_URL: ''/RPC_URL: 'https:\/\/polygon-amoy.g.alchemy.com\/v2\/$rpc'/) { \$found2 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found3 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/polygon-amoy.g.alchemy.com\/v2\/$rpc'/) { \$found3 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "s,migrations/deploy.js,migrations/deploy.js --network amoy,g" deploy.sh
fi


if [[ $network == 'sepolia' ]]
then
perl -i -pe "s,RPC_URL: '',RPC_URL: \'wss://sepolia.infura.io/ws/v3//$rpc\',g" docker-compose.zapp.override.yml
perl -i -pe "s,migrations/deploy.js,migrations/deploy.js --network sepolia,g" deploy.sh
fi

if [[ $network == 'goerli' ]]
then
perl -i -pe "s,RPC_URL: '',RPC_URL: \'wss://goerli.infura.io/ws/v3/$rpc\',g" docker-compose.zapp.override.yml
perl -i -pe "s,migrations/deploy.js,migrations/deploy.js --network goerli,g" deploy.sh
fi

if [[ $network == 'cardona' ]]
then
perl -i -pe "if (!\$found1 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/polygon-zkevm-cardona.blastapi.io\/$rpc'/) { \$found1 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found2 && s/RPC_URL: ''/RPC_URL: 'https:\/\/polygon-zkevm-cardona.blastapi.io\/$rpc'/) { \$found2 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found3 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/polygon-zkevm-cardona.blastapi.io\/$rpc'/) { \$found3 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "s,migrations/deploy.js,migrations/deploy.js --network cardona,g" deploy.sh
perl -i -pe "s,defaultGasPrice: 30000000000,defaultGasPrice: 5,g" config/default.js
fi

if [[ $network == 'zkEVM' ]]
then
perl -i -pe "if (!\$found1 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/polygon-zkevm-mainnet.blastapi.io\/$rpc'/) { \$found1 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found2 && s/RPC_URL: ''/RPC_URL: 'https:\/\/polygon-zkevm-mainnet.blastapi.io\/$rpc'/) { \$found2 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found3 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/polygon-zkevm-mainnet.blastapi.io\/$rpc'/) { \$found3 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "s,migrations/deploy.js,migrations/deploy.js --network zkEVM,g" deploy.sh
perl -i -pe "s,defaultGasPrice: 30000000000,defaultGasPrice: 5,g" config/default.js
fi

if [[ $network == 'base-mainnet' ]]
then
perl -i -pe "if (!\$found1 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/base-mainnet.g.alchemy.com\/v2\/$rpc'/) { \$found1 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found2 && s/RPC_URL: ''/RPC_URL: 'https:\/\/base-mainnet.g.alchemy.com\/v2\/$rpc'/) { \$found2 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "if (!\$found3 && s/RPC_URL: ''/RPC_URL: 'wss:\/\/base-mainnet.g.alchemy.com\/v2\/$rpc'/) { \$found3 = 1 }" docker-compose.zapp.override.yml
perl -i -pe "s,migrations/deploy.js,migrations/deploy.js --network base-mainnet,g" deploy.sh
perl -i -pe "s,defaultGasPrice: 30000000000,//defaultGasPrice: 30000000000,g" config/default.js
fi

printf "\n${GREEN}*** Finished! ***${NC}\n"
39 changes: 39 additions & 0 deletions src/boilerplate/common/migrations/deploy-public.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

const hre = require('hardhat')
const fs = require('fs');
const c = require('config');
CUSTOM_CONTRACT_IMPORT
CUSTOM_PROOF_IMPORT
const saveMetadata = require('./metadata').saveMetadata


async function main () {
try {

const chainId = (await hre.ethers.provider.getNetwork()).chainId;

CUSTOM_CONTRACTS
// Deploy AssignShield
const CONTRACT_NAME = await hre.ethers.getContractFactory('CONTRACT_NAME');
const contractShield = await CONTRACT_NAME.deploy(CUSTOM_INPUTS);
await contractShield.waitForDeployment();
const contractAddress = await contractShield.getAddress();
blockNumber = await hre.ethers.provider.getBlockNumber();
console.log('CONTRACT_NAME deployed to:', contractAddress);
deployTx = await contractShield.deploymentTransaction().wait()
console.log('CONTRACT_NAME deployed to:', contractAddress, 'tx hash:', deployTx.hash);
saveMetadata(contractAddress, 'CONTRACT_NAME', "", chainId, blockNumber, deployTx.hash);
console.log("Deployment successful! Exiting...");

// Ensure all pending tasks are completed before exit
setTimeout(() => process.exit(0), 1000);
} catch (error) {
console.error('Deployment failed:', error);
process.exit(1);
}
}

main().catch((error) => {
console.error(error)
process.exitCode = 1
})
Loading
Loading