Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
RaiseCeilingLowerSF
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-11-07 */ // hevm: flattened sources of src/2019-11-07_5.5_to_5_and_cap_120M.t.sol pragma solidity >=0.5.10; ////// lib/ds-exec/src/exec.sol // exec.sol - base contract used by anything that wants to do "untyped" calls // Copyright (C) 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ contract DSExec { function tryExec( address target, bytes memory data, uint value) internal returns (bool ok) { assembly { ok := call(gas, target, value, add(data, 0x20), mload(data), 0, 0) } } function exec( address target, bytes memory data, uint value) internal { if(!tryExec(target, data, value)) { revert("ds-exec-call-failed"); } } // Convenience aliases function exec( address t, bytes memory c ) internal { exec(t, c, 0); } function exec( address t, uint256 v ) internal { bytes memory c; exec(t, c, v); } function tryExec( address t, bytes memory c ) internal returns (bool) { return tryExec(t, c, 0); } function tryExec( address t, uint256 v ) internal returns (bool) { bytes memory c; return tryExec(t, c, v); } } ////// lib/ds-note/src/note.sol /// note.sol -- the `note' modifier, for logging calls as events // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ contract DSNote { event LogNote( bytes4 indexed sig, address indexed guy, bytes32 indexed foo, bytes32 indexed bar, uint256 wad, bytes fax ) anonymous; modifier note { bytes32 foo; bytes32 bar; uint256 wad; assembly { foo := calldataload(4) bar := calldataload(36) wad := callvalue } emit LogNote(msg.sig, msg.sender, foo, bar, wad, msg.data); _; } } ////// src/2019-11-07_5.5_to_5_and_cap_120M.t.sol // 2019-11-07_5.5_to_5_and_cap_120M.t.sol // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU 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 General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.5.10; */ /* import "ds-test/test.sol"; */ /* import "ds-exec/exec.sol"; */ /* import "ds-note/note.sol"; */ interface SaiTub { function fee() external view returns (uint256); function cap() external view returns (uint256); function mat() external view returns (uint256); function drip() external; } interface ERC20 { function allowance(address,address) external view returns (uint256); function balanceOf(address) external view returns (uint256); function totalSupply() external view returns (uint256); function approve(address,uint256) external returns (bool); } interface DSChief { function hat() external view returns (address); function GOV() external view returns (address); function IOU() external view returns (address); function approvals(address) external view returns (uint256); function lock(uint wad) external; function free(uint wad) external; function vote(address[] calldata yays) external returns (bytes32); function vote(bytes32 slate) external; function lift(address whom) external; } contract RaiseCeilingLowerSF is DSExec, DSNote { uint256 constant public CAP = 120000000 * 10 ** 18; // 120,000,000 DAI uint256 constant public FEE = 1000000001547125957863212448; address constant public MOM = 0xF2C5369cFFb8Ea6284452b0326e326DbFdCb867C; // SaiMom bool public done; function cast() public note { require(!done); done = true; // increase cap to 120,000,000 exec(MOM, abi.encodeWithSignature("setCap(uint256)", CAP), 0); // decrease fee to 5.0 exec(MOM, abi.encodeWithSignature("setFee(uint256)", FEE), 0); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":true,"internalType":"bytes32","name":"foo","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"bar","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"constant":true,"inputs":[],"name":"CAP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MOM","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"cast","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"done","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506102f8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806386a4f6ee1461005c57806396d373e514610080578063ae8421e11461008a578063c57981b5146100a6578063ec81b483146100c0575b600080fd5b6100646100c8565b604080516001600160a01b039092168252519081900360200190f35b6100886100e0565b005b610092610232565b604080519115158252519081900360200190f35b6100ae61023b565b60408051918252519081900360200190f35b6100ae61024b565b73f2c5369cffb8ea6284452b0326e326dbfdcb867c81565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a460005460ff161561015457600080fd5b6000805460ff19166001178155604080516a6342fd08f00f63780000006024808301919091528251808303909101815260449091019091526020810180516001600160e01b03166347786d3760e01b1790526101c69173f2c5369cffb8ea6284452b0326e326dbfdcb867c919061025a565b604080516b033b2e3cb548ff197d3905a06024808301919091528251808303909101815260449091019091526020810180516001600160e01b03166369fe0e2d60e01b17905261022d9073f2c5369cffb8ea6284452b0326e326dbfdcb867c90600061025a565b505050565b60005460ff1681565b6b033b2e3cb548ff197d3905a081565b6a6342fd08f00f637800000081565b6102658383836102ac565b61022d576040805162461bcd60e51b8152602060048201526013602482015272191ccb595e1958cb58d85b1b0b59985a5b1959606a1b604482015290519081900360640190fd5b600080600084516020860185885af194935050505056fea265627a7a72315820d72c16a49a1813de2ccf63c47b4b52fe3a240af138684e88a63082d33eff7d8c64736f6c634300050c0032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c806386a4f6ee1461005c57806396d373e514610080578063ae8421e11461008a578063c57981b5146100a6578063ec81b483146100c0575b600080fd5b6100646100c8565b604080516001600160a01b039092168252519081900360200190f35b6100886100e0565b005b610092610232565b604080519115158252519081900360200190f35b6100ae61023b565b60408051918252519081900360200190f35b6100ae61024b565b73f2c5369cffb8ea6284452b0326e326dbfdcb867c81565b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a460005460ff161561015457600080fd5b6000805460ff19166001178155604080516a6342fd08f00f63780000006024808301919091528251808303909101815260449091019091526020810180516001600160e01b03166347786d3760e01b1790526101c69173f2c5369cffb8ea6284452b0326e326dbfdcb867c919061025a565b604080516b033b2e3cb548ff197d3905a06024808301919091528251808303909101815260449091019091526020810180516001600160e01b03166369fe0e2d60e01b17905261022d9073f2c5369cffb8ea6284452b0326e326dbfdcb867c90600061025a565b505050565b60005460ff1681565b6b033b2e3cb548ff197d3905a081565b6a6342fd08f00f637800000081565b6102658383836102ac565b61022d576040805162461bcd60e51b8152602060048201526013602482015272191ccb595e1958cb58d85b1b0b59985a5b1959606a1b604482015290519081900360640190fd5b600080600084516020860185885af194935050505056fea265627a7a72315820d72c16a49a1813de2ccf63c47b4b52fe3a240af138684e88a63082d33eff7d8c64736f6c634300050c0032
Deployed Bytecode Sourcemap
5211:624:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5211:624:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:73;;;:::i;:::-;;;;-1:-1:-1;;;;;5410:73:0;;;;;;;;;;;;;;5527:305;;;:::i;:::-;;5502:16;;;:::i;:::-;;;;;;;;;;;;;;;;;;5344:59;;;:::i;:::-;;;;;;;;;;;;;;;;5267:51;;;:::i;5410:73::-;5441:42;5410:73;:::o;5527:305::-;3247:53;;;3210:9;3247:53;;;;;;;;;3291:8;3247:53;;;;;;3150:1;3137:15;;3186:2;3173:16;;;;3137:15;;3264:10;;-1:-1:-1;3255:7:0;;-1:-1:-1;;;;;;3255:7:0;;3210:9;;-1:-1:-1;;3247:53:0;;;;-1:-1:-1;3291:8:0;;-1:-1:-1;3247:53:0;1:33:-1;99:1;81:16;;;74:27;3247:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;3247:53:0;;;;-1:-1:-1;3247:53:0;;-1:-1:-1;;;;;3247:53:0;5575:4;;;;5574:5;5566:14;;;;;;5591:4;:11;;-1:-1:-1;;5591:11:0;5598:4;5591:11;;;5665:47;;;5298:20;5665:47;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5665:47:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;5655:61:0;;5441:42;;5665:47;5655:4;:61::i;:::-;5771:47;;;5375:28;5771:47;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5771:47:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;5761:61:0;;5441:42;;-1:-1:-1;5761:4:0;:61::i;:::-;5527:305;;;:::o;5502:16::-;;;;;;:::o;5344:59::-;5375:28;5344:59;:::o;5267:51::-;5298:20;5267:51;:::o;1220:198::-;1325:28;1333:6;1341:4;1347:5;1325:7;:28::i;:::-;1321:90;;1370:29;;;-1:-1:-1;;;1370:29:0;;;;;;;;;;;;-1:-1:-1;;;1370:29:0;;;;;;;;;;;;;;970:244;1081:7;1194:1;1191;1184:4;1178:11;1171:4;1165;1161:15;1154:5;1146:6;1141:3;1136:60;1130:66;1115:92;-1:-1:-1;;;;1115:92:0:o
Swarm Source
bzzr://d72c16a49a1813de2ccf63c47b4b52fe3a240af138684e88a63082d33eff7d8c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 24 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.