github.com/codingfuture/orig-energi3@v0.8.4/energi/contracts/src/Gen2MigrationTest.sol (about) 1 // Copyright 2019 The Energi Core Authors 2 // This file is part of Energi Core. 3 // 4 // Energi Core is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Energi Core is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Energi Core. If not, see <http://www.gnu.org/licenses/>. 16 17 // Energi Governance system is the fundamental part of Energi Core. 18 19 // NOTE: It's not allowed to change the compiler due to byte-to-byte 20 // match requirement. 21 pragma solidity 0.5.16; 22 23 import { Gen2Migration } from "./Gen2Migration.sol"; 24 import { IGovernedProxy } from "./IGovernedProxy.sol"; 25 import { ITreasury } from "./ITreasury.sol"; 26 import { BlacklistRegistryV1 } from "./BlacklistRegistryV1.sol"; 27 28 contract MockGen2Migration is Gen2Migration { 29 constructor(IGovernedProxy _blacklist_proxy, uint _chain_id, address _signer) public 30 Gen2Migration(_blacklist_proxy, _chain_id, _signer) 31 // solium-disable-next-line no-empty-blocks 32 { 33 } 34 35 function setCoins( 36 bytes20[] calldata _owners, 37 uint[] calldata _amounts, 38 bytes20[] calldata _blacklist 39 ) external payable { 40 coins.length = 0; 41 address orig_signer = signerAddress; 42 signerAddress = address(this); 43 this.setSnapshot(_owners, _amounts, _blacklist); 44 signerAddress = orig_signer; 45 } 46 } 47 48 contract MockGen2MigrationBlacklist is BlacklistRegistryV1 { 49 mapping(address => bool) is_blacklisted; 50 51 constructor(address _proxy, IGovernedProxy _mnregistry_proxy, Gen2Migration _migration, ITreasury _fund, address _ebi) 52 public 53 BlacklistRegistryV1(_proxy, _mnregistry_proxy, _migration, _fund, _ebi) 54 // solium-disable-next-line no-empty-blocks 55 {} 56 57 function setBlacklisted(address addr, bool is_bl) external { 58 is_blacklisted[addr] = is_bl; 59 } 60 61 function isBlacklisted(address addr) public view returns(bool) { 62 return is_blacklisted[addr]; 63 } 64 65 function drainMigration(uint item_id, bytes20 owner) external { 66 migration.blacklistClaim(item_id, owner); 67 _onDrain(address(owner)); 68 } 69 }