1
+ #! /bin/sh
2
+ set -e
3
+
4
+ alias aztec=' node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js'
5
+
6
+ # Pass the bootnode url as an argument
7
+ # Ask the bootnode for l1 contract addresses
8
+ output=$( aztec get-node-info -u $1 )
9
+
10
+ echo " $output "
11
+
12
+ boot_node_enr=$( echo " $output " | grep -oP ' Node ENR: \Kenr:[a-zA-Z0-9\-\_\.]+' )
13
+ rollup_address=$( echo " $output " | grep -oP ' Rollup Address: \K0x[a-fA-F0-9]{40}' )
14
+ registry_address=$( echo " $output " | grep -oP ' Registry Address: \K0x[a-fA-F0-9]{40}' )
15
+ inbox_address=$( echo " $output " | grep -oP ' L1 -> L2 Inbox Address: \K0x[a-fA-F0-9]{40}' )
16
+ outbox_address=$( echo " $output " | grep -oP ' L2 -> L1 Outbox Address: \K0x[a-fA-F0-9]{40}' )
17
+ availability_oracle_address=$( echo " $output " | grep -oP ' Availability Oracle Address: \K0x[a-fA-F0-9]{40}' )
18
+ fee_juice_address=$( echo " $output " | grep -oP ' Fee Juice Address: \K0x[a-fA-F0-9]{40}' )
19
+ fee_juice_portal_address=$( echo " $output " | grep -oP ' Fee Juice Portal Address: \K0x[a-fA-F0-9]{40}' )
20
+
21
+ # Generate a private key for the validator
22
+ json_account=$( aztec generate-l1-account)
23
+
24
+ echo " $json_account "
25
+ address=$( echo $json_account | jq -r ' .address' )
26
+ private_key=$( echo $json_account | jq -r ' .privateKey' )
27
+
28
+ aztec add-l1-validator --validator $address --rollup $rollup_address
29
+
30
+ aztec fast-forward-epochs --rollup $rollup_address --count 1
31
+
32
+
33
+ # Write the addresses to a file in the shared volume
34
+ cat << EOF > /shared/contracts.env
35
+ export BOOTSTRAP_NODES=$boot_node_enr
36
+ export ROLLUP_CONTRACT_ADDRESS=$rollup_address
37
+ export REGISTRY_CONTRACT_ADDRESS=$registry_address
38
+ export INBOX_CONTRACT_ADDRESS=$inbox_address
39
+ export OUTBOX_CONTRACT_ADDRESS=$outbox_address
40
+ export AVAILABILITY_ORACLE_CONTRACT_ADDRESS=$availability_oracle_address
41
+ export FEE_JUICE_CONTRACT_ADDRESS=$fee_juice_address
42
+ export FEE_JUICE_PORTAL_CONTRACT_ADDRESS=$fee_juice_portal_address
43
+ export VALIDATOR_PRIVATE_KEY=$private_key
44
+ export L1_PRIVATE_KEY=$private_key
45
+ export SEQ_PUBLISHER_PRIVATE_KEY=$private_key
46
+ EOF
47
+
48
+ cat /shared/contracts.env
0 commit comments