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 lpToken = 223695461681800064253987436117425639694695213988 ;
uint256 public constant caviar = 967068236052297514053404767936876602534242420800 ;
uint256 public constant decimals = 18 ;
uint256 public constant merkleRoot = 0 ;
uint256 public constant baseToken = 0 ;
uint256 public constant nft = 1176897265774005334477511275440249184683368747715 ;
uint256 public constant CLOSE_GRACE_PERIOD = 604800 ;
uint256 public unresolved_18160ddd;
mapping ( bytes32 = > bytes32 ) storage_map_d;
uint256 public closeTimestamp;
mapping ( bytes32 = > bytes32 ) storage_map_i;
bytes32 store_f;
bytes32 store_g;
mapping ( bytes32 = > bytes32 ) storage_map_a;
mapping ( bytes32 = > bytes32 ) storage_map_h;
mapping ( bytes32 = > bytes32 ) storage_map_j;
mapping ( bytes32 = > bytes32 ) storage_map_c;
event Event_8c5be1e5( ) ;
event Transfer( address , address , uint256 ) ;
event Close( uint256 ) ;
event Withdraw( uint256 ) ;
event Unwrap( uint256 [ ] ) ;
event Buy( uint256 , uint256 ) ;
event Add( uint256 , uint256 , uint256 ) ;
/// @custom:selector 0x095ea7b3
/// @custom:signature Unresolved_095ea7b3(address arg0, uint256 arg1) public returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Unresolved_095ea7b3( address arg0, uint256 arg1) public returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
var_a = address ( arg0) ;
storage_map_a[ var_a] = arg1;
emit Event_8c5be1e5( msg. sender, address ( arg0) , arg1) ;
return 0x01 ;
}
/// @custom:selector 0x1d989f83
/// @custom:signature add(uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3, uint256 arg4, uint256 arg5) public returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
/// @param arg5 ["uint256", "bytes32", "int256"]
function add( uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3, uint256 arg4, uint256 arg5) public returns ( uint256 ) {
require ( ! arg5, "Invalid ether input" ) ;
require ( ! ( arg5 < block. timestamp) , "Invalid ether input" ) ;
require ( ! ( arg0 > 0 ) , "Invalid ether input" ) ;
require ( arg1 > 0 , "Invalid ether input" ) ;
require ( ! 0 , "Invalid ether input" ) ;
var_b = 0x20 ;
( bool success, bytes memory ret0) = address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . Unresolved_18160ddd( var_b) ; // staticcall
uint256 var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_e + ret0. length) - var_e) < 0x20 ) , "Slippage: lp token amount out" ) ;
require ( ! var_e. length, "Slippage: lp token amount out" ) ;
require ( ! var_e. length, "Slippage: lp token amount out" ) ;
require ( ( arg1 = = ( ( arg1 * arg0) / arg0) ) | ! arg0, "Slippage: lp token amount out" ) ;
require ( 0 - ( arg1 * arg0) , "Slippage: lp token amount out" ) ;
require ( ! ( ( arg1 * arg0) > > 0x80 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) > > 0x20 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) > > 0x20 ) > > 0x10 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) > > 0x20 ) > > 0x10 ) > > 0x08 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( ( ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) > > 0x20 ) > > 0x10 ) > > 0x08 ) > > 0x04 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( ( ( ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) > > 0x20 ) > > 0x10 ) > > 0x08 ) > > 0x04 ) > > 0x02 ) , "Slippage: lp token amount out" ) ;
require ( ! ( ( ( ( ( ( ( ( ( arg1 * arg0) > > 0x80 ) > > 0x40 ) > > 0x20 ) > > 0x10 ) > > 0x08 ) > > 0x04 ) > > 0x02 ) > > 0x01 ) , "Slippage: lp token amount out" ) ;
require ( 0x80000000000000000000000000000000 , "Slippage: lp token amount out" ) ;
require ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 , "Slippage: lp token amount out" ) ;
require ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 , "Slippage: lp token amount out" ) ;
require ( ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 ) ) > > 0x01 , "Slippage: lp token amount out" ) ;
require ( ( ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) + ( ( arg1 * arg0) / ( ( 0x80000000000000000000000000000000 + ( ( arg1 * arg0) / 0x80000000000000000000000000000000 ) ) > > 0x01 ) ) > > 0x01 ) ) > > 0x01 ) ) > > 0x01 , "Slippage: lp token amount out" ) ;
require ( ! ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7960 > 0 ) , "Slippage: lp token amount out" ) ;
require ( ! ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7960 < arg2) , "Slippage: lp token amount out" ) ;
address var_f = address ( msg. sender) ;
require ( ! ( storage_map_c[ var_f] - arg1) > storage_map_c[ var_f] ) ;
var_f = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_c[ var_f] = storage_map_c[ var_f] - arg1;
var_f = address ( this) ;
storage_map_c[ var_f] = arg1 + storage_map_c[ var_f] ;
var_f = var_f;
emit Transfer( address ( msg. sender) , address ( this) , arg1) ;
address var_c = address ( msg. sender) ;
require ( address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . { value: 0 ether } Unresolved_40c10f19( var_c) ; // call
require ( 0 - var_e. length) ;
( bool success, bytes memory ret0) = address ( 0xa964d6e8d90e5cd12592a8ef2b1735dae9ba0840 ) . owner( ) ; // staticcall
var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_e + ret0. length) - var_e) < 0x20 ) ;
require ( var_e. length = = ( address ( var_e. length) ) ) ;
uint256 var_d = address ( var_e. length) ;
require ( address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . { value: 0 ether } Unresolved_40c10f19( var_d) ; // call
require ( ! 0 , "TRANSFER_FROM_FAILED" ) ;
var_d = msg. sender;
( bool success, bytes memory ret0) = address ( 0 ) . { value: 0 ether } Unresolved_23b872dd( var_d) ; // call
require ( ( ( var_f = = 0x01 ) & ( ret0. length > 0x1f ) | ! ret0. length) & ( success) , "TRANSFER_FROM_FAILED" ) ;
emit Add( arg0, arg1, 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7960 ) ;
return 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7960 ;
var_d = 0x20 ;
emit Add( arg0, arg1, 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7960 ) ;
return 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7960 ;
require ( ! 0 ) ;
var_c = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_c, var_d) ; // staticcall
var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_e + ret0. length) - var_e) < 0x20 ) ;
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
require ( ! 0 ) ;
( bool success, bytes memory ret0) = address ( 0 ) . decimals( ) ; // staticcall
var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
if ( ! ( ( var_e + ret0. length) - var_e) < 0x20 ) {
require ( ! ( ( var_e + ret0. length) - var_e) < 0x20 ) ;
require ( var_e. length = = ( bytes1 ( var_e. length) ) ) ;
require ( ! ( 0x24 - ( bytes1 ( var_e. length) ) ) > 0xff ) ;
require ( bytes1 ( 0x24 - ( var_e. length) ) ) ;
require ( 0x0a ) ;
require ( 0x0a = = 0x01 ) ;
require ( 0x0a = = 0x02 ) ;
require ( ! ( bytes1 ( 0x24 - ( var_e. length) ) ) > 0xff ) ;
require ( ! ( ( 0x0a < 0x0b ) & ( bytes1 ( 0x24 - ( var_e. length) ) < 0x4e ) ) | ( ( 0x0a < 0x0133 ) & ( bytes1 ( 0x24 - ( var_e. length) ) < 0x20 ) ) ) ;
require ( ! ( bytes1 ( 0x24 - ( var_e. length) ) ) > 0x01 ) ;
require ( ! 0x01 > 0x1999999999999999999999999999999999999999999999999999999999999999 ) ;
require ( ! 0x0a > 0x1999999999999999999999999999999999999999999999999999999999999999 ) ;
}
require ( ! arg5, "Expired" ) ;
}
/// @custom:selector 0xa9059cbb
/// @custom:signature transfer(address arg0, uint256 arg1) public returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function transfer( address arg0, uint256 arg1) public returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = msg. sender;
require ( ! ( storage_map_a[ var_a] - arg1) > storage_map_a[ var_a] ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_a[ var_a] = storage_map_a[ var_a] - arg1;
var_a = address ( arg0) ;
storage_map_a[ var_a] = arg1 + storage_map_a[ var_a] ;
emit Transfer( msg. sender, address ( arg0) , arg1) ;
return 0x01 ;
}
/// @custom:selector 0x4cfb998a
/// @custom:signature Unresolved_4cfb998a(uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3, uint256 arg4, uint256 arg5, uint256 arg6) public pure
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
function Unresolved_4cfb998a( uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3, uint256 arg4, uint256 arg5, uint256 arg6) public pure {
require ( ! arg1 > 0xffffffffffffffff ) ;
require ( ! ( arg1) > 0xffffffffffffffff ) ;
require ( ! 0xffffffffffffffff < arg6) ;
}
/// @custom:selector 0x037d785b
/// @custom:signature removeQuote(uint256 arg0) public returns (bytes memory)
/// @param arg0 ["uint256", "bytes32", "int256"]
function removeQuote( uint256 arg0) public returns ( bytes memory ) {
( bool success, bytes memory ret0) = address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . Unresolved_18160ddd( var_b) ; // staticcall
uint256 var_c = var_c + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_c + ret0. length) - var_c) < 0x20 ) ;
require ( ! 0 ) ;
address var_e = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_e) ; // staticcall
var_c = var_c + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_c + ret0. length) - var_c) < 0x20 ) ;
require ( ( arg0 = = ( ( arg0 * var_c. length) / var_c. length) ) | ! var_c. length) ;
require ( var_c. length) ;
address var_f = address ( this) ;
require ( ( arg0 = = ( ( arg0 * storage_map_c[ var_f] ) / storage_map_c[ var_f] ) ) | ! storage_map_c[ var_f] ) ;
require ( var_c. length) ;
require ( ! 0x01 > ( arg0 + 0x01 ) ) ;
var_f = address ( this) ;
require ( ( arg0 + 0x01 ) = = ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / storage_map_c[ var_f] ) | ! storage_map_c[ var_f] ) ;
require ( var_c. length) ;
require ( 0x0de0b6b3a7640000 ) ;
var_f = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) % 0x0de0b6b3a7640000 ) ;
require ( ! ( ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) - ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) ) > ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) ) ;
var_f = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) - ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) > 0x03e8 ) ;
require ( ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) - ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) > 0x03e8 ) ;
return abi. encodePacked( ( arg0 * var_c. length) / var_c. length, ( arg0 * storage_map_c[ var_f] ) / var_c. length) ;
return abi. encodePacked( ( arg0 * var_c. length) / var_c. length, ( ( arg0 + 0x01 ) * storage_map_c[ var_f] ) / var_c. length) ;
require ( ! ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) % 0x0de0b6b3a7640000 ) ;
require ( ! ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) % 0x0de0b6b3a7640000 ) ;
return abi. encodePacked( ( arg0 * var_c. length) / var_c. length, ( ( arg0 + 0x01 ) * storage_map_c[ var_f] ) / var_c. length) ;
return abi. encodePacked( ( arg0 * var_c. length) / var_c. length, ( arg0 * storage_map_c[ var_f] ) / var_c. length) ;
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
}
/// @custom:selector 0x4cba3eca
/// @custom:signature Unresolved_4cba3eca(uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3, uint256 arg4) public
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
function Unresolved_4cba3eca( uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3, uint256 arg4) public {
require ( ! arg3 > 0xffffffffffffffff ) ;
require ( ! ( arg3) > 0xffffffffffffffff ) ;
require ( arg4 = = arg4) ;
require ( ( 0x0de0b6b3a7640000 = = ( ( 0x0de0b6b3a7640000 * ( arg3) ) / ( arg3) ) ) | ! arg3) ;
require ( ! arg2) ;
require ( ! arg2 < block. timestamp) ;
( bool success, bytes memory ret0) = address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . Unresolved_18160ddd( var_d) ; // staticcall
uint256 var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_e + ret0. length) - var_e) < 0x20 ) ;
require ( ! 0 ) ;
address var_g = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_g) ; // staticcall
var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_e + ret0. length) - var_e) < 0x20 ) , "Slippage: base token amount out" ) ;
require ( ( arg0 = = ( ( arg0 * var_e. length) / var_e. length) ) | ! var_e. length, "Slippage: base token amount out" ) ;
require ( var_e. length, "Slippage: base token amount out" ) ;
address var_a = address ( this) ;
require ( ( arg0 = = ( ( arg0 * storage_map_a[ var_a] ) / storage_map_a[ var_a] ) ) | ! storage_map_a[ var_a] , "Slippage: base token amount out" ) ;
require ( var_e. length, "Slippage: base token amount out" ) ;
require ( ! ( 0x01 > ( arg0 + 0x01 ) ) , "Slippage: base token amount out" ) ;
var_a = address ( this) ;
require ( ( arg0 + 0x01 ) = = ( ( arg0 + 0x01 ) * storage_map_a[ var_a] / storage_map_a[ var_a] ) | ! storage_map_a[ var_a] , "Slippage: base token amount out" ) ;
require ( var_e. length, "Slippage: base token amount out" ) ;
require ( 0x0de0b6b3a7640000 , "Slippage: base token amount out" ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) % 0x0de0b6b3a7640000 ) , "Slippage: base token amount out" ) ;
require ( ! ( ( ( arg0 + 0x01 ) * storage_map_a[ var_a] / var_e. length) - ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) > ( ( arg0 + 0x01 ) * storage_map_a[ var_a] / var_e. length) ) , "Slippage: base token amount out" ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( ! ( ( ( arg0 + 0x01 ) * storage_map_a[ var_a] / var_e. length) - ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) ) > 0x03e8 ) , "Slippage: base token amount out" ) ;
require ( ! ( ! ( ( ( arg0 + 0x01 ) * storage_map_a[ var_a] / var_e. length) - ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) ) > 0x03e8 ) , "Slippage: base token amount out" ) ;
require ( ! ( ( ( arg0 * var_e. length) / var_e. length) < arg1) , "Slippage: base token amount out" ) ;
require ( ! ( ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) < ( 0x0de0b6b3a7640000 * ( arg3) ) ) , "Slippage: fractional token out" ) ;
if ( ! ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) % 0x0de0b6b3a7640000 ) {
if ( ! ( ( arg0 * storage_map_a[ var_a] ) / var_e. length) % 0x0de0b6b3a7640000 ) {
}
}
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
require ( ! arg2, "Expired" ) ;
}
/// @custom:selector 0x7ecebe00
/// @custom:signature nonces(address arg0) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function nonces( address arg0) public view returns ( uint256 ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_b = arg0;
return storage_map_d[ var_b] ;
}
/// @custom:selector 0x203ae565
/// @custom:signature baseTokenReserves() public returns (uint256)
function baseTokenReserves( ) public returns ( uint256 ) {
require ( ! 0 ) ;
address var_b = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_b) ; // staticcall
uint256 var_c = var_c + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_c + ret0. length) - var_c) < 0x20 ) ;
return var_c. length;
if ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) {
return address ( this) . balance - msg. value;
}
}
/// @custom:selector 0xfceacc83
/// @custom:signature fractionalTokenReserves() public view returns (uint256)
function fractionalTokenReserves( ) public view returns ( uint256 ) {
address var_a = address ( this) ;
return storage_map_a[ var_a] ;
}
/// @custom:selector 0xd505accf
/// @custom:signature Unresolved_d505accf(address arg0) public pure
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_d505accf( address arg0) public pure {
require ( arg0 = = ( address ( arg0) ) ) ;
}
/// @custom:selector 0xdd62ed3e
/// @custom:signature Unresolved_dd62ed3e(address arg0) public pure
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_dd62ed3e( address arg0) public pure {
require ( arg0 = = ( address ( arg0) ) ) ;
}
/// @custom:selector 0x2a6f869d
/// @custom:signature nftBuy(uint256[] arg0, uint256 arg1, uint256 arg2) public
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function nftBuy( uint256 [ ] arg0, uint256 arg1, uint256 arg2) public {
require ( ! arg0 > 0xffffffffffffffff ) ;
require ( ! ( arg0) > 0xffffffffffffffff ) ;
require ( ( 0x0de0b6b3a7640000 = = ( ( 0x0de0b6b3a7640000 * ( arg0) ) / ( arg0) ) ) | ! ( arg0) , "Invalid ether input" ) ;
require ( ! arg2, "Invalid ether input" ) ;
require ( ! ( arg2 < block. timestamp) , "Invalid ether input" ) ;
require ( ! 0 , "Invalid ether input" ) ;
require ( ( 0x0de0b6b3a7640000 * ( arg0) ) = = ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03e8 ) / 0x03e8 ) | ! 0x03e8 ) ;
require ( ! 0 ) ;
address var_d = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_d) ; // staticcall
uint256 var_g = var_g + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_g + ret0. length) - var_g) < 0x20 ) , "Slippage: amount in" ) ;
address var_a = address ( this) ;
require ( ! ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) > storage_map_a[ var_a] ) , "Slippage: amount in" ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) = = ( ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03de ) / 0x03de ) | ! 0x03de , "Slippage: amount in" ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03de ) * ( ! var_g. length * ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03e8 ) > ( 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / var_g. length) ) ) , "Slippage: amount in" ) ;
require ( ! ( ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03e8 ) * var_g. length) / ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03de ) + ( ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03e8 ) * var_g. length) % ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03de ) ) > arg1) , "Slippage: amount in" ) ;
var_a = address ( this) ;
require ( ! ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) > storage_map_a[ var_a] ) , "TRANSFER_FROM_FAILED" ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_a[ var_a] = storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) ;
var_a = address ( msg. sender) ;
storage_map_a[ var_a] = ( 0x0de0b6b3a7640000 * ( arg0) ) + storage_map_a[ var_a] ;
var_a = var_a;
emit Transfer( address ( this) , address ( msg. sender) , 0x0de0b6b3a7640000 * ( arg0) ) ;
require ( 0 , "TRANSFER_FROM_FAILED" ) ;
address var_e = msg. sender;
( bool success, bytes memory ret0) = address ( 0 ) . { value: 0 ether } Unresolved_23b872dd( var_e) ; // call
require ( ( ( var_a = = 0x01 ) & ( ret0. length > 0x1f ) | ! ret0. length) & ( success) , "TRANSFER_FROM_FAILED" ) ;
require ( ! ( ( address ( this) . balance - msg. value) > address ( this) . balance) , "Expired" ) ;
require ( ! arg2, "Expired" ) ;
}
/// @custom:selector 0x168585e5
/// @custom:signature buyQuote(uint256 arg0) public returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
function buyQuote( uint256 arg0) public returns ( uint256 ) {
require ( ( arg0 = = ( ( arg0 * 0x03e8 ) / 0x03e8 ) ) | ! 0x03e8 ) ;
require ( ! 0 ) ;
address var_d = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_d) ; // staticcall
uint256 var_e = var_e + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_e + ret0. length) - var_e) < 0x20 ) ;
address var_a = address ( this) ;
require ( ! ( storage_map_a[ var_a] - arg0) > storage_map_a[ var_a] ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ( storage_map_a[ var_a] - arg0) = = ( ( ( storage_map_a[ var_a] - arg0) * 0x03de ) / 0x03de ) | ! 0x03de ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ( ( storage_map_a[ var_a] - arg0) * 0x03de ) * ( ! var_e. length * ( ( arg0 * 0x03e8 ) > ( 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / var_e. length) ) ) ) ;
return ( ( ( arg0 * 0x03e8 ) * var_e. length) / ( ( storage_map_a[ var_a] - arg0) * 0x03de ) ) + ( ( ( arg0 * 0x03e8 ) * var_e. length) % ( ( storage_map_a[ var_a] - arg0) * 0x03de ) ) ;
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
}
/// @custom:selector 0xd3c9727c
/// @custom:signature sell(uint256 arg0, uint256 arg1, uint256 arg2) public
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function sell( uint256 arg0, uint256 arg1, uint256 arg2) public {
require ( ! arg2) ;
require ( ! arg2 < block. timestamp) ;
require ( ( arg0 = = ( ( arg0 * 0x03de ) / 0x03de ) ) | ! 0x03de ) ;
address var_a = address ( this) ;
require ( storage_map_a[ var_a] = = ( ( storage_map_a[ var_a] * 0x03e8 ) / 0x03e8 ) | ! 0x03e8 ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( storage_map_a[ var_a] * 0x03e8 ) > ( ( arg0 * 0x03de ) + ( storage_map_a[ var_a] * 0x03e8 ) ) ) ;
require ( ! 0 ) ;
address var_e = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_e) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_f + ret0. length) - var_f) < 0x20 ) ;
require ( ! ( ( address ( this) . balance - msg. value) > address ( this) . balance) , "Expired" ) ;
require ( ! arg2, "Expired" ) ;
}
/// @custom:selector 0x2e1a7d4d
/// @custom:signature Unresolved_2e1a7d4d(uint256 arg0) public
/// @param arg0 ["uint256", "bytes32", "int256"]
function Unresolved_2e1a7d4d( uint256 arg0) public {
( bool success, bytes memory ret0) = address ( 0xa964d6e8d90e5cd12592a8ef2b1735dae9ba0840 ) . owner( ) ; // staticcall
uint256 var_b = var_b + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_b + ret0. length) - var_b) < 0x20 ) , "Withdraw: not owner" ) ;
require ( var_b. length = = ( address ( var_b. length) ) , "Withdraw: not owner" ) ;
require ( address ( var_b. length) = = ( address ( msg. sender) ) , "Withdraw: not owner" ) ;
require ( 0 - closeTimestamp, "Not withdrawable yet" ) ;
require ( ! ( block. timestamp < closeTimestamp) , "Not withdrawable yet" ) ;
address var_d = address ( this) ;
require ( address ( 0xce25e60a89f200b1fa40f6c313047ffe386992c3 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xce25e60a89f200b1fa40f6c313047ffe386992c3 ) . { value: 0 ether } Unresolved_42842e0e( var_d) ; // call
emit Withdraw( arg0) ;
}
/// @custom:selector 0x06fdde03
/// @custom:signature Unresolved_06fdde03() public view returns (string memory)
function Unresolved_06fdde03( ) public view returns ( string memory ) {
if ( store_f) {
if ( store_f - ( ( store_f > > 0x01 ) < 0x20 ) ) {
uint256 var_c = var_c + ( 0x20 + ( ( ( 0x1f + ( store_f > > 0x01 ) ) / 0x20 ) * 0x20 ) ) ;
if ( store_f) {
if ( store_f - ( ( store_f > > 0x01 ) < 0x20 ) ) {
if ( ! store_f > > 0x01 ) {
if ( 0x1f < ( store_f > > 0x01 ) ) {
uint256 var_a = 0 ;
if ( ( 0x20 + var_c) + ( store_f > > 0x01 ) > ( 0x20 + ( 0x20 + var_c) ) ) {
return abi. encodePacked( 0x20 , var_c. length) ;
}
}
}
}
}
}
}
}
/// @custom:selector 0x35ec39d9
/// @custom:signature Unresolved_35ec39d9(uint256 arg0, uint256 arg1) public pure
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Unresolved_35ec39d9( uint256 arg0, uint256 arg1) public pure {
require ( ! arg0 > 0xffffffffffffffff ) ;
require ( ! ( arg0) > 0xffffffffffffffff ) ;
require ( ! arg1 > 0xffffffffffffffff ) ;
}
/// @custom:selector 0x95d89b41
/// @custom:signature Unresolved_95d89b41() public view returns (string memory)
function Unresolved_95d89b41( ) public view returns ( string memory ) {
if ( store_g) {
if ( store_g - ( ( store_g > > 0x01 ) < 0x20 ) ) {
uint256 var_c = var_c + ( 0x20 + ( ( ( 0x1f + ( store_g > > 0x01 ) ) / 0x20 ) * 0x20 ) ) ;
if ( store_g) {
if ( store_g - ( ( store_g > > 0x01 ) < 0x20 ) ) {
if ( ! store_g > > 0x01 ) {
if ( 0x1f < ( store_g > > 0x01 ) ) {
var_a = 0x01 ;
if ( ( 0x20 + var_c) + ( store_g > > 0x01 ) > ( 0x20 + ( 0x20 + var_c) ) ) {
return abi. encodePacked( 0x20 , var_c. length) ;
}
}
}
}
}
}
}
}
/// @custom:selector 0x150b7a02
/// @custom:signature Unresolved_150b7a02(address arg0) public pure
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_150b7a02( address arg0) public pure {
require ( arg0 = = ( address ( arg0) ) ) ;
}
/// @custom:selector 0x5accf4a5
/// @custom:signature Unresolved_5accf4a5(uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3) public pure
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
function Unresolved_5accf4a5( uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3) public pure {
require ( ! arg0 > 0xffffffffffffffff ) ;
require ( ! ( arg0) > 0xffffffffffffffff ) ;
require ( ! arg3 > 0xffffffffffffffff ) ;
}
/// @custom:selector 0x23b872dd
/// @custom:signature Unresolved_23b872dd(address arg0) public pure
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_23b872dd( address arg0) public pure {
require ( arg0 = = ( address ( arg0) ) ) ;
}
/// @custom:selector 0x3644e515
/// @custom:signature Unresolved_3644e515() public view returns (uint256)
function Unresolved_3644e515( ) public view returns ( uint256 ) {
if ( block. chainid = = 0x01 ) {
if ( store_f) {
if ( store_f - ( ( store_f > > 0x01 ) < 0x20 ) ) {
if ( ! store_f) {
if ( store_f = = 0x01 ) {
if ( ! 0 < ( store_f > > 0x01 ) ) {
uint256 var_j = 0xc0 + var_j;
return keccak256( var_l) ;
var_j = 0xc0 + var_j;
return keccak256( var_l) ;
return keccak256( var_l) ;
return 0xe13b566224b28edd4e2c7cf43d275a26c0d1e67a805469ad4a8a17e429cc7ae2 ;
}
}
}
}
}
}
}
/// @custom:selector 0x70a08231
/// @custom:signature Unresolved_70a08231(address arg0) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_70a08231( address arg0) public view returns ( uint256 ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_b = arg0;
return storage_map_d[ var_b] ;
}
/// @custom:selector 0x28660571
/// @custom:signature Unresolved_28660571(uint256 arg0, uint256 arg1) public returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Unresolved_28660571( uint256 arg0, uint256 arg1) public returns ( uint256 ) {
require ( ! arg0 > 0xffffffffffffffff ) ;
require ( ! ( arg0) > 0xffffffffffffffff ) ;
require ( arg1 = = arg1) ;
require ( ( 0x0de0b6b3a7640000 = = ( ( 0x0de0b6b3a7640000 * ( arg0) ) / ( arg0) ) ) | ! arg0) ;
address var_a = address ( msg. sender) ;
require ( ! ( storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) ) > storage_map_a[ var_a] ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_a[ var_a] = storage_map_a[ var_a] - ( 0x0de0b6b3a7640000 * ( arg0) ) ;
unresolved_18160ddd = unresolved_18160ddd - ( 0x0de0b6b3a7640000 * ( arg0) ) ;
emit Transfer( address ( msg. sender) , 0 , 0x0de0b6b3a7640000 * ( arg0) ) ;
require ( ! arg1) ;
require ( ( 0x0de0b6b3a7640000 * ( arg0) ) = = ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03 ) | ! 0x03 ) ;
require ( 0x03e8 ) ;
var_a = address ( msg. sender) ;
require ( ! ( storage_map_a[ var_a] - ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03e8 ) ) > storage_map_a[ var_a] ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_a[ var_a] = storage_map_a[ var_a] - ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03e8 ) ;
var_a = address ( this) ;
storage_map_a[ var_a] = ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03e8 ) + storage_map_a[ var_a] ;
emit Transfer( address ( msg. sender) , address ( this) , ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03e8 ) ;
require ( ! ( 0x0de0b6b3a7640000 * ( arg0) ) > ( ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03e8 ) + ( 0x0de0b6b3a7640000 * ( arg0) ) ) ) ;
require ( ! 0 < ( arg0) ) ;
require ( 0 < ( arg0) ) ;
address var_e = address ( this) ;
require ( address ( 0xce25e60a89f200b1fa40f6c313047ffe386992c3 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xce25e60a89f200b1fa40f6c313047ffe386992c3 ) . { value: 0 ether } Unresolved_42842e0e( var_e) ; // call
require ( ! ( arg0) > 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ) ;
var_h = msg. data[ 36 : 36 ] ;
emit Unwrap( keccak256( var_h) ) ;
return ( ( ( 0x0de0b6b3a7640000 * ( arg0) ) * 0x03 ) / 0x03e8 ) + ( 0x0de0b6b3a7640000 * ( arg0) ) ;
}
/// @custom:selector 0xa035b1fe
/// @custom:signature price() public returns (uint256)
function price( ) public returns ( uint256 ) {
require ( ! 0 ) ;
( bool success, bytes memory ret0) = address ( 0 ) . decimals( ) ; // staticcall
uint256 var_b = var_b + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_b + ret0. length) - var_b) < 0x20 ) ;
require ( var_b. length = = ( bytes1 ( var_b. length) ) ) ;
require ( ! ( 0x24 - ( bytes1 ( var_b. length) ) ) > 0xff ) ;
require ( bytes1 ( 0x24 - ( var_b. length) ) ) ;
require ( ! 0 ) ;
address var_g = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_g) ; // staticcall
var_b = var_b + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_b + ret0. length) - var_b) < 0x20 ) ;
require ( ( 0x01 = = ( ( 0x01 * var_b. length) / var_b. length) ) | ! var_b. length) ;
var_c = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( storage_map_h[ var_c] ) ;
return ( 0x01 * var_b. length) / storage_map_h[ var_c] ;
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
require ( 0x0a ) ;
require ( 0x0a = = 0x01 ) ;
require ( 0x0a = = 0x02 ) ;
require ( ! ( bytes1 ( 0x24 - ( var_b. length) ) ) > 0xff ) ;
require ( ! 0 ) ;
var_g = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_g, var_i) ; // staticcall
if ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) {
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
require ( ! ( ( 0x0a < 0x0b ) & ( bytes1 ( 0x24 - ( var_b. length) ) < 0x4e ) ) | ( ( 0x0a < 0x0133 ) & ( bytes1 ( 0x24 - ( var_b. length) ) < 0x20 ) ) ) ;
require ( ! ( bytes1 ( 0x24 - ( var_b. length) ) ) > 0x01 ) ;
require ( ! 0x01 > 0x1999999999999999999999999999999999999999999999999999999999999999 ) ;
require ( ! 0x0a > 0x1999999999999999999999999999999999999999999999999999999999999999 ) ;
}
}
/// @custom:selector 0x0a94914e
/// @custom:signature addQuote(uint256 arg0, uint256 arg1, uint256 arg2) public returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function addQuote( uint256 arg0, uint256 arg1, uint256 arg2) public returns ( uint256 ) {
require ( ! arg2) ;
require ( ! 0 ) ;
address var_b = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_b) ; // staticcall
uint256 var_c = var_c + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_c + ret0. length) - var_c) < 0x20 ) ;
require ( ( arg2 = = ( ( arg2 * arg0) / arg0) ) | ! arg0) ;
require ( var_c. length) ;
require ( ( arg2 = = ( ( arg2 * arg1) / arg1) ) | ! arg1) ;
var_d = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( storage_map_i[ var_d] ) ;
require ( ( ( arg2 * arg0) / var_c. length) < ( ( arg2 * arg1) / storage_map_i[ var_d] ) ) ;
return ( arg2 * arg0) / var_c. length;
return ( arg2 * arg1) / storage_map_i[ var_d] ;
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
}
/// @custom:selector 0xd7a2e4c9
/// @custom:signature sellQuote(uint256 arg0) public
/// @param arg0 ["uint256", "bytes32", "int256"]
function sellQuote( uint256 arg0) public {
require ( ( arg0 = = ( ( arg0 * 0x03de ) / 0x03de ) ) | ! 0x03de ) ;
address var_a = address ( this) ;
require ( storage_map_a[ var_a] = = ( ( storage_map_a[ var_a] * 0x03e8 ) / 0x03e8 ) | ! 0x03e8 ) ;
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( storage_map_a[ var_a] * 0x03e8 ) > ( ( arg0 * 0x03de ) + ( storage_map_a[ var_a] * 0x03e8 ) ) ) ;
require ( ! 0 ) ;
address var_e = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_e) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_f + ret0. length) - var_f) < 0x20 ) ;
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
}
/// @custom:selector 0x40993b26
/// @custom:signature buy(uint256 arg0, uint256 arg1, uint256 arg2) public returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function buy( uint256 arg0, uint256 arg1, uint256 arg2) public returns ( uint256 ) {
require ( ! arg2, "Invalid ether input" ) ;
require ( ! ( arg2 < block. timestamp) , "Invalid ether input" ) ;
require ( ! 0 , "Invalid ether input" ) ;
require ( ( arg0 = = ( ( arg0 * 0x03e8 ) / 0x03e8 ) ) | ! 0x03e8 ) ;
require ( ! 0 ) ;
address var_b = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_b) ; // staticcall
uint256 var_g = var_g + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_g + ret0. length) - var_g) < 0x20 ) , "Slippage: amount in" ) ;
address var_e = address ( this) ;
require ( ! ( ( storage_map_j[ var_e] - arg0) > storage_map_j[ var_e] ) , "Slippage: amount in" ) ;
var_e = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ( storage_map_j[ var_e] - arg0) = = ( ( ( storage_map_j[ var_e] - arg0) * 0x03de ) / 0x03de ) | ! 0x03de , "Slippage: amount in" ) ;
var_e = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ( ( storage_map_j[ var_e] - arg0) * 0x03de ) * ( ! var_g. length * ( ( arg0 * 0x03e8 ) > ( 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / var_g. length) ) ) , "Slippage: amount in" ) ;
require ( ! ( ( ( arg0 * 0x03e8 ) * var_g. length) / ( ( storage_map_j[ var_e] - arg0) * 0x03de ) + ( ( ( arg0 * 0x03e8 ) * var_g. length) % ( ( storage_map_j[ var_e] - arg0) * 0x03de ) ) > arg1) , "Slippage: amount in" ) ;
var_e = address ( this) ;
require ( ! ( ( storage_map_j[ var_e] - arg0) > storage_map_j[ var_e] ) , "TRANSFER_FROM_FAILED" ) ;
var_e = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_j[ var_e] = storage_map_j[ var_e] - arg0;
var_e = address ( msg. sender) ;
storage_map_j[ var_e] = arg0 + storage_map_j[ var_e] ;
var_e = var_e;
emit Transfer( address ( this) , address ( msg. sender) , arg0) ;
require ( 0 , "TRANSFER_FROM_FAILED" ) ;
address var_c = msg. sender;
( bool success, bytes memory ret0) = address ( 0 ) . { value: 0 ether } Unresolved_23b872dd( var_c) ; // call
require ( ( ( var_e = = 0x01 ) & ( ret0. length > 0x1f ) | ! ret0. length) & ( success) , "TRANSFER_FROM_FAILED" ) ;
emit Buy( ( ( arg0 * 0x03e8 ) * var_g. length) / ( ( storage_map_j[ var_e] - arg0) * 0x03de ) + ( ( ( arg0 * 0x03e8 ) * var_g. length) % ( ( storage_map_j[ var_e] - arg0) * 0x03de ) ) , arg0) ;
return ( ( ( arg0 * 0x03e8 ) * var_g. length) / ( ( storage_map_j[ var_e] - arg0) * 0x03de ) ) + ( ( ( arg0 * 0x03e8 ) * var_g. length) % ( ( storage_map_j[ var_e] - arg0) * 0x03de ) ) ;
require ( ! ( ( address ( this) . balance - msg. value) > address ( this) . balance) , "Expired" ) ;
require ( ! arg2, "Expired" ) ;
}
/// @custom:selector 0x1ae74cdd
/// @custom:signature remove(uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3) public
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
function remove( uint256 arg0, uint256 arg1, uint256 arg2, uint256 arg3) public {
require ( ! arg3) ;
require ( ! arg3 < block. timestamp) ;
( bool success, bytes memory ret0) = address ( 0x272ed9f6c7629fe90ae8d6945f48b263c0d12ba4 ) . Unresolved_18160ddd( var_b) ; // staticcall
uint256 var_c = var_c + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_c + ret0. length) - var_c) < 0x20 ) ;
require ( ! 0 ) ;
address var_e = address ( this) ;
( bool success, bytes memory ret0) = address ( 0 ) . Unresolved_70a08231( var_e) ; // staticcall
var_c = var_c + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_c + ret0. length) - var_c) < 0x20 ) , "Slippage: base token amount out" ) ;
require ( ( arg0 = = ( ( arg0 * var_c. length) / var_c. length) ) | ! var_c. length, "Slippage: base token amount out" ) ;
require ( var_c. length, "Slippage: base token amount out" ) ;
address var_f = address ( this) ;
require ( ( arg0 = = ( ( arg0 * storage_map_c[ var_f] ) / storage_map_c[ var_f] ) ) | ! storage_map_c[ var_f] , "Slippage: base token amount out" ) ;
require ( var_c. length, "Slippage: base token amount out" ) ;
require ( ! ( 0x01 > ( arg0 + 0x01 ) ) , "Slippage: base token amount out" ) ;
var_f = address ( this) ;
require ( ( arg0 + 0x01 ) = = ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / storage_map_c[ var_f] ) | ! storage_map_c[ var_f] , "Slippage: base token amount out" ) ;
require ( var_c. length, "Slippage: base token amount out" ) ;
require ( 0x0de0b6b3a7640000 , "Slippage: base token amount out" ) ;
var_f = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) % 0x0de0b6b3a7640000 ) , "Slippage: base token amount out" ) ;
require ( ! ( ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) - ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) > ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) ) , "Slippage: base token amount out" ) ;
var_f = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
require ( ! ( ! ( ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) - ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) ) > 0x03e8 ) , "Slippage: base token amount out" ) ;
require ( ! ( ! ( ( ( arg0 + 0x01 ) * storage_map_c[ var_f] / var_c. length) - ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) ) > 0x03e8 ) , "Slippage: base token amount out" ) ;
require ( ! ( ( ( arg0 * var_c. length) / var_c. length) < arg1) , "Slippage: base token amount out" ) ;
require ( ! ( ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) < arg2) , "Slippage: fractional token out" ) ;
if ( ! ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) % 0x0de0b6b3a7640000 ) {
if ( ! ( ( arg0 * storage_map_c[ var_f] ) / var_c. length) % 0x0de0b6b3a7640000 ) {
}
}
require ( ! ( address ( this) . balance - msg. value) > address ( this) . balance) ;
require ( ! arg3, "Expired" ) ;
}
/// @custom:selector 0x43d726d6
/// @custom:signature close() public
function close( ) public {
( bool success, bytes memory ret0) = address ( 0xa964d6e8d90e5cd12592a8ef2b1735dae9ba0840 ) . owner( ) ; // staticcall
uint256 var_b = var_b + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_b + ret0. length) - var_b) < 0x20 ) , "Close: not owner" ) ;
require ( var_b. length = = ( address ( var_b. length) ) , "Close: not owner" ) ;
require ( address ( var_b. length) = = ( address ( msg. sender) ) , "Close: not owner" ) ;
require ( ! block. timestamp > ( 0x093a80 + block. timestamp) ) ;
closeTimestamp = 0x093a80 + block. timestamp;
var_d = 0xce25e60a89f200b1fa40f6c313047ffe386992c3 ;
uint256 var_f = 0 ;
require ( address ( 0xa964d6e8d90e5cd12592a8ef2b1735dae9ba0840 ) . code. length) ;
( bool success, bytes memory ret0) = address ( 0xa964d6e8d90e5cd12592a8ef2b1735dae9ba0840 ) . { value: var_f ether } Unresolved_505fe152( var_d) ; // call
emit Close( closeTimestamp) ;
}
}
ABI
[
{
"type": "function",
"name": "CLOSE_GRACE_PERIOD",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_06fdde03",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_095ea7b3",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "Unresolved_150b7a02",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_18160ddd",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_23b872dd",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_28660571",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "Unresolved_2e1a7d4d",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "Unresolved_35ec39d9",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_3644e515",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_4cba3eca",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "Unresolved_4cfb998a",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
},
{
"name": "arg5",
"type": "uint256"
},
{
"name": "arg6",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_5accf4a5",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_70a08231",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_95d89b41",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_d505accf",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_dd62ed3e",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "add",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
},
{
"name": "arg5",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "addQuote",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "baseToken",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "baseTokenReserves",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "buy",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "buyQuote",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "caviar",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "close",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "closeTimestamp",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "decimals",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "fractionalTokenReserves",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "lpToken",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "merkleRoot",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "nft",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "nftBuy",
"inputs": [
{
"name": "arg0",
"type": "uint256[]"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "nonces",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "price",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "remove",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "removeQuote",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "sell",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "sellQuote",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "transfer",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "Add",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
},
{
"name": "arg1",
"type": "uint256",
"indexed": false
},
{
"name": "arg2",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Buy",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
},
{
"name": "arg1",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Close",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Event_8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
"inputs": [],
"anonymous": false
},
{
"type": "event",
"name": "Transfer",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
},
{
"name": "arg2",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Unwrap",
"inputs": [
{
"name": "arg0",
"type": "uint256[]",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Withdraw",
"inputs": [
{
"name": "arg0",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
}
]