ETH Price: $2,527.66 (+0.64%)

Transaction Decoder

Block:
22042190 at Mar-14-2025 02:39:47 AM +UTC
Transaction Fee:
0.000251992832118804 ETH $0.64
Gas Used:
324,638 Gas / 0.776227158 Gwei

Emitted Events:

35 FantomToken.Transfer( _from=[Sender] 0x1bacbc23ca7586bd33c653a64e47407837d67ed7, _to=0x382fFCe2287252F930E1C8DC9328dac5BF282bA1, _value=301718268999091474 )
36 FantomToken.Transfer( _from=[Sender] 0x1bacbc23ca7586bd33c653a64e47407837d67ed7, _to=[Receiver] ZeroExProxy, _value=19812832997607006837 )
37 FantomToken.Approval( _owner=[Receiver] ZeroExProxy, _spender=ZeroEx, _value=19812832997607006837 )
38 FantomToken.Transfer( _from=[Receiver] ZeroExProxy, _to=FlashWallet, _value=19812832997607006837 )
39 FantomToken.Transfer( _from=FlashWallet, _to=UniswapV2Pair, _value=19812832997607006837 )
40 WETH9.Transfer( src=UniswapV2Pair, dst=FlashWallet, wad=5196887416760349 )
41 UniswapV2Pair.Sync( reserve0=67059355522629194530249, reserve1=17637320808509987947 )
42 UniswapV2Pair.Swap( sender=UniswapV2Router02, amount0In=19812832997607006837, amount1In=0, amount0Out=0, amount1Out=5196887416760349, to=FlashWallet )
43 FlashWallet.0xe59e71a14fe90157eedc866c4f8c767d3943d6b6b2e8cd64dddcc92ab4c55af8( 0xe59e71a14fe90157eedc866c4f8c767d3943d6b6b2e8cd64dddcc92ab4c55af8, 0000000000000000000000000000000253757368695377617000000000000000, 0000000000000000000000004e15361fd6b4bb609fa63c81a2be19d873717870, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 00000000000000000000000000000000000000000000000112f552a37080e275, 0000000000000000000000000000000000000000000000000012768aa469e81d )
44 WETH9.Transfer( src=FlashWallet, dst=0xaD01C20d5886137e056775af56915de824c8fCe5, wad=5040980794257 )
45 WETH9.Transfer( src=FlashWallet, dst=[Receiver] ZeroExProxy, wad=5191846435966092 )
46 ZeroEx.0x0f6672f78a59ba8e5e5b5d38df3ebc67f3c792e2c9259b8d97d7f00dd78ba1b3( 0x0f6672f78a59ba8e5e5b5d38df3ebc67f3c792e2c9259b8d97d7f00dd78ba1b3, 0x000000000000000000000000e66b31678d6c16e9ebf358268a790b763c133750, 0000000000000000000000004e15361fd6b4bb609fa63c81a2be19d873717870, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 00000000000000000000000000000000000000000000000112f552a37080e275, 000000000000000000000000000000000000000000000000001271f4f28b4c8c )
47 WETH9.Transfer( src=[Receiver] ZeroExProxy, dst=[Sender] 0x1bacbc23ca7586bd33c653a64e47407837d67ed7, wad=5191846435966092 )

Account State Difference:

  Address   Before After State Difference Code
0x0E26A210...a249D5EFc
0x1BAcbC23...837D67eD7
0.019109192397304496 Eth
Nonce: 2
0.018857199565185692 Eth
Nonce: 3
0.000251992832118804
0x4E15361F...873717870
(beaverbuild)
9.983855318457689537 Eth9.983931986961046857 Eth0.00007666850335732
0xC02aaA39...83C756Cc2

Execution Trace

ZeroExProxy.proxiedSwap( msgData=0x415565B00000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000011E4291BB114F100000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002C000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000025375736869537761700000000000000000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000011E8BECD8FB082000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000D9E1CE17F2641F24AE83637AB66A2CCA9C378B9F000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001B000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000495B1DE9B91000000000000000000000000AD01C20D5886137E056775AF56915DE824C8FCE5000000000000000000000000000000000000000000000000000000000000001C000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE0000000000000000000000000000000000000000000000000000000000000000869584CD000000000000000000000000A19D2A436158930E55625651584AB6C44206D4A60000000000000000000000000000000000000000C50DB0447A8559729216AE31, feeToken=0x4E15361FD6b4BB609Fa63C81A2be19d873717870, inputToken=0x4E15361FD6b4BB609Fa63C81A2be19d873717870, inputAmount=19812832997607006837, outputToken=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, fee=301718268999091474 )
  • FantomToken.transferFrom( _from=0x1BAcbC23ca7586bD33C653A64E47407837D67eD7, _to=0x382fFCe2287252F930E1C8DC9328dac5BF282bA1, _amount=301718268999091474 ) => ( success=True )
  • FantomToken.transferFrom( _from=0x1BAcbC23ca7586bD33C653A64E47407837D67eD7, _to=0xe66B31678d6C16E9ebf358268a790B763C133750, _amount=19812832997607006837 ) => ( success=True )
  • FantomToken.allowance( _owner=0xe66B31678d6C16E9ebf358268a790B763C133750, _spender=0xDef1C0ded9bec7F1a1670819833240f027b25EfF ) => ( 0 )
  • FantomToken.allowance( _owner=0xe66B31678d6C16E9ebf358268a790B763C133750, _spender=0xDef1C0ded9bec7F1a1670819833240f027b25EfF ) => ( 0 )
  • FantomToken.approve( _spender=0xDef1C0ded9bec7F1a1670819833240f027b25EfF, _amount=19812832997607006837 ) => ( True )
  • ZeroEx.415565b0( )
    • TransformERC20Feature.transformERC20( inputToken=0x4E15361FD6b4BB609Fa63C81A2be19d873717870, outputToken=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, inputTokenAmount=19812832997607006837, minOutputTokenAmount=5035939813463281, transformations= ) => ( outputTokenAmount=5191846435966092 )
      • WETH9.balanceOf( 0xe66B31678d6C16E9ebf358268a790B763C133750 ) => ( 0 )
      • FantomToken.transferFrom( _from=0xe66B31678d6C16E9ebf358268a790B763C133750, _to=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, _amount=19812832997607006837 ) => ( success=True )
      • FlashWallet.executeDelegateCall( target=0x2Fd08C1F9FC8406C1D7E3A799A13883a7E7949f0, callData=0x832B24BB0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000E66B31678D6C16E9EBF358268A790B763C133750000000000000000000000000E66B31678D6C16E9EBF358268A790B763C13375000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002C000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000025375736869537761700000000000000000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000011E8BECD8FB082000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000D9E1CE17F2641F24AE83637AB66A2CCA9C378B9F000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) => ( resultData=0x13C9929E00000000000000000000000000000000000000000000000000000000 )
        • FillQuoteTransformer.transform( context=[{name:sender, type:address, order:1, indexed:false, value:0xe66B31678d6C16E9ebf358268a790B763C133750, valueString:0xe66B31678d6C16E9ebf358268a790B763C133750}, {name:recipient, type:address, order:2, indexed:false, value:0xe66B31678d6C16E9ebf358268a790B763C133750, valueString:0xe66B31678d6C16E9ebf358268a790B763C133750}, {name:data, type:bytes, order:3, indexed:false, value:0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002C000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000025375736869537761700000000000000000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000011E8BECD8FB082000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000D9E1CE17F2641F24AE83637AB66A2CCA9C378B9F000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, valueString:0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002C000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000025375736869537761700000000000000000000000000000000000000000000000000000000000000112F552A37080E2750000000000000000000000000000000000000000000000000011E8BECD8FB082000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000000D9E1CE17F2641F24AE83637AB66A2CCA9C378B9F000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}] ) => ( magicBytes=System.Byte[] )
          • FantomToken.balanceOf( _owner=0x22F9dCF4647084d6C31b2765F6910cd85C178C18 ) => ( 19812832997607006837 )
          • EthereumBridgeAdapter.trade( order=[{name:source, type:bytes32, order:1, indexed:false, value:0000000000000000000000000000000253757368695377617000000000000000, valueString:0000000000000000000000000000000253757368695377617000000000000000}, {name:takerTokenAmount, type:uint256, order:2, indexed:false, value:19812832997607006837, valueString:19812832997607006837}, {name:makerTokenAmount, type:uint256, order:3, indexed:false, value:5040980794257538, valueString:5040980794257538}, {name:bridgeData, type:bytes, order:4, indexed:false, value:0x000000000000000000000000D9E1CE17F2641F24AE83637AB66A2CCA9C378B9F000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000D9E1CE17F2641F24AE83637AB66A2CCA9C378B9F000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}], sellToken=0x4E15361FD6b4BB609Fa63C81A2be19d873717870, buyToken=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, sellAmount=19812832997607006837 ) => ( boughtAmount=5196887416760349 )
            • FantomToken.allowance( _owner=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, _spender=0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F ) => ( 115792089237316195423570985008687907853269984665640554694778022224761478678376 )
            • UniswapV2Router02.swapExactTokensForTokens( amountIn=19812832997607006837, amountOutMin=1, path=[0x4E15361FD6b4BB609Fa63C81A2be19d873717870, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2], to=0x22F9dCF4647084d6C31b2765F6910cd85C178C18, deadline=1741919987 ) => ( amounts=[19812832997607006837, 5196887416760349] )
            • FlashWallet.executeDelegateCall( target=0x8146cbBE327364b13d0699f2CED39C637f92501a, callData=0x832B24BB0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000E66B31678D6C16E9EBF358268A790B763C133750000000000000000000000000E66B31678D6C16E9EBF358268A790B763C133750000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000495B1DE9B91000000000000000000000000AD01C20D5886137E056775AF56915DE824C8FCE5 ) => ( resultData=0x13C9929E00000000000000000000000000000000000000000000000000000000 )
              • AffiliateFeeTransformer.transform( context=[{name:sender, type:address, order:1, indexed:false, value:0xe66B31678d6C16E9ebf358268a790B763C133750, valueString:0xe66B31678d6C16E9ebf358268a790B763C133750}, {name:recipient, type:address, order:2, indexed:false, value:0xe66B31678d6C16E9ebf358268a790B763C133750, valueString:0xe66B31678d6C16E9ebf358268a790B763C133750}, {name:data, type:bytes, order:3, indexed:false, value:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000495B1DE9B91000000000000000000000000AD01C20D5886137E056775AF56915DE824C8FCE5, valueString:0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC200000000000000000000000000000000000000000000000000000495B1DE9B91000000000000000000000000AD01C20D5886137E056775AF56915DE824C8FCE5}] ) => ( success=System.Byte[] )
                • WETH9.transfer( dst=0xaD01C20d5886137e056775af56915de824c8fCe5, wad=5040980794257 ) => ( True )
                • FlashWallet.executeDelegateCall( target=0xEa500D073652336A58846ada15C25F2C6D2d241f, callData=0x832B24BB0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000E66B31678D6C16E9EBF358268A790B763C133750000000000000000000000000E66B31678D6C16E9EBF358268A790B763C133750000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE0000000000000000000000000000000000000000000000000000000000000000 ) => ( resultData=0x13C9929E00000000000000000000000000000000000000000000000000000000 )
                  • PayTakerTransformer.transform( context=[{name:sender, type:address, order:1, indexed:false, value:0xe66B31678d6C16E9ebf358268a790B763C133750, valueString:0xe66B31678d6C16E9ebf358268a790B763C133750}, {name:recipient, type:address, order:2, indexed:false, value:0xe66B31678d6C16E9ebf358268a790B763C133750, valueString:0xe66B31678d6C16E9ebf358268a790B763C133750}, {name:data, type:bytes, order:3, indexed:false, value:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE0000000000000000000000000000000000000000000000000000000000000000, valueString:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000A000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004E15361FD6B4BB609FA63C81A2BE19D873717870000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE0000000000000000000000000000000000000000000000000000000000000000}] ) => ( success=System.Byte[] )
                    • FantomToken.balanceOf( _owner=0x22F9dCF4647084d6C31b2765F6910cd85C178C18 ) => ( 0 )
                    • WETH9.balanceOf( 0x22F9dCF4647084d6C31b2765F6910cd85C178C18 ) => ( 5191846435966092 )
                    • FlashWallet.executeCall( target=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, callData=0xA9059CBB000000000000000000000000E66B31678D6C16E9EBF358268A790B763C133750000000000000000000000000000000000000000000000000001271F4F28B4C8C, value=0 ) => ( resultData=0x0000000000000000000000000000000000000000000000000000000000000001 )
                      • WETH9.transfer( dst=0xe66B31678d6C16E9ebf358268a790B763C133750, wad=5191846435966092 ) => ( True )
                      • WETH9.balanceOf( 0xe66B31678d6C16E9ebf358268a790B763C133750 ) => ( 5191846435966092 )
                      • WETH9.balanceOf( 0xe66B31678d6C16E9ebf358268a790B763C133750 ) => ( 5191846435966092 )
                      • WETH9.transfer( dst=0x1BAcbC23ca7586bD33C653A64E47407837D67eD7, wad=5191846435966092 ) => ( True )
                        File 1 of 12: ZeroExProxy
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // SPDX-License-Identifier: GPL-3.0
                        pragma solidity 0.6.12;
                        interface IZeroEx {
                        function getFunctionImplementation(bytes4 _signature) external returns (address);
                        }// SPDX-License-Identifier: GPL-3.0
                        pragma solidity 0.6.12;
                        pragma experimental ABIEncoderV2;
                        import "./IZeroEx.sol";
                        import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";
                        import "@0x/contracts-zero-ex/contracts/src/errors/LibProxyRichErrors.sol";
                        import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
                        import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
                        import "@openzeppelin/contracts/access/Ownable.sol";
                        /// @title Coinbase proxy contract for 0x proxy
                        /// @dev A generic proxy contract which extracts a fee before delegation
                        contract ZeroExProxy is Ownable {
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 2 of 12: FantomToken
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        pragma solidity ^0.4.23;
                        // ----------------------------------------------------------------------------
                        //
                        // Fantom Foundation FTM token public sale contract
                        //
                        // For details, please visit: http://fantom.foundation
                        //
                        //
                        // written by Alex Kampa - ak@sikoba.com
                        //
                        // ----------------------------------------------------------------------------
                        // ----------------------------------------------------------------------------
                        //
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 3 of 12: FlashWallet
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        /*
                        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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";
                        import "./migrations/LibBootstrap.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 4 of 12: UniswapV2Pair
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // File: contracts/uniswapv2/interfaces/IUniswapV2Factory.sol
                        pragma 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 migrator() 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);
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 5 of 12: WETH9
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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;
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 6 of 12: ZeroEx
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        /*
                        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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";
                        import "./migrations/LibBootstrap.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 7 of 12: TransformERC20Feature
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "@0x/contracts-erc20/contracts/src/v06/IERC20TokenV06.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 8 of 12: FillQuoteTransformer
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 9 of 12: EthereumBridgeAdapter
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "./AbstractBridgeAdapter.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 10 of 12: UniswapV2Router02
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // File: contracts/uniswapv2/interfaces/IUniswapV2Pair.sol
                        pragma 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);
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 11 of 12: AffiliateFeeTransformer
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 12 of 12: PayTakerTransformer
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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 at
                        http://www.apache.org/licenses/LICENSE-2.0
                        Unless required by applicable law or agreed to in writing, software
                        distributed 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 and
                        limitations under the License.
                        */
                        pragma solidity ^0.6.5;
                        pragma experimental ABIEncoderV2;
                        import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX