ETH Price: $2,788.27 (+6.73%)

Transaction Decoder

Block:
15510222 at Sep-10-2022 06:13:45 PM +UTC
Transaction Fee:
0.00095202026217042 ETH $2.65
Gas Used:
122,124 Gas / 7.795521455 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x6984c0C3...620e40d97
0.165930781998290726 Eth
Nonce: 78
0.164978761736120306 Eth
Nonce: 79
0.00095202026217042
(Ethermine)
710.577269416893505087 Eth710.577452602893505087 Eth0.000183186

Execution Trace

ETH 0.0099 GemSwap.batchBuyWithETH( tradeDetails= )
  • MarketRegistry.markets( 14 ) => ( proxy=0xAeB21626259f7980F5dBD08701FBC555265C7b6a, isLib=True, isActive=True )
  • ETH 0.0099 0xaeb21626259f7980f5dbd08701fbc555265c7b6a.bcb00e2a( )
    • ETH 0.0099 TransparentUpgradeableProxy.357a150b( )
      • ETH 0.0099 X2Y2_r1.run( input=[{name:orders, type:tuple[], order:1, indexed:false}, {name:details, type:tuple[], order:2, indexed:false}, {name:shared, type:tuple, order:3, indexed:false, value:[{name:salt, type:uint256, order:1, indexed:false, value:662976845324936, valueString:662976845324936}, {name:deadline, type:uint256, order:2, indexed:false, value:1662844429, valueString:1662844429}, {name:amountToEth, type:uint256, order:3, indexed:false, value:0, valueString:0}, {name:amountToWeth, type:uint256, order:4, indexed:false, value:0, valueString:0}, {name:user, type:address, order:5, indexed:false, value:0x83C8F28c26bF6aaca652Df1DbBE0e1b56F8baBa2, valueString:0x83C8F28c26bF6aaca652Df1DbBE0e1b56F8baBa2}, {name:canFail, type:bool, order:6, indexed:false, value:false, valueString:False}], valueString:[{name:salt, type:uint256, order:1, indexed:false, value:662976845324936, valueString:662976845324936}, {name:deadline, type:uint256, order:2, indexed:false, value:1662844429, valueString:1662844429}, {name:amountToEth, type:uint256, order:3, indexed:false, value:0, valueString:0}, {name:amountToWeth, type:uint256, order:4, indexed:false, value:0, valueString:0}, {name:user, type:address, order:5, indexed:false, value:0x83C8F28c26bF6aaca652Df1DbBE0e1b56F8baBa2, valueString:0x83C8F28c26bF6aaca652Df1DbBE0e1b56F8baBa2}, {name:canFail, type:bool, order:6, indexed:false, value:false, valueString:False}]}, {name:r, type:bytes32, order:4, indexed:false, value:D56ADFA5A4B0B8B7F806C84788A71759E4BEE7980F39AA0A9A9158C556FB3046, valueString:D56ADFA5A4B0B8B7F806C84788A71759E4BEE7980F39AA0A9A9158C556FB3046}, {name:s, type:bytes32, order:5, indexed:false, value:551BE08B09F3317BB8EC489E1E7BBC89C94EB5029655E864AB870318575D0BB5, valueString:551BE08B09F3317BB8EC489E1E7BBC89C94EB5029655E864AB870318575D0BB5}, {name:v, type:uint8, order:6, indexed:false, value:27, valueString:27}] )
        • Null: 0x000...001.e46df8fe( )
        • Null: 0x000...001.8df6a068( )
        • ETH 0.0099 0x6984c0c3040d75c0b4181794491ec20620e40d97.CALL( )
          File 1 of 4: GemSwap
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: MIT
          pragma solidity 0.8.11;
          import "@openzeppelin/contracts/access/Ownable.sol";
          import "./utils/ReentrancyGuard.sol";
          import "./markets/MarketRegistry.sol";
          import "./SpecialTransferHelper.sol";
          import "../../interfaces/markets/tokens/IERC20.sol";
          import "../../interfaces/markets/tokens/IERC721.sol";
          import "../../interfaces/markets/tokens/IERC1155.sol";
          contract GemSwap is SpecialTransferHelper, Ownable, ReentrancyGuard {
          struct OpenseaTrades {
          uint256 value;
          bytes tradeData;
          }
          struct ERC20Details {
          address[] tokenAddrs;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 2 of 4: MarketRegistry
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: MIT
          pragma solidity 0.8.11;
          abstract contract Context {
          function _msgSender() internal view virtual returns (address) {
          return msg.sender;
          }
          function _msgData() internal view virtual returns (bytes calldata) {
          return msg.data;
          }
          }
          abstract contract Ownable is Context {
          address private _owner;
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 3 of 4: TransparentUpgradeableProxy
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: MIT
          pragma solidity ^0.8.0;
          import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
          import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
          import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
          // Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.
          contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {
          constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}
          }
          // SPDX-License-Identifier: MIT
          pragma solidity ^0.8.0;
          import "../Proxy.sol";
          import "./ERC1967Upgrade.sol";
          /**
          * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
          * implementation address that can be changed. This address is stored in storage in the location specified by
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

          File 4 of 4: X2Y2_r1
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // SPDX-License-Identifier: Unlicensed
          pragma solidity ^0.8.0;
          pragma abicoder v2;
          import './IDelegate.sol';
          import './IWETHUpgradable.sol';
          import './MarketConsts.sol';
          import '@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol';
          import '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
          import '@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol';
          import '@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol';
          import '@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol';
          import '@openzeppelin/contracts/utils/cryptography/ECDSA.sol';
          interface IX2Y2Run {
          function run1(
          Market.Order memory order,
          Market.SettleShared memory shared,
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX