proposal draft

This commit is contained in:
gozzy 2023-04-09 13:12:49 +00:00
parent 168ba92f3b
commit 1655a5ef88
6 changed files with 66 additions and 4 deletions

12
.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
# Compiler files
cache/
out/
# Ignores development broadcast logs
!/broadcast
/broadcast/*/31337/
/broadcast/**/dry-run/
# Dotenv file
node_modules
.env

1
.gitmodules vendored
View File

@ -1,3 +1,4 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
branch = v1.5.1

View File

@ -1,9 +1,21 @@
pragma solidity 0.8.1;
import "./interfaces/IERC20.sol";
import "./interfaces/IRelayerRegistry.sol";
import "./proprietary/Parameters.sol";
contract Proposal {
contract Proposal is Parameters {
function executeProposal() external { }
function executeProposal() external {
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[0]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[1]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[2]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[3]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[4]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[5]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[6]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[7]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[8]);
IRelayerRegistry(_registryAddress).nullifyBalance(VIOLATING_RELAYERS[9]);
}
}

13
src/interfaces/IERC20.sol Normal file
View File

@ -0,0 +1,13 @@
pragma solidity 0.8.1;
interface IERC20 {
function transfer(address to, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
function balanceOf(address owner) external returns (uint256);
function approve(address spender, uint256 amount) external;
}

View File

@ -0,0 +1,7 @@
pragma solidity ^0.8.1;
interface IRelayerRegistry {
function nullifyBalance(address relayer) external;
}

View File

@ -1,3 +1,20 @@
pragma solidity 0.8.1;
contract Parameters { }
contract Parameters {
address[10] VIOLATING_RELAYERS = [
0x30F96AEF199B399B722F8819c9b0723016CEAe6C, // moon-relayer.eth
0xEFa22d23de9f293B11e0c4aC865d7b440647587a, // tornado-relayer.eth
0x996ad81FD83eD7A87FD3D03694115dff19db0B3b, // secure-tornado.eth
0x7853E027F37830790685622cdd8685fF0c8255A2, // tornado-secure.eth
0x36DD7b862746fdD3eDd3577c8411f1B76FDC2Af5, // tornado-crypto-bot-exchange.eth
0x18F516dD6D5F46b2875Fd822B994081274be2a8b, // torn69.eth
0x853281B7676DFB66B87e2f26c9cB9D10Ce883F37, // available-reliable-relayer.eth
0xaaaaD0b504B4CD22348C4Db1071736646Aa314C6, // tornrelayers.eth
0x0000208a6cC0299dA631C08fE8c2EDe435Ea83B8, // 0xtornadocash.eth
0xf0D9b969925116074eF43e7887Bcf035Ff1e7B19 // lowfee-relayer.eth
];
address _registryAddress = 0x01e2919679362dFBC9ee1644Ba9C6da6D6245BB1;
}