You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/0_internal/3_b_1_deploy_new_impl.md
+15-19Lines changed: 15 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,41 +2,39 @@
2
2
3
3
To deploy a new implementation, you can follow the steps below.
4
4
5
-
6
5
## Prerequisites
7
6
8
7
1. Make sure you have set variables as specified in the [Deploy Contracts Guide](./2_deploy_contracts.md).
9
8
10
9
2. Set ```MULTISIG=true``` on the ```.env``` used to deploy. ```contracts/scripts/.env.mainnet``` or ```contracts/scripts/.env.holesky``` or ```contracts/scripts/.env.sepolia```
11
10
12
-
13
11
## Deploy New Implementation for AlignedLayerServiceManager
14
12
15
13
1. Deploy the new implementation by running:
16
14
17
15
For **Mainnet** deployment:
18
-
16
+
19
17
```bash
20
18
make upgrade_aligned_contracts NETWORK=mainnet
21
19
```
22
20
23
21
For **Holesky** deployment:
24
-
22
+
25
23
```bash
26
24
make upgrade_aligned_contracts NETWORK=holesky
27
25
```
28
-
26
+
29
27
For **Sepolia** deployment:
30
-
28
+
31
29
```bash
32
30
make upgrade_aligned_contracts NETWORK=sepolia
33
31
```
34
32
35
33
If the new implementation is correctly deployed, the terminal will show the following message:
36
34
37
-
```
35
+
```html
38
36
The new aligned layer service manager implementation is <new_aligned_layer_service_manager_implementation>
39
-
37
+
40
38
You can propose the upgrade transaction with the multisig using this calldata
41
39
<calldata>
42
40
```
@@ -45,43 +43,41 @@ To deploy a new implementation, you can follow the steps below.
45
43
46
44
2. Create a PR with the new address for the AlignedLayerServiceManagerImplementation.
47
45
48
-
49
46
## Deploy New Implementation for BatcherPaymentService
50
47
51
48
1. Deploy the new implementation by running:
52
49
53
50
For **Mainnet** deployment:
54
-
51
+
55
52
```bash
56
53
make upgrade_batcher_payment_service NETWORK=mainnet
57
54
```
58
-
55
+
59
56
For **Holesky** deployment:
60
-
57
+
61
58
```bash
62
59
make upgrade_batcher_payment_service NETWORK=holesky
63
60
```
64
-
61
+
65
62
For **Sepolia** deployment:
66
-
63
+
67
64
```bash
68
65
make upgrade_batcher_payment_service NETWORK=sepolia
69
66
```
70
67
71
68
If the new implementation is correctly deployed, the script will show the following message:
72
69
73
-
```
70
+
```html
74
71
The new Batcher Payment Service Implementation is <new_batcher_payment_service_implementation>
75
-
76
-
You can propose the upgrade transaction with the multisig using this calldata
72
+
73
+
You can propose the upgrade transaction with the multisig using this calldata
77
74
<calldata>
78
75
```
79
-
76
+
80
77
Also, the ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json``` file will be updated with the new implementation address depending on the network you are deploying.
81
78
82
79
2. Create a PR with the new address for the BatcherPaymentServiceImplementation.
83
80
84
-
85
81
## Next Steps
86
82
87
83
Once you have deployed the new implementation of the contract you want to upgrade, you need to propose the upgrade transaction to the mulstisig, following this [guide](./3_b_2_propose_upgrade.md).
4. Get the `alignedLayerProxyAdmin` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json```, and paste it on `Enter Address or ENS Name`
17
+
3. Get the `alignedLayerProxyAdmin` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json```, and paste it on `Enter Address or ENS Name`
18
18
19
-
5. Once you paste the address, the ABI should be automatically filled.
19
+
4. Once you paste the address, the ABI should be automatically filled.
20
20
21
-
6. Choose the method ```upgrade``` in ```Contract method selector```.
21
+
5. Choose the method ```upgrade``` in ```Contract method selector```.
22
22
23
-
7. Get the ```alignedLayerServiceManager``` and ```alignedServiceManagerImplementation``` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json```.
23
+
6. Get the ```alignedLayerServiceManager``` and ```alignedServiceManagerImplementation``` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json```.
24
24
25
-
8. Paste ```alignedLayerServiceManager``` address in ```proxy (address)```
25
+
7. Paste ```alignedLayerServiceManager``` address in ```proxy (address)```
26
26
27
-
9. Paste ```alignedServiceManagerImplementation``` address in ```implementation (address)```
27
+
8. Paste ```alignedServiceManagerImplementation``` address in ```implementation (address)```
28
28
29
-
10. Click on `Create batch` to create the transaction.
29
+
9. Click on `Create batch` to create the transaction.
30
30
31
31

32
32
33
-
11. Review and confirm the transaction.
34
-
33
+
10. Review and confirm the transaction.
34
+
35
35
To make sure everything is fine, simulate the transaction by clicking on `Simulate batch`
36
-
36
+
37
37
Once the simulation is successful, click on `Send Batch` to send the transaction.
38
38
39
39

40
40
41
-
12. Confirm the transaction checking the function being called is correct and the contract address is the one you deployed.
41
+
11. Confirm the transaction checking the function being called is correct and the contract address is the one you deployed.
42
42
43
43
If everything is correct, click on `Sign` to send the transaction.
This program leverages Aligned's ZK verification infrastructure to run a small quiz. The proof allows any party to check that the quiz was answered right or wrong. If answered correctly, the user receives an NFT.
6
+
7
+
The process is as follows:
8
+
9
+
1. The user runs ZKQuiz and answers the questions.
10
+
2. ZKQuiz generates a ZK Proof of correct answers.
11
+
3. The proof is posted on Aligned.
12
+
4. Upon verification, ZKQuiz mints an NFT via a Smart Contract.
13
+
14
+
The NFT is only granted if the user's answers correctly.
15
+
Incorrect answers or tampering with the ZKQuiz code will result in proof generation failure or mismatched checksums,
16
+
preventing NFT minting.
17
+
18
+
Next, we will see how to execute ZKQuiz to get your own ZKQuiz NFT!
0 commit comments