23 lines
895 B
Solidity
23 lines
895 B
Solidity
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
pragma solidity ^0.8.20;
|
||
|
|
|
||
|
|
import {Script, console2} from "forge-std/Script.sol";
|
||
|
|
import {VaultFactory} from "../../../contracts/vault/VaultFactory.sol";
|
||
|
|
import {GRUVaultIndex} from "../../../contracts/vault/GRUVaultIndex.sol";
|
||
|
|
|
||
|
|
/// @notice Wire an existing VaultFactory to an existing GRUVaultIndex (post-deploy on any chain).
|
||
|
|
contract WireGRUVaultFactoryToIndex is Script {
|
||
|
|
function run() external {
|
||
|
|
address factoryAddr = vm.envAddress("VAULT_FACTORY_ADDRESS");
|
||
|
|
address indexAddr = vm.envAddress("GRU_VAULT_INDEX");
|
||
|
|
|
||
|
|
vm.startBroadcast(vm.envUint("PRIVATE_KEY"));
|
||
|
|
VaultFactory(factoryAddr).setGruVaultIndex(indexAddr);
|
||
|
|
GRUVaultIndex(indexAddr).grantFactoryRole(factoryAddr);
|
||
|
|
vm.stopBroadcast();
|
||
|
|
|
||
|
|
console2.log("Wired VaultFactory", factoryAddr);
|
||
|
|
console2.log("GRUVaultIndex", indexAddr);
|
||
|
|
}
|
||
|
|
}
|