ETH Price: $2,482.80 (+0.24%)

Contract

0xBDcFCA946b6CDd965f99a839e4435Bcdc1bc470B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Mkr To Sky210586032024-10-27 17:57:2312 hrs ago1730051843IN
0xBDcFCA94...dc1bc470B
0 ETH0.000508836.39559477
Mkr To Sky210580992024-10-27 16:16:2314 hrs ago1730045783IN
0xBDcFCA94...dc1bc470B
0 ETH0.000599697.53649669
Mkr To Sky210576932024-10-27 14:54:5915 hrs ago1730040899IN
0xBDcFCA94...dc1bc470B
0 ETH0.000814349.65185021
Mkr To Sky210574962024-10-27 14:15:2316 hrs ago1730038523IN
0xBDcFCA94...dc1bc470B
0 ETH0.000653748.21574893
Sky To Mkr210541342024-10-27 2:59:5927 hrs ago1729997999IN
0xBDcFCA94...dc1bc470B
0 ETH0.00031973.72867387
Mkr To Sky210527322024-10-26 22:17:5932 hrs ago1729981079IN
0xBDcFCA94...dc1bc470B
0 ETH0.000396624.98518887
Sky To Mkr210523742024-10-26 21:06:2333 hrs ago1729976783IN
0xBDcFCA94...dc1bc470B
0 ETH0.000663928.2
Sky To Mkr210515742024-10-26 18:25:4735 hrs ago1729967147IN
0xBDcFCA94...dc1bc470B
0 ETH0.000514676
Sky To Mkr210511232024-10-26 16:55:2337 hrs ago1729961723IN
0xBDcFCA94...dc1bc470B
0 ETH0.000735278.57778439
Mkr To Sky210506802024-10-26 15:26:3538 hrs ago1729956395IN
0xBDcFCA94...dc1bc470B
0 ETH0.00056687.12531813
Sky To Mkr210501302024-10-26 13:35:1140 hrs ago1729949711IN
0xBDcFCA94...dc1bc470B
0 ETH0.000613487.15187255
Sky To Mkr210496062024-10-26 11:50:1142 hrs ago1729943411IN
0xBDcFCA94...dc1bc470B
0 ETH0.000853319.95063536
Mkr To Sky210491782024-10-26 10:23:3544 hrs ago1729938215IN
0xBDcFCA94...dc1bc470B
0 ETH0.000365794.33608074
Sky To Mkr210488992024-10-26 9:27:3544 hrs ago1729934855IN
0xBDcFCA94...dc1bc470B
0 ETH0.000336683.92559451
Sky To Mkr210473842024-10-26 4:23:112 days ago1729916591IN
0xBDcFCA94...dc1bc470B
0 ETH0.000325153.79066827
Sky To Mkr210473572024-10-26 4:17:472 days ago1729916267IN
0xBDcFCA94...dc1bc470B
0 ETH0.000378074.40817264
Mkr To Sky210456712024-10-25 22:38:592 days ago1729895939IN
0xBDcFCA94...dc1bc470B
0 ETH0.000383524.82055244
Sky To Mkr210454232024-10-25 21:49:112 days ago1729892951IN
0xBDcFCA94...dc1bc470B
0 ETH0.000363734.24031584
Sky To Mkr210453822024-10-25 21:40:472 days ago1729892447IN
0xBDcFCA94...dc1bc470B
0 ETH0.000379514.59016102
Mkr To Sky210443422024-10-25 18:11:592 days ago1729879919IN
0xBDcFCA94...dc1bc470B
0 ETH0.0020300224.0637816
Mkr To Sky210443012024-10-25 18:03:472 days ago1729879427IN
0xBDcFCA94...dc1bc470B
0 ETH0.0016953220.09626918
Mkr To Sky210442792024-10-25 17:59:232 days ago1729879163IN
0xBDcFCA94...dc1bc470B
0 ETH0.0010005511.8605014
Sky To Mkr210442352024-10-25 17:50:352 days ago1729878635IN
0xBDcFCA94...dc1bc470B
0 ETH0.000825910.20201412
Mkr To Sky210430882024-10-25 14:00:112 days ago1729864811IN
0xBDcFCA94...dc1bc470B
0 ETH0.000722419.08152979
Sky To Mkr210412132024-10-25 7:44:112 days ago1729842251IN
0xBDcFCA94...dc1bc470B
0 ETH0.000408445.04453394
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MkrSky

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : MkrSky.sol
// SPDX-License-Identifier: AGPL-3.0-or-later

/// MkrSky.sol -- Mkr/Sky Exchanger

// Copyright (C) 2023 Dai Foundation
//
// 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.8.21;

interface GemLike {
    function burn(address, uint256) external;
    function mint(address, uint256) external;
}

contract MkrSky {
    GemLike public immutable mkr;
    GemLike public immutable sky;
    uint256 public immutable rate;
    
    event MkrToSky(address indexed caller, address indexed usr, uint256 mkrAmt, uint256 skyAmt);
    event SkyToMkr(address indexed caller, address indexed usr, uint256 skyAmt, uint256 mkrAmt);

    constructor(address mkr_, address sky_, uint256 rate_) {
        mkr  = GemLike(mkr_);
        sky  = GemLike(sky_);
        rate = rate_; 
    }

    function mkrToSky(address usr, uint256 mkrAmt) external {
        mkr.burn(msg.sender, mkrAmt);
        uint256 skyAmt = mkrAmt * rate;
        sky.mint(usr, skyAmt);
        emit MkrToSky(msg.sender, usr, mkrAmt, skyAmt);
    }

    function skyToMkr(address usr, uint256 skyAmt) external {
        sky.burn(msg.sender, skyAmt);
        uint256 mkrAmt = skyAmt / rate; // Rounding down, dust will be lost if it is not multiple of rate
        mkr.mint(usr, mkrAmt);
        emit SkyToMkr(msg.sender, usr, skyAmt, mkrAmt);
    }
}

Settings
{
  "remappings": [
    "dss-interfaces/=lib/token-tests/lib/dss-test/lib/dss-interfaces/src/",
    "dss-test/=lib/token-tests/lib/dss-test/src/",
    "forge-std/=lib/token-tests/lib/dss-test/lib/forge-std/src/",
    "token-tests/=lib/token-tests/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"mkr_","type":"address"},{"internalType":"address","name":"sky_","type":"address"},{"internalType":"uint256","name":"rate_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"mkrAmt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"skyAmt","type":"uint256"}],"name":"MkrToSky","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"skyAmt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"mkrAmt","type":"uint256"}],"name":"SkyToMkr","type":"event"},{"inputs":[],"name":"mkr","outputs":[{"internalType":"contract GemLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"mkrAmt","type":"uint256"}],"name":"mkrToSky","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sky","outputs":[{"internalType":"contract GemLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"skyAmt","type":"uint256"}],"name":"skyToMkr","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e060405234801561001057600080fd5b506040516105d03803806105d083398101604081905261002f91610066565b6001600160a01b03928316608052911660a05260c0526100a2565b80516001600160a01b038116811461006157600080fd5b919050565b60008060006060848603121561007b57600080fd5b6100848461004a565b92506100926020850161004a565b9150604084015190509250925092565b60805160a05160c0516104d86100f8600039600081816061015281816101a80152610329015260008181609b015281816101fb01526102c101526000818160da01528181610140015261037c01526104d86000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632c4e722e1461005c57806369231804146100965780637e992cb8146100d5578063ab89605a146100fc578063c24c191414610111575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6100bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008d565b6100bd7f000000000000000000000000000000000000000000000000000000000000000081565b61010f61010a36600461041d565b610124565b005b61010f61011f36600461041d565b6102a5565b604051632770a7eb60e21b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639dc29fac90604401600060405180830381600087803b15801561018c57600080fd5b505af11580156101a0573d6000803e3d6000fd5b5050505060007f0000000000000000000000000000000000000000000000000000000000000000826101d29190610455565b6040516340c10f1960e01b81526001600160a01b038581166004830152602482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b15801561024157600080fd5b505af1158015610255573d6000803e3d6000fd5b505060408051858152602081018590526001600160a01b03871693503392507f751bfeaa2bccc50ef150efeaf65ef79018f1dd61e4078d49943229e31eb8ce1a91015b60405180910390a3505050565b604051632770a7eb60e21b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639dc29fac90604401600060405180830381600087803b15801561030d57600080fd5b505af1158015610321573d6000803e3d6000fd5b5050505060007f0000000000000000000000000000000000000000000000000000000000000000826103539190610480565b6040516340c10f1960e01b81526001600160a01b038581166004830152602482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b1580156103c257600080fd5b505af11580156103d6573d6000803e3d6000fd5b505060408051858152602081018590526001600160a01b03871693503392507f0b1fb0d52b80bbeb62e78812263b366050decf127155b6dc1c7d4879e39c85669101610298565b6000806040838503121561043057600080fd5b82356001600160a01b038116811461044757600080fd5b946020939093013593505050565b808202811582820484141761047a57634e487b7160e01b600052601160045260246000fd5b92915050565b60008261049d57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220658c9359b98835c3c954ea156e254499f0d7a1cff3076961279c5f27a565e0b264736f6c634300081500330000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a200000000000000000000000056072c95faa701256059aa122697b133aded92790000000000000000000000000000000000000000000000000000000000005dc0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632c4e722e1461005c57806369231804146100965780637e992cb8146100d5578063ab89605a146100fc578063c24c191414610111575b600080fd5b6100837f0000000000000000000000000000000000000000000000000000000000005dc081565b6040519081526020015b60405180910390f35b6100bd7f00000000000000000000000056072c95faa701256059aa122697b133aded927981565b6040516001600160a01b03909116815260200161008d565b6100bd7f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a281565b61010f61010a36600461041d565b610124565b005b61010f61011f36600461041d565b6102a5565b604051632770a7eb60e21b8152336004820152602481018290527f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b031690639dc29fac90604401600060405180830381600087803b15801561018c57600080fd5b505af11580156101a0573d6000803e3d6000fd5b5050505060007f0000000000000000000000000000000000000000000000000000000000005dc0826101d29190610455565b6040516340c10f1960e01b81526001600160a01b038581166004830152602482018390529192507f00000000000000000000000056072c95faa701256059aa122697b133aded9279909116906340c10f1990604401600060405180830381600087803b15801561024157600080fd5b505af1158015610255573d6000803e3d6000fd5b505060408051858152602081018590526001600160a01b03871693503392507f751bfeaa2bccc50ef150efeaf65ef79018f1dd61e4078d49943229e31eb8ce1a91015b60405180910390a3505050565b604051632770a7eb60e21b8152336004820152602481018290527f00000000000000000000000056072c95faa701256059aa122697b133aded92796001600160a01b031690639dc29fac90604401600060405180830381600087803b15801561030d57600080fd5b505af1158015610321573d6000803e3d6000fd5b5050505060007f0000000000000000000000000000000000000000000000000000000000005dc0826103539190610480565b6040516340c10f1960e01b81526001600160a01b038581166004830152602482018390529192507f0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2909116906340c10f1990604401600060405180830381600087803b1580156103c257600080fd5b505af11580156103d6573d6000803e3d6000fd5b505060408051858152602081018590526001600160a01b03871693503392507f0b1fb0d52b80bbeb62e78812263b366050decf127155b6dc1c7d4879e39c85669101610298565b6000806040838503121561043057600080fd5b82356001600160a01b038116811461044757600080fd5b946020939093013593505050565b808202811582820484141761047a57634e487b7160e01b600052601160045260246000fd5b92915050565b60008261049d57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220658c9359b98835c3c954ea156e254499f0d7a1cff3076961279c5f27a565e0b264736f6c63430008150033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a200000000000000000000000056072c95faa701256059aa122697b133aded92790000000000000000000000000000000000000000000000000000000000005dc0

-----Decoded View---------------
Arg [0] : mkr_ (address): 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2
Arg [1] : sky_ (address): 0x56072C95FAA701256059aa122697B133aDEd9279
Arg [2] : rate_ (uint256): 24000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2
Arg [1] : 00000000000000000000000056072c95faa701256059aa122697b133aded9279
Arg [2] : 0000000000000000000000000000000000000000000000000000000000005dc0


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.