// Contract: SimpleERC20Escrow
// Target function: function initialize(IERC20 _token, address) public
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

/// @dev Caution: We assume all failed transfers cause reverts and ignore the returned bool.
interface IERC20 {
    function transfer(address,uint) external returns (bool);
    function transferFrom(address,address,uint) external returns (bool);
    function balanceOf(address) external view returns (uint);
}

/**
@title Simple ERC20 Escrow
@notice Collateral is stored in unique escrow contracts for every user and every market.
@dev Caution: This is a proxy implementation. Follow proxy pattern best practices
*/
contract SimpleERC20Escrow {
    address public market;
    IERC20 public token;