Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Initialize | 16158996 | 774 days ago | IN | 0 ETH | 0.00093743 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SimpleERC20Escrow
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-11 */ // 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; /** @notice Initialize escrow with a token @dev Must be called right after proxy is created @param _token The IERC20 token to be stored in this specific escrow */ function initialize(IERC20 _token, address) public { require(market == address(0), "ALREADY INITIALIZED"); market = msg.sender; token = _token; } /** @notice Transfers the associated ERC20 token to a recipient. @param recipient The address to receive payment from the escrow @param amount The amount of ERC20 token to be transferred. */ function pay(address recipient, uint amount) public { require(msg.sender == market, "ONLY MARKET"); token.transfer(recipient, amount); } /** @notice Get the token balance of the escrow @return Uint representing the token balance of the escrow */ function balance() public view returns (uint) { return token.balanceOf(address(this)); } /** @notice Function called by market on deposit. Function is empty for this escrow. @dev This function should remain callable by anyone to handle direct inbound transfers. */ function onDeposit() public { } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[],"name":"onDeposit","outputs":[],"stateMutability":"nonpayable","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"}]
Contract Creation Code
608060405234801561001057600080fd5b50610398806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806312c93f5914610067578063485cc9551461006957806380f556051461007c578063b69ef8a8146100ac578063c4076876146100c2578063fc0c546a146100d5575b600080fd5b005b6100676100773660046102bb565b6100e8565b60005461008f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100b461016d565b6040519081526020016100a3565b6100676100d03660046102f4565b6101df565b60015461008f906001600160a01b031681565b6000546001600160a01b03161561013c5760405162461bcd60e51b815260206004820152601360248201527210531491505116481253925512505312569151606a1b60448201526064015b60405180910390fd5b5060008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156101b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101da9190610320565b905090565b6000546001600160a01b031633146102275760405162461bcd60e51b815260206004820152600b60248201526a13d393164813505492d15560aa1b6044820152606401610133565b60015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e9190610339565b505050565b6001600160a01b03811681146102b857600080fd5b50565b600080604083850312156102ce57600080fd5b82356102d9816102a3565b915060208301356102e9816102a3565b809150509250929050565b6000806040838503121561030757600080fd5b8235610312816102a3565b946020939093013593505050565b60006020828403121561033257600080fd5b5051919050565b60006020828403121561034b57600080fd5b8151801515811461035b57600080fd5b939250505056fea26469706673582212209766385fd7f98c24d4e500ffe9db6074301e07dba61e984d33e4648c533eb01164736f6c634300080d0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100625760003560e01c806312c93f5914610067578063485cc9551461006957806380f556051461007c578063b69ef8a8146100ac578063c4076876146100c2578063fc0c546a146100d5575b600080fd5b005b6100676100773660046102bb565b6100e8565b60005461008f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100b461016d565b6040519081526020016100a3565b6100676100d03660046102f4565b6101df565b60015461008f906001600160a01b031681565b6000546001600160a01b03161561013c5760405162461bcd60e51b815260206004820152601360248201527210531491505116481253925512505312569151606a1b60448201526064015b60405180910390fd5b5060008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156101b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101da9190610320565b905090565b6000546001600160a01b031633146102275760405162461bcd60e51b815260206004820152600b60248201526a13d393164813505492d15560aa1b6044820152606401610133565b60015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e9190610339565b505050565b6001600160a01b03811681146102b857600080fd5b50565b600080604083850312156102ce57600080fd5b82356102d9816102a3565b915060208301356102e9816102a3565b809150509250929050565b6000806040838503121561030757600080fd5b8235610312816102a3565b946020939093013593505050565b60006020828403121561033257600080fd5b5051919050565b60006020828403121561034b57600080fd5b8151801515811461035b57600080fd5b939250505056fea26469706673582212209766385fd7f98c24d4e500ffe9db6074301e07dba61e984d33e4648c533eb01164736f6c634300080d0033
Deployed Bytecode Sourcemap
596:1330:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1885:38;;878:177;;;;;;:::i;:::-;;:::i;630:21::-;;;;;-1:-1:-1;;;;;630:21:0;;;;;;-1:-1:-1;;;;;744:32:1;;;726:51;;714:2;699:18;630:21:0;;;;;;;;1579:102;;;:::i;:::-;;;934:25:1;;;922:2;907:18;1579:102:0;788:177:1;1283:159:0;;;;;;:::i;:::-;;:::i;658:19::-;;;;;-1:-1:-1;;;;;658:19:0;;;878:177;966:1;948:6;-1:-1:-1;;;;;948:6:0;:20;940:52;;;;-1:-1:-1;;;940:52:0;;1721:2:1;940:52:0;;;1703:21:1;1760:2;1740:18;;;1733:30;-1:-1:-1;;;1779:18:1;;;1772:49;1838:18;;940:52:0;;;;;;;;;-1:-1:-1;1003:6:0;:19;;1012:10;-1:-1:-1;;;;;;1003:19:0;;;;;;;-1:-1:-1;1033:14:0;;;;;-1:-1:-1;;;;;1033:14:0;;;;;;;;;;878:177::o;1579:102::-;1643:5;;:30;;-1:-1:-1;;;1643:30:0;;1667:4;1643:30;;;726:51:1;1619:4:0;;-1:-1:-1;;;;;1643:5:0;;:15;;699:18:1;;1643:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1636:37;;1579:102;:::o;1283:159::-;1368:6;;-1:-1:-1;;;;;1368:6:0;1354:10;:20;1346:44;;;;-1:-1:-1;;;1346:44:0;;2258:2:1;1346:44:0;;;2240:21:1;2297:2;2277:18;;;2270:30;-1:-1:-1;;;2316:18:1;;;2309:41;2367:18;;1346:44:0;2056:335:1;1346:44:0;1401:5;;:33;;-1:-1:-1;;;1401:33:0;;-1:-1:-1;;;;;2588:32:1;;;1401:33:0;;;2570:51:1;2637:18;;;2630:34;;;1401:5:0;;;;:14;;2543:18:1;;1401:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1283: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://9766385fd7f98c24d4e500ffe9db6074301e07dba61e984d33e4648c533eb011
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.