ETH Price: $2,350.18 (-2.62%)

Token

DYAD Stable (DYAD)
 

Overview

Max Total Supply

13,069,788.703528530389759344 DYAD

Holders

201 (0.00%)

Total Transfers

-

Market

Price

$0.99 @ 0.000421 ETH (-0.42%)

Onchain Market Cap

$12,943,364.64

Circulating Supply Market Cap

$12,976,372.00

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The DYAD protocol allows users to mint interest-free stablecoins against collateral types like ETH, and the minimum collateral ratio a user has to maintain can be as low as 100%.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Dyad

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 5 : Dyad.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import {IDyad}    from "../interfaces/IDyad.sol";
import {Licenser} from "./Licenser.sol";
import {ERC20}    from "@solmate/src/tokens/ERC20.sol";

contract Dyad is ERC20("DYAD Stable", "DYAD", 18), IDyad {
  Licenser public immutable licenser;  

  // dNFT ID => dyad
  mapping (uint => uint) public mintedDyad; 

  constructor(
    Licenser _licenser
  ) { 
    licenser = _licenser; 
  }

  modifier licensedVaultManager() {
    if (!licenser.isLicensed(msg.sender)) revert NotLicensed();
    _;
  }

  /// @inheritdoc IDyad
  function mint(
      uint    id, 
      address to,
      uint    amount
  ) external 
      licensedVaultManager 
    {
      _mint(to, amount);
      mintedDyad[id] += amount;
  }

  /// @inheritdoc IDyad
  function burn(
      uint    id, 
      address from,
      uint    amount
  ) external 
      licensedVaultManager 
    {
      _burn(from, amount);
      mintedDyad[id] -= amount;
  }
}

File 2 of 5 : IDyad.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IDyad {

  error NotLicensed();

 /**
  * @notice Mints amount of DYAD through a dNFT and licensed vault manager 
  *         to a specified address.
  * @dev The caller must be a licensed vault manager. Vault manager get
  *      licensed by the 'sll'.
  * @param id ID of the dNFT.
  * @param to The address of the recipient who will receive the tokens.
  * @param amount The amount of tokens to be minted.
  */
  function mint(
      uint    id, 
      address to,
      uint    amount
  ) external;

 /**
  * @notice Burns amount of DYAD through a dNFT and licensed vault manager
  *         from a specified address.
  * @dev The caller must be a licensed vault manager. Vault manager get
  *      licensed by the 'sll'.
  * @param id ID of the dNFT.
  * @param from The address of the recipient who the tokens will be burnt
  *        from.
  * @param amount The amount of tokens to be burned.
  */
  function burn(
      uint    id, 
      address from,
      uint    amount
  ) external;
}

File 3 of 5 : Licenser.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import {Owned} from "@solmate/src/auth/Owned.sol";

contract Licenser is Owned(msg.sender) {

  mapping (address => bool) public isLicensed; 

  constructor() {}

  function add   (address vault) external onlyOwner { isLicensed[vault] = true; }
  function remove(address vault) external onlyOwner { isLicensed[vault] = false; }
}

File 4 of 5 : ERC20.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

File 5 of 5 : Owned.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event OwnershipTransferred(address indexed user, address indexed newOwner);

    /*//////////////////////////////////////////////////////////////
                            OWNERSHIP STORAGE
    //////////////////////////////////////////////////////////////*/

    address public owner;

    modifier onlyOwner() virtual {
        require(msg.sender == owner, "UNAUTHORIZED");

        _;
    }

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(address _owner) {
        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    /*//////////////////////////////////////////////////////////////
                             OWNERSHIP LOGIC
    //////////////////////////////////////////////////////////////*/

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;

        emit OwnershipTransferred(msg.sender, newOwner);
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "@solmate/=lib/solmate/",
    "ds-test/=lib/solmate/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
    "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/",
    "solmate/=lib/solmate/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": true,
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract Licenser","name":"_licenser","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotLicensed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"licenser","outputs":[{"internalType":"contract Licenser","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mintedDyad","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6101008060405234610446576020816111b78038038091610020828561044b565b83398101031261044657516001600160a01b0381168103610446576040519061004a60408361044b565b600b82526a4459414420537461626c6560a81b60208301526040519061007160408361044b565b60048252631116505160e21b602083015282516001600160401b03811161036d5761009d60005461046e565b601f81116103f4575b506020601f821160011461038e5781929394600092610383575b50508160011b916000199060031b1c1916176000555b81516001600160401b03811161036d576100f160015461046e565b601f8111610308575b50602092601f82116001146102a35792819293600092610298575b50508160011b916000199060031b1c1916176001555b60126080524660a05260405160009060005491816101488461046e565b91828252602082019460018116908160001461027c5750600114610230575b6101739250038261044b565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a081526101e760c08261044b565b51902060c05260e052604051610cee90816104a9823960805181610777015260a05181610af6015260c05181610b1d015260e05181818160e20152818161041f015261060b0152f35b50600080805290916000805160206111978339815191525b81831061026057505090602061017392820101610167565b6020919350806001915483858801015201910190918392610248565b60ff191686525061017392151560051b82016020019050610167565b015190503880610115565b601f198216936001600052806000209160005b8681106102f057508360019596106102d7575b505050811b0160015561012b565b015160001960f88460031b161c191690553880806102c9565b919260206001819286850151815501940192016102b6565b60016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c81019160208410610363575b601f0160051c01905b81811061035757506100fa565b6000815560010161034a565b9091508190610341565b634e487b7160e01b600052604160045260246000fd5b0151905038806100c0565b601f1982169060008052806000209160005b8181106103dc575095836001959697106103c3575b505050811b016000556100d6565b015160001960f88460031b161c191690553880806103b5565b9192602060018192868b0151815501940192016103a0565b60008052600080516020611197833981519152601f830160051c8101916020841061043c575b601f0160051c01905b81811061043057506100a6565b60008155600101610423565b909150819061041a565b600080fd5b601f909101601f19168101906001600160401b0382119082101761036d57604052565b90600182811c9216801561049e575b602083101461048857565b634e487b7160e01b600052602260045260246000fd5b91607f169161047d56fe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610935578063095ea7b3146108bb578063168a5d981461088f57806318160ddd1461087157806323b872dd1461079b578063313ce5671461075d5780633644e5151461073a57806370a08231146107005780637ecebe00146106c6578063836a1040146105de57806395d89b41146104fe5780639eea5f66146103f2578063a9059cbb14610378578063d505accf14610167578063dd62ed3e146101165763f790d78f146100cc57600080fd5b34610111576000366003190112610111576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600080fd5b346101115760403660031901126101115761012f610a78565b610137610a8e565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101115760e036600319011261011157610180610a78565b610188610a8e565b6044356064359260843560ff8116809103610111574285106103335760806000916020936101b4610af1565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261023160e0826109f7565b519020604051908682019261190160f01b8452602283015260428201526042815261025d6062826109f7565b519020906040519182528482015260a435604082015260c435606082015282805260015afa15610327576000516001600160a01b03168015158061031e575b156102e8577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5082811461029c565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b3461011157604036600319011261011157610391610a78565b6024359033600052600360205260406000206103ae838254610ace565b905560018060a01b0316908160005260036020526040600020818154019055604051908152600080516020610c9983398151915260203392a3602060405160018152f35b346101115761040036610aa4565b604051632950b0a960e21b8152336004820152909291906020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610327576000916104cf575b50156104be5760009060018060a01b0316808252600360205260408220610480858254610ace565b90558360025403600255600080516020610c998339815191526020604051868152a360005260066020526104ba6040600020918254610ace565b9055005b6396dcc1ef60e01b60005260046000fd5b6104f1915060203d6020116104f7575b6104e981836109f7565b810190610c73565b84610458565b503d6104df565b346101115760003660031901126101115760405160015460009081610522826109bd565b80855291600181169081156105b7575060011461055a575b6105568461054a818603826109f7565b60405191829182610a2f565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b80821061059d5750909150810160200161054a8261053a565b919260018160209254838588010152019101909291610584565b60ff191660208087019190915292151560051b8501909201925061054a915083905061053a565b34610111576105ec36610aa4565b604051632950b0a960e21b8152336004820152909291906020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610327576000916106a7575b50156104be5761065683600254610c8b565b6002556001600160a01b0316600081815260036020908152604080832080548701905551858152600080516020610c998339815191529190a360005260066020526104ba6040600020918254610c8b565b6106c0915060203d6020116104f7576104e981836109f7565b84610644565b34610111576020366003190112610111576001600160a01b036106e7610a78565b1660005260056020526020604060002054604051908152f35b34610111576020366003190112610111576001600160a01b03610721610a78565b1660005260036020526020604060002054604051908152f35b34610111576000366003190112610111576020610755610af1565b604051908152f35b3461011157600036600319011261011157602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610111576060366003190112610111576107b4610a78565b6107bc610a8e565b6001600160a01b03909116600081815260046020908152604080832033845282529091205460443593600080516020610c998339815191529291856001820161084b575b50508360005260038252604060002061081a868254610ace565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61085491610ace565b600085815260048452604080822033835285529020558585610800565b34610111576000366003190112610111576020600254604051908152f35b346101115760203660031901126101115760043560005260066020526020604060002054604051908152f35b34610111576040366003190112610111576108d4610a78565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b34610111576000366003190112610111576040516000805481610957826109bd565b80855291600181169081156105b7575060011461097e576105568461054a818603826109f7565b80805260208120939250905b8082106109a35750909150810160200161054a8261053a565b91926001816020925483858801015201910190929161098a565b90600182811c921680156109ed575b60208310146109d757565b634e487b7160e01b600052602260045260246000fd5b91607f16916109cc565b90601f8019910116810190811067ffffffffffffffff821117610a1957604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610a62575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610a41565b600435906001600160a01b038216820361011157565b602435906001600160a01b038216820361011157565b606090600319011261011157600435906024356001600160a01b0381168103610111579060443590565b91908203918211610adb57565b634e487b7160e01b600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610b3f57507f000000000000000000000000000000000000000000000000000000000000000090565b6040518181815493610b50856109bd565b928383526020830195600181169081600014610c545750600114610bf6575b50610b7c925003826109f7565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610bf060c0826109f7565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610c38575050906020610b7c9282010138610b6f565b6020919350806001915483858801015201910190918392610c1f565b60ff1916875250610b7c93151560051b83016020019150389050610b6f565b90816020910312610111575180151581036101115790565b91908201809211610adb5756feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122030dbed62d42d10af13c184c0e513385686df09c1187c52e17f85a46c1d7bc29764736f6c634300081a0033290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563000000000000000000000000b5bde0ba7b3e39226e5369e508d673fdf02ba8c1

Deployed Bytecode

0x6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610935578063095ea7b3146108bb578063168a5d981461088f57806318160ddd1461087157806323b872dd1461079b578063313ce5671461075d5780633644e5151461073a57806370a08231146107005780637ecebe00146106c6578063836a1040146105de57806395d89b41146104fe5780639eea5f66146103f2578063a9059cbb14610378578063d505accf14610167578063dd62ed3e146101165763f790d78f146100cc57600080fd5b34610111576000366003190112610111576040517f000000000000000000000000b5bde0ba7b3e39226e5369e508d673fdf02ba8c16001600160a01b03168152602090f35b600080fd5b346101115760403660031901126101115761012f610a78565b610137610a8e565b6001600160a01b039182166000908152600460209081526040808320949093168252928352819020549051908152f35b346101115760e036600319011261011157610180610a78565b610188610a8e565b6044356064359260843560ff8116809103610111574285106103335760806000916020936101b4610af1565b9060018060a01b03169687855260058652604085209889549960018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c0815261023160e0826109f7565b519020604051908682019261190160f01b8452602283015260428201526042815261025d6062826109f7565b519020906040519182528482015260a435604082015260c435606082015282805260015afa15610327576000516001600160a01b03168015158061031e575b156102e8577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259160209160005260048252604060002085600052825280604060002055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b5082811461029c565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b3461011157604036600319011261011157610391610a78565b6024359033600052600360205260406000206103ae838254610ace565b905560018060a01b0316908160005260036020526040600020818154019055604051908152600080516020610c9983398151915260203392a3602060405160018152f35b346101115761040036610aa4565b604051632950b0a960e21b8152336004820152909291906020816024817f000000000000000000000000b5bde0ba7b3e39226e5369e508d673fdf02ba8c16001600160a01b03165afa908115610327576000916104cf575b50156104be5760009060018060a01b0316808252600360205260408220610480858254610ace565b90558360025403600255600080516020610c998339815191526020604051868152a360005260066020526104ba6040600020918254610ace565b9055005b6396dcc1ef60e01b60005260046000fd5b6104f1915060203d6020116104f7575b6104e981836109f7565b810190610c73565b84610458565b503d6104df565b346101115760003660031901126101115760405160015460009081610522826109bd565b80855291600181169081156105b7575060011461055a575b6105568461054a818603826109f7565b60405191829182610a2f565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b80821061059d5750909150810160200161054a8261053a565b919260018160209254838588010152019101909291610584565b60ff191660208087019190915292151560051b8501909201925061054a915083905061053a565b34610111576105ec36610aa4565b604051632950b0a960e21b8152336004820152909291906020816024817f000000000000000000000000b5bde0ba7b3e39226e5369e508d673fdf02ba8c16001600160a01b03165afa908115610327576000916106a7575b50156104be5761065683600254610c8b565b6002556001600160a01b0316600081815260036020908152604080832080548701905551858152600080516020610c998339815191529190a360005260066020526104ba6040600020918254610c8b565b6106c0915060203d6020116104f7576104e981836109f7565b84610644565b34610111576020366003190112610111576001600160a01b036106e7610a78565b1660005260056020526020604060002054604051908152f35b34610111576020366003190112610111576001600160a01b03610721610a78565b1660005260036020526020604060002054604051908152f35b34610111576000366003190112610111576020610755610af1565b604051908152f35b3461011157600036600319011261011157602060405160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b34610111576060366003190112610111576107b4610a78565b6107bc610a8e565b6001600160a01b03909116600081815260046020908152604080832033845282529091205460443593600080516020610c998339815191529291856001820161084b575b50508360005260038252604060002061081a868254610ace565b90556001600160a01b03166000818152600383526040908190208054870190555194855293a3602060405160018152f35b61085491610ace565b600085815260048452604080822033835285529020558585610800565b34610111576000366003190112610111576020600254604051908152f35b346101115760203660031901126101115760043560005260066020526020604060002054604051908152f35b34610111576040366003190112610111576108d4610a78565b3360008181526004602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b34610111576000366003190112610111576040516000805481610957826109bd565b80855291600181169081156105b7575060011461097e576105568461054a818603826109f7565b80805260208120939250905b8082106109a35750909150810160200161054a8261053a565b91926001816020925483858801015201910190929161098a565b90600182811c921680156109ed575b60208310146109d757565b634e487b7160e01b600052602260045260246000fd5b91607f16916109cc565b90601f8019910116810190811067ffffffffffffffff821117610a1957604052565b634e487b7160e01b600052604160045260246000fd5b91909160208152825180602083015260005b818110610a62575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610a41565b600435906001600160a01b038216820361011157565b602435906001600160a01b038216820361011157565b606090600319011261011157600435906024356001600160a01b0381168103610111579060443590565b91908203918211610adb57565b634e487b7160e01b600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000103610b3f57507f5687699ed62eb260174bd741a5cb08a9d31779786d073ec24a86d56385cd1c5f90565b6040518181815493610b50856109bd565b928383526020830195600181169081600014610c545750600114610bf6575b50610b7c925003826109f7565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610bf060c0826109f7565b51902090565b808093949250527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610c38575050906020610b7c9282010138610b6f565b6020919350806001915483858801015201910190918392610c1f565b60ff1916875250610b7c93151560051b83016020019150389050610b6f565b90816020910312610111575180151581036101115790565b91908201809211610adb5756feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122030dbed62d42d10af13c184c0e513385686df09c1187c52e17f85a46c1d7bc29764736f6c634300081a0033

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

000000000000000000000000b5bde0ba7b3e39226e5369e508d673fdf02ba8c1

-----Decoded View---------------
Arg [0] : _licenser (address): 0xb5bdE0Ba7b3e39226E5369e508D673fDF02bA8c1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b5bde0ba7b3e39226e5369e508d673fdf02ba8c1


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.