// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import { ProposalUtils } from "./utils/ProposalUtils.sol"; import { UpdateENSDataProposal } from "@root/UpdateENSDataProposal.sol"; import { console2 } from "@forge-std/console2.sol"; import { IENSResolver } from "@interfaces/IENSResolver.sol"; contract TestExampleProposal is ProposalUtils { IENSResolver ensResolver = IENSResolver(0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41); modifier executeCurrentProposalBefore() { createAndExecuteProposal(); _; } function createAndExecuteProposal() public { address proposalAddress = address(new UpdateENSDataProposal()); proposeAndExecute(proposalAddress); } function testStakingAddressChanged() public executeCurrentProposalBefore { bytes32 stakingRewardsENSNode = 0x3da4b79cd8c20d2fafb1c7cb37a62be8668f543393f6636d421fba0be735e68f; address stakingAddressAfterProposal = ensResolver.addr(stakingRewardsENSNode); console2.log("Address on staking ENS Tornado subdomain (staking-rewards.contract.tornadocash.eth): %s", stakingAddressAfterProposal); require(stakingAddressAfterProposal == stakingAddress); } }