DECOMPILED SOLIDITY (Heimdall)
VERIFY
// SPDX-License-Identifier: MIT
pragma solidity > = 0.8 . 0 ;
/// @title Decompiled Contract
/// @author Jonathan Becker <jonathan@jbecker.dev>
/// @custom:version heimdall-rs v0.9.2
///
/// @notice This contract was decompiled using the heimdall-rs decompiler.
/// It was generated directly by tracing the EVM opcodes from this contract.
/// As a result, it may not compile or even be valid solidity code.
/// Despite this, it should be obvious what each function does. Overall
/// logic should have been preserved throughout decompiling.
///
/// @custom:github You can find the open-source decompiler here:
/// https://heimdall.rs
contract DecompiledContract {
uint256 public constant oldsOHM = 28241916263976295045731853919025179627172794655 ;
uint256 public constant oldOHM = 320887521709452751930106615377417641000281876633 ;
uint256 public constant sushiRouter = 1243886618218031985084555540764507313509865327519 ;
uint256 public constant timelockLength = 7000 ;
uint256 public constant oldStaking = 1445484807673596812605220697737473567551959488106 ;
uint256 public constant oldwsOHM = 1155854961812479471007450907353513271936710229605 ;
uint256 public constant oldTreasury = 285288922601024715891181913971504364192608569064 ;
uint256 public constant uniRouter = 697323163401596485410334513241460920685086001293 ;
address public authority;
address public newTreasury;
mapping ( bytes32 = > bytes32 ) storage_map_d;
bool public ohmMigrated;
bytes32 store_c;
uint256 public timelockEnd;
uint256 public oldSupply;
address public gOHM;
address public newStaking;
event TimelockStarted( uint256 , uint256 ) ;
event Funded( uint256 ) ;
event Defunded( uint256 ) ;
event Migrated( address , address ) ;
event AuthorityUpdated( address ) ;
/// @custom:selector 0xd6fa3760
/// @custom:signature defund(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function defund( address arg0) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
require ( bytes1 ( ohmMigrated / 0x010000000000000000000000000000000000000000 ) , "Timelock not complete" ) ;
require ( ! ( timelockEnd < block. number) , "Timelock not complete" ) ;
require ( timelockEnd < block. number, "Timelock not complete" ) ;
var_c = address ( this) ;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_c = var_b. length;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . { value: var_e ether } Unresolved_de0e9a3e( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = address ( this) ;
require ( address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_c = 0xfd31c7d00ca47653c6ce64af53c1571f9c36566a ;
require ( address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . { value: var_e ether } Unresolved_095ea7b3( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = var_b. length;
var_d = 0 ;
require ( address ( 0xfd31c7d00ca47653c6ce64af53c1571f9c36566a ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xfd31c7d00ca47653c6ce64af53c1571f9c36566a ) . { value: var_d ether } Unresolved_9ebea88c( var_c) ; // call
var_c = address ( this) ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( ! var_b. length > oldSupply) ;
oldSupply = oldSupply - var_b. length;
require ( ! var_b. length = = 0 ) ;
var_c = 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ;
var_d = 0 ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . { value: var_d ether } Unresolved_095ea7b3( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = 0 ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_00f714ce( var_c) ; // call
var_c = address ( this) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "TRANSFER_FAILED" ) ;
uint256 var_b = 0x20 + ( 0x20 + ( 0x24 + var_b) ) ;
require ( var_b. length < 0x20 , "TRANSFER_FAILED" ) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: var_e ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FAILED" ) ;
emit Defunded( var_b. length) ;
require ( var_n = = 0 ) ;
require ( ! var_n < 0x20 ) ;
var_b = var_b + ( uint248 ( ret0. length + 0x3f ) ) ;
emit Defunded( var_b. length) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
emit Defunded( var_b. length) ;
require ( var_b. length) ;
require ( ( ( var_b. length * 0x3b9aca00 ) / var_b. length) = = 0x3b9aca00 ) ;
var_c = 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ;
var_d = var_b. length * 0x3b9aca00 ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . { value: var_e ether } Unresolved_095ea7b3( var_c, var_d) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = var_b. length * 0x3b9aca00 ;
var_d = address ( arg0) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_00f714ce( var_c, var_d) ; // call
var_c = address ( this) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . Unresolved_70a08231( var_c, var_d) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( ! ( timelockEnd = = 0 ) , "Timelock not complete" ) ;
}
/// @custom:selector 0xf96a6006
/// @custom:signature migrateToken(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function migrateToken( address arg0) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
var_c = 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . excessReserves( ) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_c = address ( arg0) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . Unresolved_1eec5a9a( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( ! var_b. length > var_b. length) ;
var_c = address ( arg0) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_0b0eee30( var_c) ; // call
require ( ! 0 , "APPROVE_FAILED" ) ;
uint256 var_b = 0x20 + ( 0x20 + ( 0x24 + var_b) ) ;
require ( var_b. length < 0x20 , "APPROVE_FAILED" ) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: var_e ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "APPROVE_FAILED" ) ;
var_k = var_b. length;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } Unresolved_bc157ac1( var_k) ; // call
require ( ! ret0. length < 0x20 ) ;
require ( var_n = = 0 ) ;
require ( ! var_n < 0x20 ) ;
var_b = var_b + ( uint248 ( ret0. length + 0x3f ) ) ;
var_m = var_b. length;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } Unresolved_bc157ac1( var_m) ; // call
require ( ! ret0. length < 0x20 ) ;
require ( var_b. length = = 0 , "APPROVE_FAILED" ) ;
require ( var_b. length = = 0 , "APPROVE_FAILED" ) ;
var_b = 0x20 + ( 0x20 + ( 0x24 + var_b) ) ;
require ( var_b. length < 0x20 , "TRANSFER_FAILED" ) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: var_e ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_n = = 0 ) ;
require ( ! var_n < 0x20 ) ;
var_b = var_b + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
var_c = address ( arg0) ;
var_d = var_b. length * 0x3b9aca00 ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_0b0eee30( var_c, var_d) ; // call
if ( ! 0 ) {
}
}
/// @custom:selector 0x5ed7ca5b
/// @custom:signature halt() public payable
function halt( ) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . policy( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
require ( ! ( bytes1 ( ohmMigrated / 0x010000000000000000000000000000000000000000 ) ) , "Migration has occurred" ) ;
ohmMigrated = ( ( ! bytes1 ( ohmMigrated / 0x01000000000000000000000000000000000000000000 ) ) * 0x01000000000000000000000000000000000000000000 ) | ( uint248 ( ohmMigrated) ) ;
}
/// @custom:selector 0x245c0e99
/// @custom:signature setgOHM(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function setgOHM( address arg0) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
require ( address ( gOHM / 0x01 ) = = 0 , "Already set" ) ;
require ( ! ( address ( arg0) = = 0 ) , "Zero address: gOHM" ) ;
gOHM = ( address ( arg0) * 0x01 ) | ( uint96 ( gOHM) ) ;
}
/// @custom:selector 0x7a9e5e4b
/// @custom:signature setAuthority(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function setAuthority( address arg0) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
authority = ( address ( arg0) * 0x01 ) | ( uint96 ( authority) ) ;
emit AuthorityUpdated( address ( arg0) ) ;
}
/// @custom:selector 0xdfd9e685
/// @custom:signature Unresolved_dfd9e685(address arg0, uint256 arg1, address arg2, uint256 arg3, uint256 arg4) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["address", "uint160", "bytes20", "int160"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
function Unresolved_dfd9e685( address arg0, uint256 arg1, address arg2, uint256 arg3, uint256 arg4) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
var_c = 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_c = address ( arg0) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_0b0eee30( var_c) ; // call
require ( arg1) ;
var_c = 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: var_e ether } Unresolved_095ea7b3( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = address ( arg2) ;
require ( address ( 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ) . { value: var_e ether } Unresolved_baa2abde( var_c) ; // call
require ( ! ret0. length < 0x40 ) ;
var_c = address ( this) ;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } Unresolved_40c10f19( var_c) ; // call
var_c = 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ;
require ( address ( arg2) . code. length) ;
( bool success, bytes memory ret0) = address ( arg2) . { value: var_e ether } Unresolved_095ea7b3( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ;
require ( address ( ohmMigrated / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( ohmMigrated / 0x01 ) . { value: var_e ether } Unresolved_095ea7b3( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
var_c = address ( arg2) ;
require ( address ( 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f ) . { value: var_e ether } Unresolved_e8e33700( var_c) ; // call
require ( ! ret0. length < 0x60 ) ;
var_c = 0x7a250d5630b4cf539739df2c5dacb4c659f2488d ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: var_e ether } Unresolved_095ea7b3( var_c) ; // call
require ( ! ret0. length < 0x20 ) ;
}
/// @custom:selector 0x3ccdbb28
/// @custom:signature withdrawToken(address arg0, uint256 arg1, address arg2) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["address", "uint160", "bytes20", "int160"]
function withdrawToken( address arg0, uint256 arg1, address arg2) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
require ( ! ( address ( arg0) = = 0 ) , "Cannot withdraw: old-OHM" ) ;
require ( ! ( address ( arg0) = = ( address ( gOHM / 0x01 ) ) ) , "Cannot withdraw: old-OHM" ) ;
require ( ! ( address ( arg0) = = 0x383518188c0c6d7730d91b2c03a03c837814a899 ) , "Cannot withdraw: old-OHM" ) ;
require ( ! ( address ( arg0) = = 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) , "Cannot withdraw: old-sOHM" ) ;
require ( ! ( address ( arg0) = = 0xca76543cf381ebbb277be79574059e32108e3e65 ) , "Cannot withdraw: old-wsOHM" ) ;
require ( arg1 > 0 ) ;
require ( ! ( address ( arg2) ) = = 0 ) ;
var_c = address ( this) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "TRANSFER_FAILED" ) ;
require ( ! ( arg1 > var_b. length) , "TRANSFER_FAILED" ) ;
var_d = address ( arg2) ;
uint256 var_b = 0x20 + ( 0x20 + ( 0x24 + var_b) ) ;
require ( var_b. length < 0x20 , "TRANSFER_FAILED" ) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: var_e ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_n = = 0 ) ;
require ( ! var_n < 0x20 ) ;
var_b = var_b + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
var_c = address ( this) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . Unresolved_70a08231( var_c, var_d) ; // staticcall
if ( ! ret0. length < 0x20 ) {
require ( ! ret0. length < 0x20 ) ;
}
}
/// @custom:selector 0xb29c7444
/// @custom:signature startTimelock() public payable
function startTimelock( ) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
require ( timelockEnd = = 0 , "Timelock set" ) ;
require ( ! ( ( block. number + 0x1b58 ) < block. number) , "SafeMath: addition overflow" ) ;
timelockEnd = block. number + 0x1b58 ;
emit TimelockStarted( block. number, timelockEnd) ;
}
/// @custom:selector 0x0465f072
/// @custom:signature migrate(uint256 arg0, uint8 arg1, uint8 arg2) public payable
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg2 ["bool", "uint8", "bytes1", "int8"]
function migrate( uint256 arg0, uint8 arg1, uint8 arg2) public payable {
require ( ! ( bytes1 ( ohmMigrated / 0x01000000000000000000000000000000000000000000 ) ) , "Shut down" ) ;
var_b = arg0;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . Unresolved_73f79c04( var_b) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( 0 > 0x02 ) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( bytes1 ( arg1) > 0x02 ) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( bytes1 ( arg1) = = 0 ) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( 0x01 > 0x02 ) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( bytes1 ( arg1) > 0x02 ) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( bytes1 ( arg1) = = 0x01 ) , "TRANSFER_FROM_FAILED" ) ;
uint256 var_c = 0x20 + ( 0x20 + ( 0x20 + ( 0x24 + var_c) ) ) ;
require ( var_c. length < 0x20 , "TRANSFER_FROM_FAILED" ) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . { value: 0 ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
uint256 var_k = ( 0x20 + ( 0x04 + var_c) ) - ( 0x04 + var_c) ;
require ( ! bytes1 ( ohmMigrated / 0x010000000000000000000000000000000000000000 ) ) ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . Unresolved_18160ddd( var_k) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "TRANSFER_FAILED" ) ;
require ( ! ( oldSupply < var_c. length) , "TRANSFER_FAILED" ) ;
require ( ! ( 0x02 > 0x02 ) , "TRANSFER_FAILED" ) ;
require ( ! ( bytes1 ( arg2) > 0x02 ) , "TRANSFER_FAILED" ) ;
require ( ! ( bytes1 ( arg2) = = 0x02 ) , "TRANSFER_FAILED" ) ;
var_c = 0x20 + ( 0x20 + ( 0x24 + var_c) ) ;
require ( var_c. length < 0x20 , "TRANSFER_FAILED" ) ;
( bool success, bytes memory ret0) = address ( gOHM / 0x01 ) . { value: 0 ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_s = = 0 ) ;
require ( ! var_s < 0x20 ) ;
var_c = var_c + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( var_c. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_c. length = = 0 , "TRANSFER_FAILED" ) ;
require ( ! 0x01 > 0x02 ) ;
require ( ! ( bytes1 ( arg2) ) > 0x02 ) ;
require ( ! ( bytes1 ( arg2) ) = = 0x01 ) ;
var_k = address ( msg. sender) ;
var_l = var_c. length;
require ( address ( newStaking / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newStaking / 0x01 ) . { value: 0 ether } Unresolved_39f47693( var_k, var_l) ; // call
require ( ! ret0. length < 0x20 ) ;
require ( ! 0 > 0x02 ) ;
require ( ! ( bytes1 ( arg2) ) > 0x02 ) ;
require ( ! ( bytes1 ( arg2) ) = = 0 ) ;
var_k = address ( msg. sender) ;
var_l = var_c. length;
var_m = 0 ;
var_o = 0 ;
require ( address ( newStaking / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newStaking / 0x01 ) . { value: var_m ether } Unresolved_990966d5( var_k, var_l) ; // call
require ( ! ret0. length < 0x20 ) ;
var_k = address ( msg. sender) ;
var_l = var_c. length;
require ( address ( gOHM / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( gOHM / 0x01 ) . { value: var_o ether } Unresolved_40c10f19( var_k, var_l) ; // call
require ( var_s = = 0 ) ;
require ( ! var_s < 0x20 ) ;
var_c = var_c + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( var_c. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
require ( var_c. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
require ( bytes1 ( ohmMigrated / 0x010000000000000000000000000000000000000000 ) , "Only staked until migration" ) ;
}
/// @custom:selector 0xb71a6df3
/// @custom:signature migrateContracts(address arg0, address arg1, address arg2, address arg3, address arg4) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["address", "uint160", "bytes20", "int160"]
/// @param arg3 ["address", "uint160", "bytes20", "int160"]
/// @param arg4 ["address", "uint160", "bytes20", "int160"]
function migrateContracts( address arg0, address arg1, address arg2, address arg3, address arg4) public payable {
require ( address ( authority / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( authority / 0x01 ) . governor( ) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "" ) ;
require ( address ( msg. sender) = = ( address ( var_b. length) ) , "" ) ;
require ( ! ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
require ( 0x1f < ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) , "" ) ;
uint256 var_e = 0 ;
require ( ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) + ( ( ( 0x0100 * ( ! bytes1 ( store_c) ) ) - 0x01 ) & ( store_c) / 0x02 ) > ( 0x20 + ( 0x20 + ( 0x20 + ( 0x04 + var_b) ) ) ) , "" ) ;
require ( ! ( bytes1 ( ohmMigrated / 0x010000000000000000000000000000000000000000 ) ) , "Already migrated" ) ;
var_c = ( 0x20 + ( 0x04 + var_b) ) - ( 0x04 + var_b) ;
ohmMigrated = ( 0x01 * 0x010000000000000000000000000000000000000000 ) | ( uint248 ( ohmMigrated) ) ;
ohmMigrated = ( 0 * 0x01000000000000000000000000000000000000000000 ) | ( uint248 ( ohmMigrated) ) ;
require ( ! ( address ( arg0) ) = = 0 ) ;
newTreasury = ( address ( arg0) * 0x01 ) | ( uint96 ( newTreasury) ) ;
require ( ! ( address ( arg1) ) = = 0 ) ;
newStaking = ( address ( arg1) * 0x01 ) | ( uint96 ( newStaking) ) ;
require ( ! ( address ( arg2) ) = = 0 ) ;
ohmMigrated = ( address ( arg2) * 0x01 ) | ( uint96 ( ohmMigrated) ) ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . Unresolved_18160ddd( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
oldSupply = var_b. length;
var_c = address ( arg1) ;
require ( address ( gOHM / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( gOHM / 0x01 ) . { value: var_e ether } Unresolved_1068361f( var_c) ; // call
var_c = 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ;
require ( address ( arg4) . code. length) ;
( bool success, bytes memory ret0) = address ( arg4) . Unresolved_70a08231( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . excessReserves( ) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_c = address ( arg4) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . Unresolved_1eec5a9a( var_c) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( ! var_b. length > var_b. length) ;
var_c = address ( arg4) ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_0b0eee30( var_c) ; // call
require ( ! 0x01 , "TRANSFER_FAILED" ) ;
uint256 var_b = 0x20 + ( 0x20 + ( 0x24 + var_b) ) ;
require ( var_b. length < 0x20 , "TRANSFER_FAILED" ) ;
( bool success, bytes memory ret0) = address ( arg4) . { value: var_e ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FAILED" ) ;
require ( address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . circulatingSupply( ) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_k = address ( this) ;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } Unresolved_40c10f19( var_k) ; // call
var_k = address ( newStaking / 0x01 ) ;
require ( address ( ohmMigrated / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( ohmMigrated / 0x01 ) . { value: var_e ether } Unresolved_095ea7b3( var_k) ; // call
require ( ! ret0. length < 0x20 ) ;
var_k = address ( this) ;
uint256 var_m = 0 ;
require ( address ( newStaking / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newStaking / 0x01 ) . { value: var_m ether } Unresolved_d866c9d8( var_k) ; // call
require ( ! ret0. length < 0x20 ) ;
emit Funded( var_b. length) ;
emit Migrated( address ( arg1) , address ( arg0) ) ;
require ( var_p = = 0 ) ;
require ( ! var_p < 0x20 ) ;
var_b = var_b + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . circulatingSupply( ) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_m = address ( this) ;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } Unresolved_40c10f19( var_m) ; // call
var_m = address ( newStaking / 0x01 ) ;
require ( address ( ohmMigrated / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( ohmMigrated / 0x01 ) . { value: var_e ether } Unresolved_095ea7b3( var_m) ; // call
require ( ! ret0. length < 0x20 ) ;
var_m = address ( this) ;
uint256 var_r = 0 ;
require ( address ( newStaking / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newStaking / 0x01 ) . { value: var_r ether } Unresolved_d866c9d8( var_m) ; // call
require ( ! ret0. length < 0x20 ) ;
emit Funded( var_b. length) ;
emit Migrated( address ( arg1) , address ( arg0) ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_b. length = = 0 , "TRANSFER_FAILED" ) ;
var_b = 0x20 + ( 0x20 + ( 0x24 + var_b) ) ;
require ( var_b. length < 0x20 , "APPROVE_FAILED" ) ;
( bool success, bytes memory ret0) = address ( arg4) . { value: var_e ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "APPROVE_FAILED" ) ;
var_k = var_b. length;
var_l = address ( arg4) ;
var_m = var_b. length;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } deposit( var_k, var_l, var_m) ; // call
require ( ! ret0. length < 0x20 ) ;
require ( var_p = = 0 ) ;
require ( ! var_p < 0x20 ) ;
var_b = var_b + ( uint248 ( ret0. length + 0x3f ) ) ;
var_m = var_b. length;
var_n = address ( arg4) ;
require ( address ( newTreasury / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( newTreasury / 0x01 ) . { value: var_e ether } Unresolved_bc157ac1( var_m, var_n) ; // call
require ( ! ret0. length < 0x20 ) ;
require ( var_b. length = = 0 , "APPROVE_FAILED" ) ;
require ( var_b. length = = 0 , "APPROVE_FAILED" ) ;
var_c = address ( arg4) ;
var_d = var_b. length * 0x3b9aca00 ;
require ( address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x31f8cc382c9898b273eff4e0b7626a6987c846e8 ) . { value: var_e ether } Unresolved_0b0eee30( var_c, var_d) ; // call
if ( ! 0x01 ) {
}
}
/// @custom:selector 0xec78f90b
/// @custom:signature migrateAll(uint8 arg0) public payable
/// @param arg0 ["bool", "uint8", "bytes1", "int8"]
function migrateAll( uint8 arg0) public payable {
require ( ! ( bytes1 ( ohmMigrated / 0x01000000000000000000000000000000000000000000 ) ) , "Shut down" ) ;
var_b = address ( msg. sender) ;
require ( address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . Unresolved_70a08231( var_b) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_b = address ( msg. sender) ;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . Unresolved_70a08231( var_b) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
var_b = address ( msg. sender) ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . Unresolved_70a08231( var_b) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "SafeMath: addition overflow" ) ;
require ( ! ( var_c. length > 0 ) , "SafeMath: addition overflow" ) ;
require ( ! ( var_c. length > 0 ) , "SafeMath: addition overflow" ) ;
require ( ! ( var_c. length > 0 ) , "SafeMath: addition overflow" ) ;
require ( ! ( var_c. length > 0 ) , "SafeMath: addition overflow" ) ;
require ( ! ( ( 0 + var_c. length) < 0 ) , "SafeMath: addition overflow" ) ;
var_b = 0 + var_c. length;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . Unresolved_73f79c04( var_b) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
address var_d = address ( msg. sender) ;
uint256 var_c = 0x20 + ( 0x20 + ( 0x20 + ( 0x24 + var_c) ) ) ;
require ( var_c. length < 0x20 , "TRANSFER_FROM_FAILED" ) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . { value: 0 ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
require ( var_n = = 0 ) ;
require ( ! var_n < 0x20 ) ;
var_c = var_c + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( var_c. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
require ( var_c. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
var_b = address ( msg. sender) ;
require ( address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x383518188c0c6d7730d91b2c03a03c837814a899 ) . Unresolved_70a08231( var_b, var_d) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
if ( ! ohmMigrated / 0x010000000000000000000000000000000000000000 ) {
}
}
/// @custom:selector 0xabacbb2f
/// @custom:signature bridgeBack(uint256 arg0, uint8 arg1) public payable
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
function bridgeBack( uint256 arg0, uint8 arg1) public payable {
require ( bytes1 ( ohmMigrated / 0x010000000000000000000000000000000000000000 ) , "TRANSFER_FROM_FAILED" ) ;
uint256 var_e = 0x20 + ( 0x20 + ( 0x20 + ( 0x24 + var_e) ) ) ;
require ( var_e. length < 0x20 , "TRANSFER_FROM_FAILED" ) ;
( bool success, bytes memory ret0) = address ( gOHM / 0x01 ) . { value: 0 ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
var_j = arg0;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . Unresolved_554c85a3( var_j) ; // staticcall
require ( ! ( ret0. length < 0x20 ) , "TRANSFER_FAILED" ) ;
require ( ! ( 0 > 0x02 ) , "TRANSFER_FAILED" ) ;
require ( ! ( bytes1 ( arg1) > 0x02 ) , "TRANSFER_FAILED" ) ;
require ( ! ( bytes1 ( arg1) = = 0 ) , "TRANSFER_FAILED" ) ;
require ( ! ( 0x01 > 0x02 ) , "TRANSFER_FAILED" ) ;
require ( ! ( bytes1 ( arg1) > 0x02 ) , "TRANSFER_FAILED" ) ;
require ( ! ( bytes1 ( arg1) = = 0x01 ) , "TRANSFER_FAILED" ) ;
var_e = 0x20 + ( 0x20 + ( 0x24 + var_e) ) ;
require ( var_e. length < 0x20 , "TRANSFER_FAILED" ) ;
( bool success, bytes memory ret0) = address ( 0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f ) . { value: 0 ether } adfepixw( ) ; // call
require ( ret0. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_r = = 0 ) ;
require ( ! var_r < 0x20 ) ;
var_e = var_e + ( uint248 ( ret0. length + 0x3f ) ) ;
require ( var_e. length = = 0 , "TRANSFER_FAILED" ) ;
require ( var_e. length = = 0 , "TRANSFER_FAILED" ) ;
require ( ! 0x02 > 0x02 ) ;
require ( ! ( bytes1 ( arg1) ) > 0x02 ) ;
require ( ! ( bytes1 ( arg1) ) = = 0x02 ) ;
require ( var_r = = 0 ) ;
require ( ! var_r < 0x20 ) ;
var_e = var_e + ( uint248 ( ret0. length + 0x3f ) ) ;
var_l = arg0;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . Unresolved_554c85a3( var_l) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
require ( var_e. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
require ( var_e. length = = 0 , "TRANSFER_FROM_FAILED" ) ;
address var_x = address ( msg. sender) ;
var_a = arg0;
require ( address ( gOHM / 0x01 ) . code. length) ;
( bool success, bytes memory ret0) = address ( gOHM / 0x01 ) . { value: 0 ether } Unresolved_9dc29fac( var_x, var_a) ; // call
var_x = arg0;
require ( address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xca76543cf381ebbb277be79574059e32108e3e65 ) . wOHMTosOHM( var_x) ; // staticcall
require ( ! ret0. length < 0x20 ) ;
}
}
ABI
[
{
"type": "function",
"name": "Unresolved_dfd9e685",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "address"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "authority",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "bridgeBack",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint8"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "defund",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "gOHM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "halt",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "migrate",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint8"
},
{
"name": "arg2",
"type": "uint8"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "migrateAll",
"inputs": [
{
"name": "arg0",
"type": "uint8"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "migrateContracts",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
},
{
"name": "arg2",
"type": "address"
},
{
"name": "arg3",
"type": "address"
},
{
"name": "arg4",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "migrateToken",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "newOHM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "newStaking",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "newTreasury",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "ohmMigrated",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "oldOHM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "oldStaking",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "oldSupply",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "oldTreasury",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "oldsOHM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "oldwsOHM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "setAuthority",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "setgOHM",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "shutdown",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "startTimelock",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "sushiRouter",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "timelockEnd",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "timelockLength",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "uniRouter",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "withdrawToken",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "event",
"name": "AuthorityUpdated",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Defunded",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Funded",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Migrated",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "TimelockStarted",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
},
{
"name": "arg1",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
}
]