Add testing contract on Goerli, that all users can set up IPFS hashes and check results
This commit is contained in:
parent
7be69e8f7f
commit
ed66629365
@ -6,4 +6,8 @@ interface IENSRegistry {
|
||||
function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external returns (bytes32);
|
||||
|
||||
function setOwner(bytes32 node, address owner) external;
|
||||
|
||||
function owner(bytes32 node) external view returns (address);
|
||||
|
||||
function recordExists(bytes32 node) external view returns (bool);
|
||||
}
|
||||
|
@ -5,23 +5,53 @@ pragma solidity ^0.8.19;
|
||||
import { IENSResolver } from "@interfaces/IENSResolver.sol";
|
||||
import { IENSRegistry } from "@interfaces/IENSRegistry.sol";
|
||||
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
|
||||
import { TornadoAddresses } from "@proprietary/TornadoAddresses.sol";
|
||||
|
||||
contract GoerliTestProposal is Ownable {
|
||||
address ensResolverAddress = 0xd7a4F6473f32aC2Af804B3686AE8F1932bC35750; // goerli ENS resolver for testedy.eth
|
||||
contract GoerliTestProposal is Ownable, TornadoAddresses {
|
||||
address ensResolverAddress = 0xd7a4F6473f32aC2Af804B3686AE8F1932bC35750; // goerli ENS resolver
|
||||
address ensRegistryAddress = 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e;
|
||||
bytes32 testNode = 0x121818cfd40893900bebefa5ccf60544db43ba8fa1d2d56433984132883bee88; // test.testedy.eth
|
||||
bytes32 testNode = 0xa8f2228d0331c20e8d36b0bf33b102b5b8d8d416db25502b04e5b854d7a5c556; // tornadotest.eth on Goerli
|
||||
|
||||
function executeProposal() public onlyOwner {
|
||||
IENSResolver ensResolver = IENSResolver(ensResolverAddress);
|
||||
IENSRegistry ensRegistry = IENSRegistry(ensRegistryAddress);
|
||||
|
||||
function changeNode(bytes32 newNode) public onlyOwner {
|
||||
require(ensRegistry.recordExists(newNode), "Node doesn't exist");
|
||||
require(ensRegistry.owner(newNode) == address(this), "Contract is not an owner of new ENS name");
|
||||
transferDomainOwnership(owner());
|
||||
|
||||
testNode = newNode;
|
||||
}
|
||||
|
||||
function setClassicUiIpfs() public {
|
||||
bytes memory classicUiIPFSContenthash = hex"e301017012208124caa06a8419371b1d2eab9180191727d1ce0c0832975362f77a679ce614b6";
|
||||
|
||||
ensResolver.setContenthash(testNode, classicUiIPFSContenthash);
|
||||
}
|
||||
|
||||
function returnDomainOwnership() public onlyOwner {
|
||||
IENSRegistry ensRegistry = IENSRegistry(ensRegistryAddress);
|
||||
function setNovaIpfs() public {
|
||||
bytes memory novaUiIPFSContenthash = hex"e3010170122069648b09fb7ed9a89ca153a000bc8c1bf82a779195a640609e1510dc36c28bb7";
|
||||
|
||||
ensRegistry.setOwner(testNode, owner());
|
||||
ensResolver.setContenthash(testNode, novaUiIPFSContenthash);
|
||||
}
|
||||
|
||||
function setRelayersNetworkIpfs() public {
|
||||
bytes memory relayersUiIPFSContenthash = hex"e301017012203d61bed0641d7c53d5f036b6448f9d455ae6e0ceda44563009536a12e51d52cf";
|
||||
|
||||
ensResolver.setContenthash(testNode, relayersUiIPFSContenthash);
|
||||
}
|
||||
|
||||
function setDocsIpfs() public {
|
||||
bytes memory docsIPFSContenthash = hex"e3010170122008ba5879914413355290e3c8574825f7a09e59a9802a5fad1edfb3ce6a4f825b";
|
||||
|
||||
ensResolver.setContenthash(testNode, docsIPFSContenthash);
|
||||
}
|
||||
|
||||
function setStakingAddress() public {
|
||||
ensResolver.setAddr(testNode, stakingAddress);
|
||||
}
|
||||
|
||||
function transferDomainOwnership(address to) public onlyOwner {
|
||||
ensRegistry.setOwner(testNode, to);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user