contract EthEscrow is Escrow {

    constructor(address escrowLibrary) public Escrow(escrowLibrary) { }

    /**
    * Payable fallback method that allows the escrow to be funded and triggers
    * a `checkFunded` call on the library contract to emit an event when the
    * escrow becomes fully funded
    */
    function () external payable {
       EscrowLibrary(escrowLibrary).checkFunded(address(this));
    }

    function send(address payable addr, uint amt) public onlyLibrary returns (bool) {
        return addr.send(amt);
    }

    function balance() public returns (uint) {
        return address(this).balance;
    }
}
/**
 * Escrow Contract backed by ETH
 */
function () external payable {
   EscrowLibrary(escrowLibrary).checkFunded(address(this));
}

/**
 * Payable fallback method that allows the escrow to be funded and triggers
 * a `checkFunded` call on the library contract to emit an event when the
 * escrow becomes fully funded
 */