@@ -3,14 +3,16 @@ pragma solidity ^0.8.20;
33
44import {BaseDeployScript} from "./BaseDeployScript.sol " ;
55import {Random} from "../randomness/Random.sol " ;
6-
6+ import {AddressBook} from " ../AddressBook.sol " ;
77/**
88 * @dev Deploys the Randomness contract.
99 */
10+
1011contract DeployRandom is BaseDeployScript {
11- bytes32 public constant DEPLOYMENT_SALT = bytes32 (uint256 (0 ));
12+ bytes32 public constant RANDOM_DEPLOYMENT_SALT = bytes32 (uint256 (0 ));
13+ bytes32 public constant CONFIG_DEPLOYMENT_SALT = bytes32 (uint256 (1 ));
1214 Random public random;
13-
15+ AddressBook public addressBook;
1416 /*
1517 * To understand these values. Please refer to the following link:
1618 * https://docs.anyrand.com/diy/quickstart
@@ -33,16 +35,24 @@ contract DeployRandom is BaseDeployScript {
3335
3436 function deploy () internal override {
3537 uint256 precommitDelayBlocks = vm.envUint ("PRECOMMIT_DELAY_BLOCKS " );
36- address owner = vm.envAddress ("RANDOM_OWNER " );
38+ address randomOwner = vm.envAddress ("RANDOM_OWNER " );
3739 (address _random ,) = deployDeterministic (
3840 "Random " ,
3941 type (Random).creationCode,
4042 abi.encode (
41- owner , drandPublicKey, DRAND_GENESIS_TIMESTAMP_SECONDS, DRAND_PERIOD_SECONDS, precommitDelayBlocks
43+ randomOwner , drandPublicKey, DRAND_GENESIS_TIMESTAMP_SECONDS, DRAND_PERIOD_SECONDS, precommitDelayBlocks
4244 ),
43- DEPLOYMENT_SALT
45+ RANDOM_DEPLOYMENT_SALT
4446 );
4547 random = Random (_random);
4648 deployed ("Random " , address (random));
49+
50+ address addressBookOwner = vm.envAddress ("ADDRESS_BOOK_OWNER " );
51+ (address _addressBook ,) = deployDeterministic (
52+ "AddressBook " , type (AddressBook).creationCode, abi.encode (addressBookOwner, _random), CONFIG_DEPLOYMENT_SALT
53+ );
54+ addressBook = AddressBook (_addressBook);
55+
56+ deployed ("AddressBook " , address (addressBook));
4757 }
4858}
0 commit comments