Transaction Hash:
Block:
21778368 at Feb-05-2025 06:00:47 AM +UTC
Transaction Fee:
0.000925926685922602 ETH
$2.77
Gas Used:
565,318 Gas / 1.637886439 Gwei
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 17.53974464916384255 Eth | 17.53980118096384255 Eth | 0.0000565318 | |
0xde9BEbd6...d1334f914 |
0.009883562316599319 Eth
Nonce: 141
|
0.008957635630676717 Eth
Nonce: 142
| 0.000925926685922602 |
Execution Trace
ETH 0.005378927513572827
ZeroEx.415565b0( )
ETH 0.005378927513572827
TransformERC20Feature.transformERC20( inputToken=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, outputToken=0xF527d24391C767B86b8e91385e1cE9C54D230A2B, inputTokenAmount=5378927513572827, minOutputTokenAmount=101358859802265188834160, transformations= )
-
TsuzukiInu.balanceOf( account=0xde9BEbd605020B4ccC31BBc83f54569d1334f914 ) => ( 3374223101502532953481232 )
- ETH 0.005378927513572827
FlashWallet.CALL( )
FlashWallet.executeDelegateCall( target=0xb2bc06a4EfB20FC6553a69Dbfa49B7bE938034A7, callData=0x832B24BB0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000DE9BEBD605020B4CCC31BBC83F54569D1334F914000000000000000000000000DE9BEBD605020B4CCC31BBC83F54569D1334F91400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000040000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE00000000000000000000000000000000000000000000000000131C1B27B815DB ) => ( resultData=0x13C9929E00000000000000000000000000000000000000000000000000000000 )
WethTransformer.transform( context=[{name:sender, type:address, order:1, indexed:false, value:0xde9BEbd605020B4ccC31BBc83f54569d1334f914, valueString:0xde9BEbd605020B4ccC31BBc83f54569d1334f914}, {name:taker, type:address, order:2, indexed:false, value:0xde9BEbd605020B4ccC31BBc83f54569d1334f914, valueString:0xde9BEbd605020B4ccC31BBc83f54569d1334f914}, {name:data, type:bytes, order:3, indexed:false, value:0x000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE00000000000000000000000000000000000000000000000000131C1B27B815DB, valueString:0x000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE00000000000000000000000000000000000000000000000000131C1B27B815DB}] ) => ( success=System.Byte[] )
- ETH 0.005378927513572827
WETH9.CALL( )
- ETH 0.005378927513572827
FlashWallet.executeDelegateCall( target=0x2Fd08C1F9FC8406C1D7E3A799A13883a7E7949f0, callData=0x832B24BB0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000DE9BEBD605020B4CCC31BBC83F54569D1334F914000000000000000000000000DE9BEBD605020B4CCC31BBC83F54569D1334F914000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004C000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000131C1B27B815DB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000002556E69737761705632000000000000000000000000000000000000000000000000000000000000000012A1CDAD2048830000000000000000000000000000000000000000000012792E59294EF36FBDE0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000F164FC0EC4E93095B804A4795BBE1E041497B92A00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B000000000000000000000000000000025368696261537761700000000000000000000000000000000000000000000000000000000000000000007A4D7A97CD5900000000000000000000000000000000000000000000033A9B80367FB16E4AA3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000003F7724180AA6B939894B5CA4314783B0B36B32900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) => ( resultData=0x13C9929E00000000000000000000000000000000000000000000000000000000 )
FillQuoteTransformer.transform( context=[{name:sender, type:address, order:1, indexed:false, value:0xde9BEbd605020B4ccC31BBc83f54569d1334f914, valueString:0xde9BEbd605020B4ccC31BBc83f54569d1334f914}, {name:recipient, type:address, order:2, indexed:false, value:0xde9BEbd605020B4ccC31BBc83f54569d1334f914, valueString:0xde9BEbd605020B4ccC31BBc83f54569d1334f914}, {name:data, type:bytes, order:3, indexed:false, value:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000131C1B27B815DB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000002556E69737761705632000000000000000000000000000000000000000000000000000000000000000012A1CDAD2048830000000000000000000000000000000000000000000012792E59294EF36FBDE0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000F164FC0EC4E93095B804A4795BBE1E041497B92A00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B000000000000000000000000000000025368696261537761700000000000000000000000000000000000000000000000000000000000000000007A4D7A97CD5900000000000000000000000000000000000000000000033A9B80367FB16E4AA3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000003F7724180AA6B939894B5CA4314783B0B36B32900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, valueString:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000131C1B27B815DB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000002556E69737761705632000000000000000000000000000000000000000000000000000000000000000012A1CDAD2048830000000000000000000000000000000000000000000012792E59294EF36FBDE0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000F164FC0EC4E93095B804A4795BBE1E041497B92A00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B000000000000000000000000000000025368696261537761700000000000000000000000000000000000000000000000000000000000000000007A4D7A97CD5900000000000000000000000000000000000000000000033A9B80367FB16E4AA3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000003F7724180AA6B939894B5CA4314783B0B36B32900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}] ) => ( magicBytes=System.Byte[] )
-
WETH9.balanceOf( 0x22F9dCF4647084d6C31b2765F6910cd85C178C18 ) => ( 5378927513572827 )
EthereumBridgeAdapter.trade( order=[{name:source, type:bytes32, order:1, indexed:false, value:00000000000000000000000000000002556E6973776170563200000000000000, valueString:00000000000000000000000000000002556E6973776170563200000000000000}, {name:takerTokenAmount, type:uint256, order:2, indexed:false, value:5244454325733507, valueString:5244454325733507}, {name:makerTokenAmount, type:uint256, order:3, indexed:false, value:87237992470590209900000, valueString:87237992470590209900000}, {name:bridgeData, type:bytes, order:4, indexed:false, value:0x000000000000000000000000F164FC0EC4E93095B804A4795BBE1E041497B92A00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B, valueString:0x000000000000000000000000F164FC0EC4E93095B804A4795BBE1E041497B92A00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B}], sellToken=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, buyToken=0xF527d24391C767B86b8e91385e1cE9C54D230A2B, sellAmount=5244454325733507 ) => ( boughtAmount=89936074711948667845190 )
-
WETH9.allowance( 0x22F9dCF4647084d6C31b2765F6910cd85C178C18, 0xf164fC0Ec4E93095b804a4795bBe1e041497b92a ) => ( 115792089237316195423570985008687907853269984665640564039457584007913129639935 )
UniswapV2Router01.swapExactTokensForTokens( amountIn=5244454325733507, amountOutMin=1, path=[0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, 0xF527d24391C767B86b8e91385e1cE9C54D230A2B], to=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, deadline=1738735247 ) => ( amounts=[5244454325733507, 89936074711948667845190] )
-
UniswapV2Pair.STATICCALL( )
-
WETH9.transferFrom( src=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, dst=0x6E6D348260DEccaaa03FaAa7160f81968E9728C3, wad=5244454325733507 ) => ( True )
-
UniswapV2Pair.swap( amount0Out=0, amount1Out=89936074711948667845190, to=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, data=0x )
-
-
EthereumBridgeAdapter.trade( order=[{name:source, type:bytes32, order:1, indexed:false, value:0000000000000000000000000000000253686962615377617000000000000000, valueString:0000000000000000000000000000000253686962615377617000000000000000}, {name:takerTokenAmount, type:uint256, order:2, indexed:false, value:134473187839321, valueString:134473187839321}, {name:makerTokenAmount, type:uint256, order:3, indexed:false, value:15248215620679052970659, valueString:15248215620679052970659}, {name:bridgeData, type:bytes, order:4, indexed:false, value:0x00000000000000000000000003F7724180AA6B939894B5CA4314783B0B36B32900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B, valueString:0x00000000000000000000000003F7724180AA6B939894B5CA4314783B0B36B32900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B}], sellToken=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, buyToken=0xF527d24391C767B86b8e91385e1cE9C54D230A2B, sellAmount=134473187839320 ) => ( boughtAmount=15719809918225810454117 )
-
WETH9.allowance( 0x22F9dCF4647084d6C31b2765F6910cd85C178C18, 0x03f7724180AA6b939894B5Ca4314783B0b36b329 ) => ( 115792089237316195423570985008687907853269984665640564039457584007913129639935 )
UniswapV2Router02.swapExactTokensForTokens( amountIn=134473187839320, amountOutMin=1, path=[0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, 0xF527d24391C767B86b8e91385e1cE9C54D230A2B], to=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, deadline=1738735247 ) => ( amounts=[134473187839320, 15719809918225810454117] )
-
UniswapV2Pair.STATICCALL( )
-
WETH9.transferFrom( src=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, dst=0x4fd5c94415485697863f9C19D004F4089A496982, wad=134473187839320 ) => ( True )
-
UniswapV2Pair.swap( amount0Out=0, amount1Out=15719809918225810454117, to=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, data=0x )
-
-
-
FlashWallet.executeDelegateCall( target=0x8146cbBE327364b13d0699f2CED39C637f92501a, callData=0x832B24BB0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000DE9BEBD605020B4CCC31BBC83F54569D1334F914000000000000000000000000DE9BEBD605020B4CCC31BBC83F54569D1334F914000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B0000000000000000000000000000000000000000000000378ED188A3589EFF80000000000000000000000000382FFCE2287252F930E1C8DC9328DAC5BF282BA1 )
AffiliateFeeTransformer.transform( context=[{name:sender, type:address, order:1, indexed:false, value:0xde9BEbd605020B4ccC31BBc83f54569d1334f914, valueString:0xde9BEbd605020B4ccC31BBc83f54569d1334f914}, {name:recipient, type:address, order:2, indexed:false, value:0xde9BEbd605020B4ccC31BBc83f54569d1334f914, valueString:0xde9BEbd605020B4ccC31BBc83f54569d1334f914}, {name:data, type:bytes, order:3, indexed:false, value:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B0000000000000000000000000000000000000000000000378ED188A3589EFF80000000000000000000000000382FFCE2287252F930E1C8DC9328DAC5BF282BA1, valueString:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000F527D24391C767B86B8E91385E1CE9C54D230A2B0000000000000000000000000000000000000000000000378ED188A3589EFF80000000000000000000000000382FFCE2287252F930E1C8DC9328DAC5BF282BA1}] )
TsuzukiInu.transfer( recipient=0x382fFCe2287252F930E1C8DC9328dac5BF282bA1, amount=1024862080912691494784 )
-
UniswapV2Router02.STATICCALL( )
-
-
transformERC20[TransformERC20Feature (ln:182)]
_transformERC20Private[TransformERC20Feature (ln:194)]
isTokenETH[TransformERC20Feature (ln:230)]
_getSpendableERC20BalanceOf[TransformERC20Feature (ln:235)]
getTransformWallet[TransformERC20Feature (ln:242)]
getStorage[TransformERC20Feature (ln:305)]
getStorageSlot[LibTransformERC20Storage (ln:2531)]
getTransformerDeployer[TransformERC20Feature (ln:243)]
getStorage[TransformERC20Feature (ln:105)]
getStorageSlot[LibTransformERC20Storage (ln:2531)]
getTokenBalanceOf[TransformERC20Feature (ln:246)]
isTokenETH[LibERC20Transformer (ln:2686)]
balanceOf[LibERC20Transformer (ln:2689)]
_transferInputTokensAndAttachedEth[TransformERC20Feature (ln:248)]
isTokenETH[TransformERC20Feature (ln:317)]
rrevert[TransformERC20Feature (ln:321)]
InsufficientEthAttachedError[TransformERC20Feature (ln:321)]
encodeWithSelector[LibTransformERC20RichErrors (ln:1541)]
transfer[TransformERC20Feature (ln:328)]
isTokenETH[TransformERC20Feature (ln:331)]
_transferERC20Tokens[TransformERC20Feature (ln:334)]
_transferERC20TokensFrom[TransformERC20Feature (ln:341)]
_executeTransformation[TransformERC20Feature (ln:252)]
getDeployedAddress[TransformERC20Feature (ln:364)]
rlpEncodeNonce[LibERC20Transformer (ln:2744)]
executeDelegateCall[TransformERC20Feature (ln:369)]
encodeWithSelector[TransformERC20Feature (ln:373)]
TransformContext[TransformERC20Feature (ln:375)]
decode[TransformERC20Feature (ln:384)]
rrevert[TransformERC20Feature (ln:386)]
TransformerFailedError[TransformERC20Feature (ln:386)]
encodeWithSelector[LibTransformERC20RichErrors (ln:1586)]
_executeOutputTokenTransfer[TransformERC20Feature (ln:260)]
getTokenBalanceOf[TransformERC20Feature (ln:402)]
isTokenETH[LibERC20Transformer (ln:2686)]
balanceOf[LibERC20Transformer (ln:2689)]
isTokenETH[TransformERC20Feature (ln:403)]
executeCall[TransformERC20Feature (ln:404)]
executeCall[TransformERC20Feature (ln:410)]
payable[TransformERC20Feature (ln:411)]
encodeWithSelector[TransformERC20Feature (ln:412)]
readUint256[TransformERC20Feature (ln:429)]
readBytes32[LibBytesV06 (ln:1162)]
rrevert[LibBytesV06 (ln:1110)]
InvalidByteOperationError[LibBytesV06 (ln:1110)]
encodeWithSelector[LibBytesRichErrorsV06 (ln:1261)]
rrevert[TransformERC20Feature (ln:431)]
rrevert[TransformERC20Feature (ln:436)]
getTokenBalanceOf[TransformERC20Feature (ln:268)]
isTokenETH[LibERC20Transformer (ln:2686)]
balanceOf[LibERC20Transformer (ln:2689)]
rrevert[TransformERC20Feature (ln:270)]
NegativeTransformERC20OutputError[TransformERC20Feature (ln:270)]
encodeWithSelector[LibTransformERC20RichErrors (ln:1571)]
min256[TransformERC20Feature (ln:275)]
safeSub[TransformERC20Feature (ln:277)]
rrevert[TransformERC20Feature (ln:281)]
IncompleteTransformERC20Error[TransformERC20Feature (ln:281)]
encodeWithSelector[LibTransformERC20RichErrors (ln:1556)]
TransformedERC20[TransformERC20Feature (ln:288)]
TransformERC20Args[TransformERC20Feature (ln:195)]
File 1 of 14: ZeroEx
File 2 of 14: TransformERC20Feature
File 3 of 14: TsuzukiInu
File 4 of 14: FlashWallet
File 5 of 14: WethTransformer
File 6 of 14: WETH9
File 7 of 14: FillQuoteTransformer
File 8 of 14: EthereumBridgeAdapter
File 9 of 14: UniswapV2Router01
File 10 of 14: UniswapV2Pair
File 11 of 14: UniswapV2Router02
File 12 of 14: UniswapV2Pair
File 13 of 14: AffiliateFeeTransformer
File 14 of 14: UniswapV2Router02
12345678910111213141516/*Copyright 2020 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";import "./migrations/LibBootstrap.sol";
File 2 of 14: TransformERC20Feature
12345678910111213141516// SPDX-License-Identifier: Apache-2.0/*Copyright 2020 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "@0x/contracts-erc20/contracts/src/v06/IERC20TokenV06.sol";
File 3 of 14: TsuzukiInu
12345678910111213141516/***/pragma solidity ^0.8.4;// SPDX-License-Identifier: UNLICENSEDabstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}}interface IERC20 {function totalSupply() external view returns (uint256);function balanceOf(address account) external view returns (uint256);function transfer(address recipient, uint256 amount) external returns (bool);function allowance(address owner, address spender) external view returns (uint256);
File 4 of 14: FlashWallet
12345678910111213141516/*Copyright 2020 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";import "./migrations/LibBootstrap.sol";
File 5 of 14: WethTransformer
12345678910111213141516/*Copyright 2020 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";import "@0x/contracts-utils/contracts/src/v06/LibSafeMathV06.sol";
File 6 of 14: WETH9
12345678910111213141516// Copyright (C) 2015, 2016, 2017 Dapphub// This program is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License// along with this program. If not, see <http://www.gnu.org/licenses/>.pragma solidity ^0.4.18;
File 7 of 14: FillQuoteTransformer
12345678910111213141516// SPDX-License-Identifier: Apache-2.0/*Copyright 2023 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
File 8 of 14: EthereumBridgeAdapter
12345678910111213141516// SPDX-License-Identifier: Apache-2.0/*Copyright 2023 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "./AbstractBridgeAdapter.sol";
File 9 of 14: UniswapV2Router01
12345678910111213141516// File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.solpragma solidity >=0.5.0;interface IUniswapV2Factory {event PairCreated(address indexed token0, address indexed token1, address pair, uint);function feeTo() external view returns (address);function feeToSetter() external view returns (address);function getPair(address tokenA, address tokenB) external view returns (address pair);function allPairs(uint) external view returns (address pair);function allPairsLength() external view returns (uint);function createPair(address tokenA, address tokenB) external returns (address pair);
File 10 of 14: UniswapV2Pair
12345678910111213141516// File: contracts/interfaces/IUniswapV2Pair.solpragma solidity >=0.5.0;interface IUniswapV2Pair {event Approval(address indexed owner, address indexed spender, uint value);event Transfer(address indexed from, address indexed to, uint value);function name() external pure returns (string memory);function symbol() external pure returns (string memory);function decimals() external pure returns (uint8);function totalSupply() external view returns (uint);function balanceOf(address owner) external view returns (uint);function allowance(address owner, address spender) external view returns (uint);function approve(address spender, uint value) external returns (bool);
File 11 of 14: UniswapV2Router02
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity =0.6.12;import './libraries/UniswapV2Library.sol';import './libraries/SafeMath.sol';import './libraries/TransferHelper.sol';import './interfaces/IUniswapV2Router02.sol';import './interfaces/IUniswapV2Factory.sol';import './interfaces/IERC20.sol';import './interfaces/IWETH.sol';contract UniswapV2Router02 is IUniswapV2Router02 {using SafeMathUniswap for uint;address public immutable override factory;address public immutable override WETH;modifier ensure(uint deadline) {require(deadline >= block.timestamp, 'UniswapV2Router: EXPIRED');_;
File 12 of 14: UniswapV2Pair
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity =0.6.12;import './UniswapV2ERC20.sol';import './libraries/Math.sol';import './libraries/UQ112x112.sol';import './interfaces/IERC20.sol';import './interfaces/IUniswapV2Factory.sol';import './interfaces/IUniswapV2Callee.sol';interface IMigrator {// Return the desired amount of liquidity token that the migrator wants.function desiredLiquidity() external view returns (uint256);}contract UniswapV2Pair is UniswapV2ERC20 {using SafeMathUniswap for uint;using UQ112x112 for uint224;uint public constant MINIMUM_LIQUIDITY = 10**3;
File 13 of 14: AffiliateFeeTransformer
12345678910111213141516// SPDX-License-Identifier: Apache-2.0/*Copyright 2020 ZeroEx Intl.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.*/pragma solidity ^0.6.5;pragma experimental ABIEncoderV2;import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
File 14 of 14: UniswapV2Router02
12345678910111213141516pragma solidity =0.6.6;interface IUniswapV2Factory {event PairCreated(address indexed token0, address indexed token1, address pair, uint);function feeTo() external view returns (address);function feeToSetter() external view returns (address);function getPair(address tokenA, address tokenB) external view returns (address pair);function allPairs(uint) external view returns (address pair);function allPairsLength() external view returns (uint);function createPair(address tokenA, address tokenB) external returns (address pair);function setFeeTo(address) external;function setFeeToSetter(address) external;