@@ -6,44 +6,35 @@ echo " ┌───────────────────────
6
6
echo " │ Compiling L2EP contracts... │"
7
7
echo " └──────────────────────────────────────────────┘"
8
8
9
- SOLC_VERSION=" 0.8.24"
10
- OPTIMIZE_RUNS=1000000
11
-
12
- SCRIPTPATH=" $( cd " $( dirname " $0 " ) " > /dev/null 2>&1 ; pwd -P ) "
13
- python3 -m pip install --require-hashes -r $SCRIPTPATH /requirements.txt
14
- solc-select install $SOLC_VERSION
15
- solc-select use $SOLC_VERSION
16
-
17
- ROOT=" $(
18
- cd " $( dirname " $0 " ) " > /dev/null 2>&1
19
- cd ../ && pwd -P
20
- ) "
21
-
22
- compileContract () {
23
- local version=" $1 "
24
- local srcpath=" $2 "
25
- solc \
26
- @openzeppelin/=$ROOT /node_modules/@openzeppelin/ \
27
- @eth-optimism/=$ROOT /node_modules/@eth-optimism/ \
28
- @scroll-tech/=$ROOT /node_modules/@scroll-tech/ \
29
- --overwrite --optimize --optimize-runs $OPTIMIZE_RUNS --metadata-hash none \
30
- -o $ROOT /solc/v$SOLC_VERSION /l2ep/" $version " \
31
- --abi --bin --allow-paths $ROOT /src/v0.8,$ROOT /node_modules \
32
- --evm-version paris \
33
- $ROOT /src/v0.8/l2ep/" $srcpath "
9
+ PROJECT=" l2ep"
10
+
11
+ CONTRACTS_DIR=" $( cd " $( dirname " $0 " ) " > /dev/null 2>&1 ; cd ../ && pwd -P ) "
12
+ export FOUNDRY_PROFILE=" $PROJECT "
13
+
14
+ compileContract () {
15
+ local contract
16
+ contract=$( basename " $1 " )
17
+ echo " Compiling" " $contract "
18
+
19
+ local command
20
+ command=" forge build $CONTRACTS_DIR /src/v0.8/$PROJECT /" $1 .sol" \
21
+ --root $CONTRACTS_DIR \
22
+ --extra-output-files bin abi \
23
+ -o $CONTRACTS_DIR /solc/$PROJECT /$contract "
24
+ $command
34
25
}
35
26
36
- compileContract v1_0_0 dev/ arbitrum/ArbitrumValidator.sol
37
- compileContract v1_0_0 dev/ arbitrum/ArbitrumSequencerUptimeFeed.sol
38
- compileContract v1_0_0 dev/ arbitrum/ArbitrumCrossDomainForwarder.sol
39
- compileContract v1_0_0 dev/ arbitrum/ArbitrumCrossDomainGovernor.sol
27
+ compileContract arbitrum/ArbitrumValidator
28
+ compileContract arbitrum/ArbitrumSequencerUptimeFeed
29
+ compileContract arbitrum/ArbitrumCrossDomainForwarder
30
+ compileContract arbitrum/ArbitrumCrossDomainGovernor
40
31
41
- compileContract v1_0_0 dev/ optimism/OptimismValidator.sol
42
- compileContract v1_0_0 dev/ optimism/OptimismSequencerUptimeFeed.sol
43
- compileContract v1_0_0 dev/ optimism/OptimismCrossDomainForwarder.sol
44
- compileContract v1_0_0 dev/ optimism/OptimismCrossDomainGovernor.sol
32
+ compileContract optimism/OptimismValidator
33
+ compileContract optimism/OptimismSequencerUptimeFeed
34
+ compileContract optimism/OptimismCrossDomainForwarder
35
+ compileContract optimism/OptimismCrossDomainGovernor
45
36
46
- compileContract v1_0_0 dev/ scroll/ScrollValidator.sol
47
- compileContract v1_0_0 dev/ scroll/ScrollSequencerUptimeFeed.sol
48
- compileContract v1_0_0 dev/ scroll/ScrollCrossDomainForwarder.sol
49
- compileContract v1_0_0 dev/ scroll/ScrollCrossDomainGovernor.sol
37
+ compileContract scroll/ScrollValidator
38
+ compileContract scroll/ScrollSequencerUptimeFeed
39
+ compileContract scroll/ScrollCrossDomainForwarder
40
+ compileContract scroll/ScrollCrossDomainGovernor
0 commit comments