ETH Price: $2,951.24 (-0.44%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Gem240284532025-12-16 23:28:4754 secs ago1765927727IN
0xcE355440...EB45a2897
0 ETH0.00000750.03793239
Sell Gem240284452025-12-16 23:27:112 mins ago1765927631IN
0xcE355440...EB45a2897
0 ETH0.000006360.03419651
Sell Gem240284382025-12-16 23:25:473 mins ago1765927547IN
0xcE355440...EB45a2897
0 ETH0.000005790.03115641
Sell Gem240284342025-12-16 23:24:594 mins ago1765927499IN
0xcE355440...EB45a2897
0 ETH0.000007230.03888925
Sell Gem240284092025-12-16 23:19:599 mins ago1765927199IN
0xcE355440...EB45a2897
0 ETH0.000007080.03744291
Buy Gem240281572025-12-16 22:29:231 hr ago1765924163IN
0xcE355440...EB45a2897
0 ETH0.000008190.04141198
Sell Gem240281262025-12-16 22:23:111 hr ago1765923791IN
0xcE355440...EB45a2897
0 ETH0.000008990.04808752
Buy Gem240281022025-12-16 22:18:231 hr ago1765923503IN
0xcE355440...EB45a2897
0 ETH0.000007490.03789711
Sell Gem240279852025-12-16 21:54:471 hr ago1765922087IN
0xcE355440...EB45a2897
0 ETH0.000007950.04272415
Sell Gem240279362025-12-16 21:44:591 hr ago1765921499IN
0xcE355440...EB45a2897
0 ETH0.000006390.03741279
Buy Gem240279292025-12-16 21:43:351 hr ago1765921415IN
0xcE355440...EB45a2897
0 ETH0.000007730.03908591
Sell Gem240279142025-12-16 21:40:351 hr ago1765921235IN
0xcE355440...EB45a2897
0 ETH0.000009070.04751994
Sell Gem240278372025-12-16 21:25:112 hrs ago1765920311IN
0xcE355440...EB45a2897
0 ETH0.000007540.04032806
Sell Gem240278272025-12-16 21:23:112 hrs ago1765920191IN
0xcE355440...EB45a2897
0 ETH0.000006990.03664279
Buy Gem240277242025-12-16 21:02:352 hrs ago1765918955IN
0xcE355440...EB45a2897
0 ETH0.000008520.04629222
Buy Gem240276882025-12-16 20:55:232 hrs ago1765918523IN
0xcE355440...EB45a2897
0 ETH0.000009130.04549548
Sell Gem240276402025-12-16 20:45:472 hrs ago1765917947IN
0xcE355440...EB45a2897
0 ETH0.000007410.03963816
Sell Gem240274612025-12-16 20:09:233 hrs ago1765915763IN
0xcE355440...EB45a2897
0 ETH0.000007030.03683851
Sell Gem240273052025-12-16 19:37:593 hrs ago1765913879IN
0xcE355440...EB45a2897
0 ETH0.000007290.03756706
Sell Gem240272622025-12-16 19:29:114 hrs ago1765913351IN
0xcE355440...EB45a2897
0 ETH0.000007660.04049868
Sell Gem240271582025-12-16 19:07:594 hrs ago1765912079IN
0xcE355440...EB45a2897
0 ETH0.000009340.05019308
Sell Gem240271142025-12-16 18:59:114 hrs ago1765911551IN
0xcE355440...EB45a2897
0 ETH0.000012160.06501338
Buy Gem240270222025-12-16 18:40:474 hrs ago1765910447IN
0xcE355440...EB45a2897
0 ETH0.000007310.03699884
Sell Gem240270172025-12-16 18:39:474 hrs ago1765910387IN
0xcE355440...EB45a2897
0 ETH0.00000740.03815921
Buy Gem240270122025-12-16 18:38:474 hrs ago1765910327IN
0xcE355440...EB45a2897
0 ETH0.000007410.03747576
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UsddPsm7

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2021 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.6.12;

import {UsddJoinAbstract} from "./interfaces/dss/UsddJoinAbstract.sol";
import {UsddAbstract} from "./interfaces/dss/UsddAbstract.sol";
import {VatAbstract} from "./interfaces/dss/VatAbstract.sol";

interface AuthGemJoinAbstract {
    function dec() external view returns (uint256);

    function vat() external view returns (address);

    function ilk() external view returns (bytes32);

    function join(address, uint256, address) external returns (uint256);

    function exit(address, uint256) external;
}

// USDD Peg Stability Module
contract UsddPsm7 {

    // --- Auth ---
    mapping(address => uint256) public wards;

    function rely(address usr) external auth {wards[usr] = 1;
        emit Rely(usr);}

    function deny(address usr) external auth {wards[usr] = 0;
        emit Deny(usr);}
    modifier auth {require(wards[msg.sender] == 1, "UsddPsm/not-authorized");
        _;}

    VatAbstract immutable public vat;
    AuthGemJoinAbstract immutable public gemJoin;   // Stablecoin Join adapter
    UsddAbstract immutable public usdd;             // USDD token
    UsddJoinAbstract immutable public usddJoin;     // USDD Join adapter
    bytes32 immutable public ilk;                   // Collateral type
    address immutable public vow;                   // System treasury

    uint256 immutable internal to18ConversionFactor;

    // --- State Variables ---
    uint256 public tin;         // Fee in [wad]
    uint256 public tout;        // Fee out [wad]
    uint256 public sellEnabled; // Stablecoin -> USDD enabled
    uint256 public buyEnabled;  // USDD -> Stablecoin enabled

    // --- Events ---
    event Rely(address indexed usr);
    event Deny(address indexed usr);
    event File(bytes32 indexed what, uint256 data);
    event SellGem(address indexed owner, uint256 value, uint256 fee);
    event BuyGem(address indexed owner, uint256 value, uint256 fee);

    // --- Init ---
    constructor(
        address gemJoin_,    // Stablecoin Join adapter
        address usddJoin_,   // USDD Join adapter
        address vow_         // System treasury
    ) public {
        wards[msg.sender] = 1;
        emit Rely(msg.sender);

        AuthGemJoinAbstract gemJoin__ = gemJoin = AuthGemJoinAbstract(gemJoin_);
        UsddJoinAbstract usddJoin__ = usddJoin = UsddJoinAbstract(usddJoin_);
        VatAbstract vat__ = vat = VatAbstract(address(gemJoin__.vat()));
        UsddAbstract usdd__ = usdd = UsddAbstract(address(usddJoin__.usdd()));

        ilk = gemJoin__.ilk();
        vow = vow_;

        // Handle decimals conversion
        to18ConversionFactor = 10 ** (18 - gemJoin__.dec());

        // Set initial state
        sellEnabled = 1;  // Enable by default
        buyEnabled = 1;   // Enable by default

        // Approve max amount for USDD transfers
        usdd__.approve(usddJoin_, uint256(-1));
        vat__.hope(usddJoin_);
    }

    // --- Math ---
    uint256 constant WAD = 10 ** 18;
    uint256 constant RAY = 10 ** 27;

    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x + y) >= x, "UsddPsm/add-overflow");
    }

    function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x - y) <= x, "UsddPsm/sub-underflow");
    }

    function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require(y == 0 || (z = x * y) / y == x, "UsddPsm/mul-overflow");
    }

    // --- Administration ---
    function file(bytes32 what, uint256 data) external auth {
        if (what == "tin") tin = data;
        else if (what == "tout") tout = data;
        else if (what == "sellEnabled") {
            sellEnabled = data;
        }
        else if (what == "buyEnabled") {
            buyEnabled = data;
        }
        else revert("UsddPsm/file-unrecognized-param");

        emit File(what, data);
    }

    // --- Upgrade Path ---
    function hope(address usr) external auth {
        vat.hope(usr);
    }

    function nope(address usr) external auth {
        vat.nope(usr);
    }

    // --- Primary Functions ---

    // Sell gem for USDD
    function sellGem(address usr, uint256 gemAmt) external {
        require(sellEnabled == 1, "UsddPsm/sell-not-enabled");

        // Transfer gem in and mint USDD
        uint256 wad = gemJoin.join(address(this), gemAmt, msg.sender);
        vat.frob(ilk, address(this), address(this), address(this), int256(wad), int256(wad));

        uint256 fee = mul(wad, tin) / WAD;
        uint256 usddAmt = sub(wad, fee);

        // Send fee to system treasury
        vat.move(address(this), vow, mul(fee, RAY));

        // Send USDD to user
        usddJoin.exit(usr, usddAmt);

        emit SellGem(usr, gemAmt, fee);
    }

    // Buy gem with USDD
    function buyGem(address usr, uint256 gemAmt) external {
        require(buyEnabled == 1, "UsddPsm/buy-not-enabled");

        uint256 gemAmt18 = mul(gemAmt, to18ConversionFactor);
        uint256 fee = mul(gemAmt18, tout) / WAD;
        uint256 usddAmt = add(gemAmt18, fee);

        // Transfer USDD in
        require(usdd.transferFrom(msg.sender, address(this), usddAmt), "UsddPsm/failed-transfer");
        usddJoin.join(address(this), usddAmt);

        // Burn USDD and release gem
        vat.frob(ilk, address(this), address(this), address(this), - int256(gemAmt18), - int256(gemAmt18));
        gemJoin.exit(usr, gemAmt);

        // Send fee to system treasury
        vat.move(address(this), vow, mul(fee, RAY));

        emit BuyGem(usr, gemAmt, fee);
    }
}

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity >=0.5.12;

// https://github.com/usdd-network/usddv2-contracts/blob/main/src/dss/join.sol
interface UsddJoinAbstract {
    function wards(address) external view returns (uint256);
    function rely(address usr) external;
    function deny(address usr) external;
    function vat() external view returns (address);
    function usdd() external view returns (address);
    function live() external view returns (uint256);
    function cage() external;
    function join(address, uint256) external;
    function exit(address, uint256) external;
}

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity >=0.5.12;

// https://github.com/usdd-network/usddv2-contracts/blob/main/src/dss/usdd.sol
interface UsddAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function version() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address) external view returns (uint256);
    function allowance(address, address) external view returns (uint256);
    function nonces(address) external view returns (uint256);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external view returns (bytes32);
    function transfer(address, uint256) external returns (bool);
    function transferFrom(address, address, uint256) external returns (bool);
    function mint(address, uint256) external;
    function burn(address, uint256) external;
    function approve(address, uint256) external returns (bool);
    function push(address, uint256) external;
    function pull(address, uint256) external;
    function move(address, address, uint256) external;
    function permit(address, address, uint256, uint256, bool, uint8, bytes32, bytes32) external;
}

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity >=0.5.12;

// https://github.com/usdd-network/usddv2-contracts/blob/main/src/dss/vat.sol
interface VatAbstract {
    function wards(address) external view returns (uint256);
    function rely(address) external;
    function deny(address) external;
    function can(address, address) external view returns (uint256);
    function hope(address) external;
    function nope(address) external;
    function ilks(bytes32) external view returns (uint256, uint256, uint256, uint256, uint256);
    function urns(bytes32, address) external view returns (uint256, uint256);
    function gem(bytes32, address) external view returns (uint256);
    function usdd(address) external view returns (uint256);
    function sin(address) external view returns (uint256);
    function debt() external view returns (uint256);
    function vice() external view returns (uint256);
    function Line() external view returns (uint256);
    function live() external view returns (uint256);
    function init(bytes32) external;
    function file(bytes32, uint256) external;
    function file(bytes32, bytes32, uint256) external;
    function cage() external;
    function slip(bytes32, address, int256) external;
    function flux(bytes32, address, address, uint256) external;
    function move(address, address, uint256) external;
    function frob(bytes32, address, address, address, int256, int256) external;
    function fork(bytes32, address, address, int256, int256) external;
    function grab(bytes32, address, address, address, int256, int256) external;
    function heal(uint256) external;
    function suck(address, address, uint256) external;
    function fold(bytes32, address, int256) external;
}

Settings
{
  "remappings": [
    "ds-test/=lib/ds-auth/lib/ds-test/src/",
    "ds-thing/=lib/ds-value/lib/ds-thing/src/",
    "ds-value/=lib/ds-value/src/",
    "forge-std/=lib/forge-std/src/",
    "psm/=lib/psm/src/",
    "ds-token/=lib/ds-token/src/",
    "ds-auth/=lib/ds-auth/src/",
    "erc4626-tests/=lib/erc4626-tests/",
    "ds-math/=lib/ds-token/lib/ds-math/src/",
    "ds-note/=lib/ds-value/lib/ds-thing/lib/ds-note/src/",
    "usddv2/=lib/psm/lib/usddv2/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "istanbul"
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"gemJoin_","type":"address"},{"internalType":"address","name":"usddJoin_","type":"address"},{"internalType":"address","name":"vow_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"BuyGem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"File","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"SellGem","type":"event"},{"inputs":[],"name":"buyEnabled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"gemAmt","type":"uint256"}],"name":"buyGem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gemJoin","outputs":[{"internalType":"contract AuthGemJoinAbstract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"hope","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ilk","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"nope","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellEnabled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"gemAmt","type":"uint256"}],"name":"sellGem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tout","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usdd","outputs":[{"internalType":"contract UsddAbstract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usddJoin","outputs":[{"internalType":"contract UsddJoinAbstract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vat","outputs":[{"internalType":"contract VatAbstract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

6101606040523480156200001257600080fd5b506040516200161638038062001616833981810160405260608110156200003857600080fd5b508051602080830151604093840151336000818152938490528584206001905594519394919390927fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6091a26000836001600160a01b031660a0816001600160a01b031660601b81525090506000836001600160a01b031660e0816001600160a01b031660601b81525090506000826001600160a01b03166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b158015620000ff57600080fd5b505afa15801562000114573d6000803e3d6000fd5b505050506040513d60208110156200012b57600080fd5b50516001600160601b0319606082901b16608052604080516306185e0160e11b815290516001600160a01b039283169350600092851691630c30bc02916004808301926020929190829003018186803b1580156200018857600080fd5b505afa1580156200019d573d6000803e3d6000fd5b505050506040513d6020811015620001b457600080fd5b50516001600160601b0319606082901b1660c052604080516362e7140f60e11b815290516001600160a01b0392831693509186169163c5ce281e91600480820192602092909190829003018186803b1580156200021057600080fd5b505afa15801562000225573d6000803e3d6000fd5b505050506040513d60208110156200023c57600080fd5b5051610100526001600160601b0319606086901b1661012052604080516359de7d4160e11b815290516001600160a01b0386169163b3bcfa82916004808301926020929190829003018186803b1580156200029657600080fd5b505afa158015620002ab573d6000803e3d6000fd5b505050506040513d6020811015620002c257600080fd5b5051601203600a0a610140526001600381905560049081556040805163095ea7b360e01b81526001600160a01b0389811693820193909352600019602482015290519183169163095ea7b3916044808201926020929091908290030181600087803b1580156200033157600080fd5b505af115801562000346573d6000803e3d6000fd5b505050506040513d60208110156200035d57600080fd5b5050604080516328ec8bf160e21b81526001600160a01b03888116600483015291519184169163a3b22fc49160248082019260009290919082900301818387803b158015620003ab57600080fd5b505af1158015620003c0573d6000803e3d6000fd5b505050505050505050505060805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405161119d62000479600039806105c55250806104a252806109155280610c265250806107a25280610b105280610f415250806107355280610ccb5280610f655250806102fa52806106485250806102d652806108565280610a8c52508061047252806107f752806108e55280610b655280610bf65280610ea55280610fe6525061119d6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806395991276116100a2578063c5ce281e11610071578063c5ce281e1461028e578063c78d6d2114610296578063dc4d20fa1461029e578063f582d293146102c4578063fae036d5146102cc57610116565b806395991276146101f05780639c52a7f11461021c578063a3b22fc414610242578063bf353dbb1461026857610116565b8063568d4b6f116100e9578063568d4b6f1461017457806358197a9d1461018e578063626cb3c51461019657806365fae35e1461019e5780638d7ef9bb146101c457610116565b806301664f661461011b5780630c30bc021461013f57806329ae81141461014757806336569e771461016c575b600080fd5b6101236102d4565b604080516001600160a01b039092168252519081900360200190f35b6101236102f8565b61016a6004803603604081101561015d57600080fd5b508035906020013561031c565b005b610123610470565b61017c610494565b60408051918252519081900360200190f35b61017c61049a565b6101236104a0565b61016a600480360360208110156101b457600080fd5b50356001600160a01b03166104c4565b61016a600480360360408110156101da57600080fd5b506001600160a01b038135169060200135610566565b61016a6004803603604081101561020657600080fd5b506001600160a01b038135169060200135610a05565b61016a6004803603602081101561023257600080fd5b50356001600160a01b0316610da5565b61016a6004803603602081101561025857600080fd5b50356001600160a01b0316610e46565b61017c6004803603602081101561027e57600080fd5b50356001600160a01b0316610f2d565b61017c610f3f565b610123610f63565b61016a600480360360208110156102b457600080fd5b50356001600160a01b0316610f87565b61017c611053565b61017c611059565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054600114610379576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b81623a34b760e91b1415610391576001819055610436565b81631d1bdd5d60e21b14156103aa576002819055610436565b816a1cd95b1b115b98589b195960aa1b14156103ca576003819055610436565b8169189d5e515b98589b195960b21b14156103e9576004819055610436565b6040805162461bcd60e51b815260206004820152601f60248201527f5573646450736d2f66696c652d756e7265636f676e697a65642d706172616d00604482015290519081900360640190fd5b60408051828152905183917fe986e40cc8c151830d4f61050f4fb2e4add8567caad2d5f5496f9158e91fe4c7919081900360200190a25050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054600114610521576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b6004546001146105bd576040805162461bcd60e51b815260206004820152601760248201527f5573646450736d2f6275792d6e6f742d656e61626c6564000000000000000000604482015290519081900360640190fd5b60006105e9827f000000000000000000000000000000000000000000000000000000000000000061105f565b90506000670de0b6b3a76400006106028360025461105f565b8161060957fe5b049050600061061883836110c8565b604080516323b872dd60e01b81523360048201523060248201526044810183905290519192506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd916064808201926020929091908290030181600087803b15801561069157600080fd5b505af11580156106a5573d6000803e3d6000fd5b505050506040513d60208110156106bb57600080fd5b505161070e576040805162461bcd60e51b815260206004820152601760248201527f5573646450736d2f6661696c65642d7472616e73666572000000000000000000604482015290519081900360640190fd5b60408051633b4da69f60e01b81523060048201526024810183905290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633b4da69f91604480830192600092919082900301818387803b15801561077c57600080fd5b505af1158015610790573d6000803e3d6000fd5b505060408051637608870360e01b81527f00000000000000000000000000000000000000000000000000000000000000006004820152306024820181905260448201819052606482015260008781036084830181905260a483015291516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001694506376088703935060c4808301939282900301818387803b15801561083c57600080fd5b505af1158015610850573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef693bed86866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156108cb57600080fd5b505af11580156108df573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb35783b307f000000000000000000000000000000000000000000000000000000000000000061094a866b033b2e3c9fd0803ce800000061105f565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b5050604080518781526020810186905281516001600160a01b038a1694507f085d06ecf4c34b237767a31c0888e121d89546a77f186f1987c6b8715e1a8caa93509081900390910190a25050505050565b600354600114610a5c576040805162461bcd60e51b815260206004820152601860248201527f5573646450736d2f73656c6c2d6e6f742d656e61626c65640000000000000000604482015290519081900360640190fd5b6040805163d14b1e4b60e01b81523060048201526024810183905233604482015290516000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d14b1e4b9160648082019260209290919082900301818787803b158015610ad457600080fd5b505af1158015610ae8573d6000803e3d6000fd5b505050506040513d6020811015610afe57600080fd5b505160408051637608870360e01b81527f0000000000000000000000000000000000000000000000000000000000000000600482015230602482018190526044820181905260648201526084810183905260a4810183905290519192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163760887039160c48082019260009290919082900301818387803b158015610bad57600080fd5b505af1158015610bc1573d6000803e3d6000fd5b505050506000670de0b6b3a7640000610bdc8360015461105f565b81610be357fe5b0490506000610bf28383611117565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb35783b307f0000000000000000000000000000000000000000000000000000000000000000610c5b866b033b2e3c9fd0803ce800000061105f565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef693bed86836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610d4057600080fd5b505af1158015610d54573d6000803e3d6000fd5b5050604080518781526020810186905281516001600160a01b038a1694507fef75f5a47cc9a929968796ceb84f19e7541617b4577f2c228ea95200e157208193509081900390910190a25050505050565b33600090815260208190526040902054600114610e02576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b33600090815260208190526040902054600114610ea3576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a3b22fc4826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610f1257600080fd5b505af1158015610f26573d6000803e3d6000fd5b5050505050565b60006020819052908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b33600090815260208190526040902054600114610fe4576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663dc4d20fa826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610f1257600080fd5b60045481565b60025481565b600081158061107a5750508082028282828161107757fe5b04145b6110c2576040805162461bcd60e51b81526020600482015260146024820152735573646450736d2f6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b92915050565b808201828110156110c2576040805162461bcd60e51b81526020600482015260146024820152735573646450736d2f6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b808203828111156110c2576040805162461bcd60e51b81526020600482015260156024820152745573646450736d2f7375622d756e646572666c6f7760581b604482015290519081900360640190fdfea26469706673582212202def53476185292d4192c06a764bd8a22a7bee0beb4aee2651ae3217c68ee93f64736f6c634300060c0033000000000000000000000000217e42ceb2eae9ecb788fdf0e31c806c531760a3000000000000000000000000983dfef6d71862d809e239845da5a959492f63b8000000000000000000000000f085edd75c1ab4fda0c3bd49b264a4a113d06f3b

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c806395991276116100a2578063c5ce281e11610071578063c5ce281e1461028e578063c78d6d2114610296578063dc4d20fa1461029e578063f582d293146102c4578063fae036d5146102cc57610116565b806395991276146101f05780639c52a7f11461021c578063a3b22fc414610242578063bf353dbb1461026857610116565b8063568d4b6f116100e9578063568d4b6f1461017457806358197a9d1461018e578063626cb3c51461019657806365fae35e1461019e5780638d7ef9bb146101c457610116565b806301664f661461011b5780630c30bc021461013f57806329ae81141461014757806336569e771461016c575b600080fd5b6101236102d4565b604080516001600160a01b039092168252519081900360200190f35b6101236102f8565b61016a6004803603604081101561015d57600080fd5b508035906020013561031c565b005b610123610470565b61017c610494565b60408051918252519081900360200190f35b61017c61049a565b6101236104a0565b61016a600480360360208110156101b457600080fd5b50356001600160a01b03166104c4565b61016a600480360360408110156101da57600080fd5b506001600160a01b038135169060200135610566565b61016a6004803603604081101561020657600080fd5b506001600160a01b038135169060200135610a05565b61016a6004803603602081101561023257600080fd5b50356001600160a01b0316610da5565b61016a6004803603602081101561025857600080fd5b50356001600160a01b0316610e46565b61017c6004803603602081101561027e57600080fd5b50356001600160a01b0316610f2d565b61017c610f3f565b610123610f63565b61016a600480360360208110156102b457600080fd5b50356001600160a01b0316610f87565b61017c611053565b61017c611059565b7f000000000000000000000000217e42ceb2eae9ecb788fdf0e31c806c531760a381565b7f0000000000000000000000004f8e5de400de08b164e7421b3ee387f461becd1a81565b33600090815260208190526040902054600114610379576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b81623a34b760e91b1415610391576001819055610436565b81631d1bdd5d60e21b14156103aa576002819055610436565b816a1cd95b1b115b98589b195960aa1b14156103ca576003819055610436565b8169189d5e515b98589b195960b21b14156103e9576004819055610436565b6040805162461bcd60e51b815260206004820152601f60248201527f5573646450736d2f66696c652d756e7265636f676e697a65642d706172616d00604482015290519081900360640190fd5b60408051828152905183917fe986e40cc8c151830d4f61050f4fb2e4add8567caad2d5f5496f9158e91fe4c7919081900360200190a25050565b7f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f81565b60015481565b60035481565b7f000000000000000000000000f085edd75c1ab4fda0c3bd49b264a4a113d06f3b81565b33600090815260208190526040902054600114610521576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b6004546001146105bd576040805162461bcd60e51b815260206004820152601760248201527f5573646450736d2f6275792d6e6f742d656e61626c6564000000000000000000604482015290519081900360640190fd5b60006105e9827f000000000000000000000000000000000000000000000000000000e8d4a5100061105f565b90506000670de0b6b3a76400006106028360025461105f565b8161060957fe5b049050600061061883836110c8565b604080516323b872dd60e01b81523360048201523060248201526044810183905290519192506001600160a01b037f0000000000000000000000004f8e5de400de08b164e7421b3ee387f461becd1a16916323b872dd916064808201926020929091908290030181600087803b15801561069157600080fd5b505af11580156106a5573d6000803e3d6000fd5b505050506040513d60208110156106bb57600080fd5b505161070e576040805162461bcd60e51b815260206004820152601760248201527f5573646450736d2f6661696c65642d7472616e73666572000000000000000000604482015290519081900360640190fd5b60408051633b4da69f60e01b81523060048201526024810183905290516001600160a01b037f000000000000000000000000983dfef6d71862d809e239845da5a959492f63b81691633b4da69f91604480830192600092919082900301818387803b15801561077c57600080fd5b505af1158015610790573d6000803e3d6000fd5b505060408051637608870360e01b81527f50534d2d555344542d41000000000000000000000000000000000000000000006004820152306024820181905260448201819052606482015260008781036084830181905260a483015291516001600160a01b037f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f1694506376088703935060c4808301939282900301818387803b15801561083c57600080fd5b505af1158015610850573d6000803e3d6000fd5b505050507f000000000000000000000000217e42ceb2eae9ecb788fdf0e31c806c531760a36001600160a01b031663ef693bed86866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156108cb57600080fd5b505af11580156108df573d6000803e3d6000fd5b505050507f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f6001600160a01b031663bb35783b307f000000000000000000000000f085edd75c1ab4fda0c3bd49b264a4a113d06f3b61094a866b033b2e3c9fd0803ce800000061105f565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b5050604080518781526020810186905281516001600160a01b038a1694507f085d06ecf4c34b237767a31c0888e121d89546a77f186f1987c6b8715e1a8caa93509081900390910190a25050505050565b600354600114610a5c576040805162461bcd60e51b815260206004820152601860248201527f5573646450736d2f73656c6c2d6e6f742d656e61626c65640000000000000000604482015290519081900360640190fd5b6040805163d14b1e4b60e01b81523060048201526024810183905233604482015290516000916001600160a01b037f000000000000000000000000217e42ceb2eae9ecb788fdf0e31c806c531760a3169163d14b1e4b9160648082019260209290919082900301818787803b158015610ad457600080fd5b505af1158015610ae8573d6000803e3d6000fd5b505050506040513d6020811015610afe57600080fd5b505160408051637608870360e01b81527f50534d2d555344542d4100000000000000000000000000000000000000000000600482015230602482018190526044820181905260648201526084810183905260a4810183905290519192506001600160a01b037f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f169163760887039160c48082019260009290919082900301818387803b158015610bad57600080fd5b505af1158015610bc1573d6000803e3d6000fd5b505050506000670de0b6b3a7640000610bdc8360015461105f565b81610be357fe5b0490506000610bf28383611117565b90507f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f6001600160a01b031663bb35783b307f000000000000000000000000f085edd75c1ab4fda0c3bd49b264a4a113d06f3b610c5b866b033b2e3c9fd0803ce800000061105f565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b505050507f000000000000000000000000983dfef6d71862d809e239845da5a959492f63b86001600160a01b031663ef693bed86836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610d4057600080fd5b505af1158015610d54573d6000803e3d6000fd5b5050604080518781526020810186905281516001600160a01b038a1694507fef75f5a47cc9a929968796ceb84f19e7541617b4577f2c228ea95200e157208193509081900390910190a25050505050565b33600090815260208190526040902054600114610e02576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b33600090815260208190526040902054600114610ea3576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b7f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f6001600160a01b031663a3b22fc4826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610f1257600080fd5b505af1158015610f26573d6000803e3d6000fd5b5050505050565b60006020819052908152604090205481565b7f50534d2d555344542d410000000000000000000000000000000000000000000081565b7f000000000000000000000000983dfef6d71862d809e239845da5a959492f63b881565b33600090815260208190526040902054600114610fe4576040805162461bcd60e51b8152602060048201526016602482015275155cd919141cdb4bdb9bdd0b585d5d1a1bdc9a5e995960521b604482015290519081900360640190fd5b7f000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f6001600160a01b031663dc4d20fa826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610f1257600080fd5b60045481565b60025481565b600081158061107a5750508082028282828161107757fe5b04145b6110c2576040805162461bcd60e51b81526020600482015260146024820152735573646450736d2f6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b92915050565b808201828110156110c2576040805162461bcd60e51b81526020600482015260146024820152735573646450736d2f6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b808203828111156110c2576040805162461bcd60e51b81526020600482015260156024820152745573646450736d2f7375622d756e646572666c6f7760581b604482015290519081900360640190fdfea26469706673582212202def53476185292d4192c06a764bd8a22a7bee0beb4aee2651ae3217c68ee93f64736f6c634300060c0033

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

000000000000000000000000217e42ceb2eae9ecb788fdf0e31c806c531760a3000000000000000000000000983dfef6d71862d809e239845da5a959492f63b8000000000000000000000000f085edd75c1ab4fda0c3bd49b264a4a113d06f3b

-----Decoded View---------------
Arg [0] : gemJoin_ (address): 0x217e42CEB2eAE9ECB788fDF0e31c806c531760A3
Arg [1] : usddJoin_ (address): 0x983DFef6d71862d809e239845Da5A959492f63b8
Arg [2] : vow_ (address): 0xf085EDD75c1AB4fdA0C3Bd49b264A4a113d06f3B

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000217e42ceb2eae9ecb788fdf0e31c806c531760a3
Arg [1] : 000000000000000000000000983dfef6d71862d809e239845da5a959492f63b8
Arg [2] : 000000000000000000000000f085edd75c1ab4fda0c3bd49b264a4a113d06f3b


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.