@@ -3,10 +3,13 @@ pragma solidity ^0.8.20;
3
3
4
4
import {Script, console} from "forge-std/Script.sol " ;
5
5
import {VerifierProveRSA65537SHA256} from "../src/verifiers/prove/Verifier_prove_rsa_65537_sha256.sol " ;
6
+ import {VerifierProveRSA65537SHA1} from "../src/verifiers/prove/Verifier_prove_rsa_65537_sha1.sol " ;
7
+ import {VerifierProveRSAPSS65537SHA256} from "../src/verifiers/prove/Verifier_prove_rsapss_65537_sha256.sol " ;
6
8
import {IProofOfPassportRegister} from "../src/interfaces/IProofOfPassportRegister.sol " ;
7
9
8
10
abstract contract CodeConstants {
9
11
uint256 public constant MAINNET_ETH_CHAIN_ID = 1 ;
12
+ uint256 public constant BASE_SEPOLIA_CHAIN_ID = 84532 ;
10
13
uint256 public constant ETH_SEPOLIA_CHAIN_ID = 11155111 ;
11
14
uint256 public constant LOCAL_CHAIN_ID = 31337 ;
12
15
@@ -22,9 +25,6 @@ abstract contract CodeConstants {
22
25
address [] public initialVerifiers;
23
26
uint256 [] public initialNullifiersIndexesInPubSigArray;
24
27
address [] public initialSigners;
25
-
26
- uint256 public DEFAULT_ANVIL_KEY = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 ;
27
- address public DEFAULT_ANVIL_ADDRESS = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 ;
28
28
}
29
29
30
30
contract HelperConfig is CodeConstants , Script {
@@ -35,21 +35,15 @@ contract HelperConfig is CodeConstants, Script {
35
35
address [] verifiers;
36
36
uint256 [] nullifiersIndexesInPubSigArray;
37
37
address [] signers;
38
- uint256 deployerKey;
39
- }
40
-
41
- NetworkConfig public networkConfig;
42
- mapping (uint256 => NetworkConfig) public networkConfigs;
43
-
44
- constructor () {
45
- networkConfigs[LOCAL_CHAIN_ID] = getOrCreateAnvilEthConfig ();
46
38
}
47
39
48
40
function getConfigByChainId (uint256 chainId ) public returns (NetworkConfig memory ) {
49
- if (networkConfig.verifiers.length > 0 && networkConfigs[chainId].verifiers[0 ] != address (0 )) {
50
- return networkConfigs[chainId];
51
- } else if (chainId == LOCAL_CHAIN_ID) {
41
+ if (chainId == LOCAL_CHAIN_ID) {
52
42
return getOrCreateAnvilEthConfig ();
43
+ } else if (chainId == ETH_SEPOLIA_CHAIN_ID) {
44
+ return getOrCreateSepoliaConfig ();
45
+ } else if (chainId == BASE_SEPOLIA_CHAIN_ID) {
46
+ return getOrCreateSepoliaConfig ();
53
47
} else {
54
48
revert HelperConfig__InvalidChainId ();
55
49
}
@@ -60,11 +54,6 @@ contract HelperConfig is CodeConstants, Script {
60
54
}
61
55
62
56
function getOrCreateAnvilEthConfig () public returns (NetworkConfig memory ) {
63
- // Check to see if we set an active network config
64
- if (networkConfig.verifiers.length > 0 && networkConfig.verifiers[0 ] != address (0 )) {
65
- return networkConfig;
66
- }
67
-
68
57
initialSignatureAlgorithms.push (SIGNATURE_ALGORITHM_RSA_65537_SHA256);
69
58
70
59
// Get Signer
@@ -80,14 +69,41 @@ contract HelperConfig is CodeConstants, Script {
80
69
81
70
initialVerifiers.push (address (verifierProveRSA65537SHA256));
82
71
83
- networkConfig = NetworkConfig ({
72
+ return NetworkConfig ({
84
73
signatureAlgorithms: initialSignatureAlgorithms,
85
74
verifiers: initialVerifiers,
86
75
nullifiersIndexesInPubSigArray: initialNullifiersIndexesInPubSigArray,
87
- signers: initialSigners,
88
- deployerKey: DEFAULT_ANVIL_KEY
76
+ signers: initialSigners
89
77
});
78
+ }
79
+
80
+ function getOrCreateSepoliaConfig () public returns (NetworkConfig memory ) {
81
+ vm.startBroadcast ();
82
+ VerifierProveRSA65537SHA256 verifierProveRSA65537SHA256 = new VerifierProveRSA65537SHA256 ();
83
+ VerifierProveRSA65537SHA1 verifierProveRSA65537SHA1 = new VerifierProveRSA65537SHA1 ();
84
+ VerifierProveRSAPSS65537SHA256 verifierProveRSA65537PSSSHA256 = new VerifierProveRSAPSS65537SHA256 ();
85
+ vm.stopBroadcast ();
86
+
87
+ initialSignatureAlgorithms.push (SIGNATURE_ALGORITHM_RSA_65537_SHA256);
88
+ initialSignatureAlgorithms.push (SIGNATURE_ALGORITHM_RSA_65537_SHA1);
89
+ initialSignatureAlgorithms.push (SIGNATURE_ALGORITHM_RSA_PSS_65537_SHA256);
90
+
91
+ initialVerifiers.push (address (verifierProveRSA65537SHA256));
92
+ initialVerifiers.push (address (verifierProveRSA65537SHA1));
93
+ initialVerifiers.push (address (verifierProveRSA65537PSSSHA256));
94
+
95
+ initialNullifiersIndexesInPubSigArray.push (NULLIFIER_INDEX_IN_PUB_SIGNAL);
96
+ initialNullifiersIndexesInPubSigArray.push (NULLIFIER_INDEX_IN_PUB_SIGNAL);
97
+ initialNullifiersIndexesInPubSigArray.push (NULLIFIER_INDEX_IN_PUB_SIGNAL);
98
+
99
+ address INITIAL_SIGNER = vm.envAddress ("INITIAL_SIGNER " );
100
+ initialSigners.push (INITIAL_SIGNER);
90
101
91
- return networkConfig;
102
+ return NetworkConfig ({
103
+ signatureAlgorithms: initialSignatureAlgorithms,
104
+ verifiers: initialVerifiers,
105
+ nullifiersIndexesInPubSigArray: initialNullifiersIndexesInPubSigArray,
106
+ signers: initialSigners
107
+ });
92
108
}
93
109
}
0 commit comments