creation_sourcecode: {{
    "language": "Solidity",
    "sources": {
      "contracts/SwapLog.sol": {
        "content": "// SPDX-License-Identifier: UNLICENSED\r\npragma solidity ^0.8.0;\r\n\r\n/**\r\n * @title SwapLog\r\n * @dev Record trade history\r\n */\r\ncontract SwapLog {\r\n    event SwappingLog(address from, address to, uint256 value);\r\n\r\n    mapping(address => mapping(address => uint256)) public history;\r\n\r\n    function record(address _from, address _to, uint256 _value) public {\r\n        require(_from != address(0), \"ERC20: transfer from the zero address\");\r\n        require(_to != address(0), \"ERC20: transfer to the zero address\");\r\n\r\n        history[_from][_to] = _value;\r\n        emit SwappingLog(_from, _to, _value);\r\n    }\r\n}\r\n"
      }
    },
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "evmVersion": "paris",
      "outputSelection": {
        "*": {
          "*": [
            "evm.bytecode",
            "evm.deployedBytecode",
            "devdoc",
            "userdoc",
            "metadata",
            "abi"
          ]
        }
      },
      "libraries": {}
    }
  }}