proposal draft
This commit is contained in:
parent
168ba92f3b
commit
1655a5ef88
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal 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
1
.gitmodules
vendored
@ -1,3 +1,4 @@
|
||||
[submodule "lib/forge-std"]
|
||||
path = lib/forge-std
|
||||
url = https://github.com/foundry-rs/forge-std
|
||||
branch = v1.5.1
|
||||
|
@ -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
13
src/interfaces/IERC20.sol
Normal 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;
|
||||
|
||||
}
|
7
src/interfaces/IRelayerRegistry.sol
Normal file
7
src/interfaces/IRelayerRegistry.sol
Normal file
@ -0,0 +1,7 @@
|
||||
pragma solidity ^0.8.1;
|
||||
|
||||
interface IRelayerRegistry {
|
||||
|
||||
function nullifyBalance(address relayer) external;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user