Goerli Testnet

Contract

0x8b70f2ED64DcbbeC47bd4b241b4628d7D5d7C30a
Source Code

Overview

ETH Balance

0 ETH

Multi Chain

Multichain Addresses

N/A
Transaction Hash
Method
Block
From
To
Value
0x6080604075337802022-09-05 8:04:24385 days 12 hrs ago1662365064IN
 Create: SimpleERC20Escrow
0 ETH0.000623792.5

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
81392862022-12-15 11:36:48284 days 8 hrs ago1671104208
0x8b70f2...D5d7C30a
0 ETH
81392862022-12-15 11:36:48284 days 8 hrs ago1671104208
0x8b70f2...D5d7C30a
0 ETH
81392792022-12-15 11:35:00284 days 8 hrs ago1671104100
0x8b70f2...D5d7C30a
0 ETH
81392792022-12-15 11:35:00284 days 8 hrs ago1671104100
0x8b70f2...D5d7C30a
0 ETH
81392722022-12-15 11:33:12284 days 9 hrs ago1671103992
0x8b70f2...D5d7C30a
0 ETH
81392652022-12-15 11:31:36284 days 9 hrs ago1671103896
0x8b70f2...D5d7C30a
0 ETH
81392522022-12-15 11:28:36284 days 9 hrs ago1671103716
0x8b70f2...D5d7C30a
0 ETH
81392362022-12-15 11:24:36284 days 9 hrs ago1671103476
0x8b70f2...D5d7C30a
0 ETH
81392292022-12-15 11:22:36284 days 9 hrs ago1671103356
0x8b70f2...D5d7C30a
0 ETH
81392112022-12-15 11:18:24284 days 9 hrs ago1671103104
0x8b70f2...D5d7C30a
0 ETH
81392112022-12-15 11:18:24284 days 9 hrs ago1671103104
0x8b70f2...D5d7C30a
0 ETH
81391602022-12-15 11:06:00284 days 9 hrs ago1671102360
0x8b70f2...D5d7C30a
0 ETH
81391602022-12-15 11:06:00284 days 9 hrs ago1671102360
0x8b70f2...D5d7C30a
0 ETH
81335322022-12-14 12:49:00285 days 7 hrs ago1671022140
0x8b70f2...D5d7C30a
0 ETH
81330812022-12-14 11:00:00285 days 9 hrs ago1671015600
0x8b70f2...D5d7C30a
0 ETH
81070262022-12-10 0:20:48289 days 20 hrs ago1670631648
0x8b70f2...D5d7C30a
0 ETH
81053242022-12-09 17:33:24290 days 3 hrs ago1670607204
0x8b70f2...D5d7C30a
0 ETH
81052462022-12-09 17:15:36290 days 3 hrs ago1670606136
0x8b70f2...D5d7C30a
0 ETH
81052462022-12-09 17:15:36290 days 3 hrs ago1670606136
0x8b70f2...D5d7C30a
0 ETH
81051342022-12-09 16:49:36290 days 3 hrs ago1670604576
0x8b70f2...D5d7C30a
0 ETH
81051342022-12-09 16:49:36290 days 3 hrs ago1670604576
0x8b70f2...D5d7C30a
0 ETH
81050772022-12-09 16:36:12290 days 3 hrs ago1670603772
0x8b70f2...D5d7C30a
0 ETH
81050772022-12-09 16:36:12290 days 3 hrs ago1670603772
0x8b70f2...D5d7C30a
0 ETH
81050682022-12-09 16:34:00290 days 4 hrs ago1670603640
0x8b70f2...D5d7C30a
0 ETH
81048372022-12-09 15:39:00290 days 4 hrs ago1670600340
0x8b70f2...D5d7C30a
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SimpleERC20Escrow

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-11-14
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

// 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);
}

// Caution. This is a proxy implementation. Follow proxy pattern best practices
contract SimpleERC20Escrow {
    address public market;
    IERC20 public token;

    function initialize(IERC20 _token, address) public {
        require(market == address(0), "ALREADY INITIALIZED");
        market = msg.sender;
        token = _token;
    }

    function pay(address recipient, uint amount) public {
        require(msg.sender == market, "ONLY MARKET");
        token.transfer(recipient, amount);
    }

    function balance() public view returns (uint) {
        return token.balanceOf(address(this));
    }

    /* Uncomment if Escrow contract should handle on deposit callbacks. This function should remain callable by anyone to handle direct inbound transfers.
    function onDeposit() public {
    }
    */
}

Contract ABI

[{"inputs":[],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"market","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"pay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5061038d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063485cc9551461005c57806380f5560514610071578063b69ef8a8146100a1578063c4076876146100b7578063fc0c546a146100ca575b600080fd5b61006f61006a3660046102b0565b6100dd565b005b600054610084906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a9610162565b604051908152602001610098565b61006f6100c53660046102e9565b6101d4565b600154610084906001600160a01b031681565b6000546001600160a01b0316156101315760405162461bcd60e51b815260206004820152601360248201527210531491505116481253925512505312569151606a1b60448201526064015b60405180910390fd5b5060008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156101ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cf9190610315565b905090565b6000546001600160a01b0316331461021c5760405162461bcd60e51b815260206004820152600b60248201526a13d393164813505492d15560aa1b6044820152606401610128565b60015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561026f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610293919061032e565b505050565b6001600160a01b03811681146102ad57600080fd5b50565b600080604083850312156102c357600080fd5b82356102ce81610298565b915060208301356102de81610298565b809150509250929050565b600080604083850312156102fc57600080fd5b823561030781610298565b946020939093013593505050565b60006020828403121561032757600080fd5b5051919050565b60006020828403121561034057600080fd5b8151801515811461035057600080fd5b939250505056fea264697066735822122099081fb14ff21ebd2f3b254b4b221b43b3a60473d8323962321f0f040ff332a064736f6c634300080d0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063485cc9551461005c57806380f5560514610071578063b69ef8a8146100a1578063c4076876146100b7578063fc0c546a146100ca575b600080fd5b61006f61006a3660046102b0565b6100dd565b005b600054610084906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a9610162565b604051908152602001610098565b61006f6100c53660046102e9565b6101d4565b600154610084906001600160a01b031681565b6000546001600160a01b0316156101315760405162461bcd60e51b815260206004820152601360248201527210531491505116481253925512505312569151606a1b60448201526064015b60405180910390fd5b5060008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156101ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cf9190610315565b905090565b6000546001600160a01b0316331461021c5760405162461bcd60e51b815260206004820152600b60248201526a13d393164813505492d15560aa1b6044820152606401610128565b60015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561026f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610293919061032e565b505050565b6001600160a01b03811681146102ad57600080fd5b50565b600080604083850312156102c357600080fd5b82356102ce81610298565b915060208301356102de81610298565b809150509250929050565b600080604083850312156102fc57600080fd5b823561030781610298565b946020939093013593505050565b60006020828403121561032757600080fd5b5051919050565b60006020828403121561034057600080fd5b8151801515811461035057600080fd5b939250505056fea264697066735822122099081fb14ff21ebd2f3b254b4b221b43b3a60473d8323962321f0f040ff332a064736f6c634300080d0033

Deployed Bytecode Sourcemap

461:755:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;551:177;;;;;;:::i;:::-;;:::i;:::-;;495:21;;;;;-1:-1:-1;;;;;495:21:0;;;;;;-1:-1:-1;;;;;744:32:1;;;726:51;;714:2;699:18;495:21:0;;;;;;;;903:102;;;:::i;:::-;;;934:25:1;;;922:2;907:18;903:102:0;788:177:1;736:159:0;;;;;;:::i;:::-;;:::i;523:19::-;;;;;-1:-1:-1;;;;;523:19:0;;;551:177;639:1;621:6;-1:-1:-1;;;;;621:6:0;:20;613:52;;;;-1:-1:-1;;;613:52:0;;1721:2:1;613:52:0;;;1703:21:1;1760:2;1740:18;;;1733:30;-1:-1:-1;;;1779:18:1;;;1772:49;1838:18;;613:52:0;;;;;;;;;-1:-1:-1;676:6:0;:19;;685:10;-1:-1:-1;;;;;;676:19:0;;;;;;;-1:-1:-1;706:14:0;;;;;-1:-1:-1;;;;;706:14:0;;;;;;;;;;551:177::o;903:102::-;967:5;;:30;;-1:-1:-1;;;967:30:0;;991:4;967:30;;;726:51:1;943:4:0;;-1:-1:-1;;;;;967:5:0;;:15;;699:18:1;;967:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;960:37;;903:102;:::o;736:159::-;821:6;;-1:-1:-1;;;;;821:6:0;807:10;:20;799:44;;;;-1:-1:-1;;;799:44:0;;2258:2:1;799:44:0;;;2240:21:1;2297:2;2277:18;;;2270:30;-1:-1:-1;;;2316:18:1;;;2309:41;2367:18;;799:44:0;2056:335:1;799:44:0;854:5;;:33;;-1:-1:-1;;;854:33:0;;-1:-1:-1;;;;;2588:32:1;;;854:33:0;;;2570:51:1;2637:18;;;2630:34;;;854:5:0;;;;:14;;2543:18:1;;854:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;736:159;;:::o;14:139:1:-;-1:-1:-1;;;;;97:31:1;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:417::-;239:6;247;300:2;288:9;279:7;275:23;271:32;268:52;;;316:1;313;306:12;268:52;355:9;342:23;374:39;407:5;374:39;:::i;:::-;432:5;-1:-1:-1;489:2:1;474:18;;461:32;502:41;461:32;502:41;:::i;:::-;562:7;552:17;;;158:417;;;;;:::o;970:323::-;1038:6;1046;1099:2;1087:9;1078:7;1074:23;1070:32;1067:52;;;1115:1;1112;1105:12;1067:52;1154:9;1141:23;1173:39;1206:5;1173:39;:::i;:::-;1231:5;1283:2;1268:18;;;;1255:32;;-1:-1:-1;;;970:323:1:o;1867:184::-;1937:6;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;-1:-1:-1;2029:16:1;;1867:184;-1:-1:-1;1867:184:1:o;2675:277::-;2742:6;2795:2;2783:9;2774:7;2770:23;2766:32;2763:52;;;2811:1;2808;2801:12;2763:52;2843:9;2837:16;2896:5;2889:13;2882:21;2875:5;2872:32;2862:60;;2918:1;2915;2908:12;2862:60;2941:5;2675:277;-1:-1:-1;;;2675:277:1:o

Swarm Source

ipfs://99081fb14ff21ebd2f3b254b4b221b43b3a60473d8323962321f0f040ff332a0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.