Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 4 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 12271234 | 1792 days ago | Contract Creation | 0 ETH | |||
| - | 12271197 | 1792 days ago | Contract Creation | 0 ETH | |||
| - | 12248210 | 1795 days ago | Contract Creation | 0 ETH | |||
| - | 12246610 | 1795 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ESMFab
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-04-15
*/
// SPDX-License-Identifier: AGPL-3.0-or-later
/// DssDeploy.sol
// Copyright (C) 2018-2020 Maker Ecosystem Growth Holdings, INC.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity >=0.5.12;
interface GemLike {
function balanceOf(address) external view returns (uint256);
function burn(uint256) external;
function transfer(address, uint256) external returns (bool);
function transferFrom(address, address, uint256) external returns (bool);
}
interface EndLike {
function live() external view returns (uint256);
function vat() external view returns (address);
function cage() external;
}
interface DenyLike {
function deny(address) external;
}
contract ESM {
GemLike public immutable gem; // collateral (MKR token)
EndLike public immutable end; // cage module
address public immutable proxy; // Pause proxy
uint256 public immutable min; // minimum activation threshold [wad]
mapping(address => uint256) public sum; // per-address balance
uint256 public Sum; // total balance
event Fire();
event Join(address indexed usr, uint256 wad);
constructor(address gem_, address end_, address proxy_, uint256 min_) public {
gem = GemLike(gem_);
end = EndLike(end_);
proxy = proxy_;
min = min_;
}
function revokesGovernanceAccess() external view returns (bool ret) {
ret = proxy != address(0);
}
// -- math --
function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
z = x + y;
require(z >= x);
}
function fire() external {
require(Sum >= min, "ESM/min-not-reached");
if (proxy != address(0)) {
DenyLike(end.vat()).deny(proxy);
}
end.cage();
emit Fire();
}
function deny(address target) external {
require(Sum >= min, "ESM/min-not-reached");
DenyLike(target).deny(proxy);
}
function join(uint256 wad) external {
require(end.live() == 1, "ESM/system-already-shutdown");
sum[msg.sender] = add(sum[msg.sender], wad);
Sum = add(Sum, wad);
require(gem.transferFrom(msg.sender, address(this), wad), "ESM/transfer-failed");
emit Join(msg.sender, wad);
}
function burn() external {
gem.burn(gem.balanceOf(address(this)));
}
}
contract ESMFab {
function newESM(address gov, address end, address proxy, uint min) public returns (ESM esm) {
esm = new ESM(gov, end, proxy, min);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"gov","type":"address"},{"internalType":"address","name":"end","type":"address"},{"internalType":"address","name":"proxy","type":"address"},{"internalType":"uint256","name":"min","type":"uint256"}],"name":"newESM","outputs":[{"internalType":"contract ESM","name":"esm","type":"address"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50610ff1806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063429baf6814610030575b600080fd5b6100bc6004803603608081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100e8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000848484846040516100fa90610182565b808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051809103906000f080158015610177573d6000803e3d6000fd5b509050949350505050565b610e2c806101908339019056fe61010060405234801561001157600080fd5b50604051610e2c380380610e2c8339818101604052608081101561003457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060e081815250505050505060805160601c60a05160601c60c05160601c60e051610c9e61018e600039806107905280610aa85280610c2c5250806105fe528061084052806109385280610b5c5280610be4525080610288528061087c52806109be5280610c085250806104385280610642528061067e5280610a6c5250610c9e6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637bd2bea7116100715780637bd2bea71461012e5780637e459c60146101625780639c52a7f1146101ba578063ec556889146101fe578063efbe1c1c14610232578063f889794514610266576100a9565b8063049878f3146100ae57806314c7bbd5146100dc57806337be827d146100fc57806344df8e701461011a578063457094cc14610124575b600080fd5b6100da600480360360208110156100c457600080fd5b8101908080359060200190929190505050610284565b005b6100e46105e3565b60405180821515815260200191505060405180910390f35b61010461063a565b6040518082815260200191505060405180910390f35b610122610640565b005b61012c61078e565b005b610136610a6a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101a46004803603602081101561017857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8e565b6040518082815260200191505060405180910390f35b6101fc600480360360208110156101d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa6565b005b610206610be2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61023a610c06565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026e610c2a565b6040518082815260200191505060405180910390f35b60017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ec57600080fd5b505afa158015610300573d6000803e3d6000fd5b505050506040513d602081101561031657600080fd5b81019080805190602001909291905050501461039a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f73797374656d2d616c72656164792d73687574646f776e000000000081525060200191505060405180910390fd5b6103e26000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610c4e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061043060015482610c4e565b6001819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d602081101561050f57600080fd5b8101908080519060200190929190505050610592576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f7472616e736665722d6661696c65640000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb4e09949657f21548b58afe74e7b86cd2295da5ff1598ae1e5faecb1cf19ca95826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff161415905090565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166342966c687f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d602081101561072d57600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001541015610826576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16146109bc577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b505050505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663692450096040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2457600080fd5b505af1158015610a38573d6000803e3d6000fd5b505050507f14c539ef1ff6ef515371448cd46419fd75ebb8698b7f6644c4f66b03b032708560405160405180910390a1565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090505481565b7f00000000000000000000000000000000000000000000000000000000000000006001541015610b3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000818301905082811015610c6257600080fd5b9291505056fea2646970667358221220fcd5f8fbbf34660879434e696b1d4846acf5aa234300337a20528e65e9855cec64736f6c634300060c0033a264697066735822122062899685e0f8bdd489f541a842b278489881757aff1e9e0ef1815dd84f76f74764736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063429baf6814610030575b600080fd5b6100bc6004803603608081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100e8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000848484846040516100fa90610182565b808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050604051809103906000f080158015610177573d6000803e3d6000fd5b509050949350505050565b610e2c806101908339019056fe61010060405234801561001157600080fd5b50604051610e2c380380610e2c8339818101604052608081101561003457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060e081815250505050505060805160601c60a05160601c60c05160601c60e051610c9e61018e600039806107905280610aa85280610c2c5250806105fe528061084052806109385280610b5c5280610be4525080610288528061087c52806109be5280610c085250806104385280610642528061067e5280610a6c5250610c9e6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637bd2bea7116100715780637bd2bea71461012e5780637e459c60146101625780639c52a7f1146101ba578063ec556889146101fe578063efbe1c1c14610232578063f889794514610266576100a9565b8063049878f3146100ae57806314c7bbd5146100dc57806337be827d146100fc57806344df8e701461011a578063457094cc14610124575b600080fd5b6100da600480360360208110156100c457600080fd5b8101908080359060200190929190505050610284565b005b6100e46105e3565b60405180821515815260200191505060405180910390f35b61010461063a565b6040518082815260200191505060405180910390f35b610122610640565b005b61012c61078e565b005b610136610a6a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101a46004803603602081101561017857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8e565b6040518082815260200191505060405180910390f35b6101fc600480360360208110156101d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa6565b005b610206610be2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61023a610c06565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026e610c2a565b6040518082815260200191505060405180910390f35b60017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ec57600080fd5b505afa158015610300573d6000803e3d6000fd5b505050506040513d602081101561031657600080fd5b81019080805190602001909291905050501461039a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f45534d2f73797374656d2d616c72656164792d73687574646f776e000000000081525060200191505060405180910390fd5b6103e26000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610c4e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061043060015482610c4e565b6001819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d602081101561050f57600080fd5b8101908080519060200190929190505050610592576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f7472616e736665722d6661696c65640000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb4e09949657f21548b58afe74e7b86cd2295da5ff1598ae1e5faecb1cf19ca95826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff161415905090565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166342966c687f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d602081101561072d57600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001541015610826576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16146109bc577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b505050505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663692450096040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2457600080fd5b505af1158015610a38573d6000803e3d6000fd5b505050507f14c539ef1ff6ef515371448cd46419fd75ebb8698b7f6644c4f66b03b032708560405160405180910390a1565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090505481565b7f00000000000000000000000000000000000000000000000000000000000000006001541015610b3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f45534d2f6d696e2d6e6f742d726561636865640000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16639c52a7f17f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000818301905082811015610c6257600080fd5b9291505056fea2646970667358221220fcd5f8fbbf34660879434e696b1d4846acf5aa234300337a20528e65e9855cec64736f6c634300060c0033a264697066735822122062899685e0f8bdd489f541a842b278489881757aff1e9e0ef1815dd84f76f74764736f6c634300060c0033
Deployed Bytecode Sourcemap
3081:172:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3104:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3187:7;3221:3;3226;3231:5;3238:3;3213:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3207:35;;3104:146;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o
Swarm Source
ipfs://62899685e0f8bdd489f541a842b278489881757aff1e9e0ef1815dd84f76f747
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.