ETH Price: $3,383.59 (-1.57%)
Gas: 2 Gwei

Token

ERC20 ***
 

Overview

Max Total Supply

7,161.87576092 ERC20 ***

Holders

4,372

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
0.00015773 ERC20 ***

Value
$0.00
0x260ac2ff4924dBbD8069313c5A2AB8b4b31D600c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DharmaDai

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-02-04
*/

pragma solidity 0.5.11; // optimization runs: 200, evm version: petersburg


/**
 * @title DharmaDai
 * @author 0age
 * @notice Dharma Dai is an upgradeable ERC20 token that delegates all logic to
 * an implementation contract specified by a hard-coded "upgrade beacon"
 * contract.
 */
contract DharmaDai {
  // Set upgrade beacon address as a constant (i.e. not in contract storage).
  address private constant _UPGRADE_BEACON = address(
    0x0000000000ccCf289727C20269911159a7bf9eBd
  );

  /**
   * @notice In the fallback, delegate execution to the implementation set on
   * the upgrade beacon.
   */
  function () external payable {
    // Get the current implementation address from the upgrade beacon.
    (bool ok, bytes memory returnData) = _UPGRADE_BEACON.staticcall("");

    // Revert and pass along revert message if call to upgrade beacon reverts.
    if (!ok) {
      assembly {
        returndatacopy(0, 0, returndatasize)
        revert(0, returndatasize)
      }
    }

    // Put implementation address returned from the upgrade beacon on the stack.
    address implementation = abi.decode(returnData, (address));

    assembly {
      // Copy msg.data. We take full control of memory in this inline assembly
      // block because it will not return to Solidity code. We overwrite the
      // Solidity scratch pad at memory position 0.
      calldatacopy(0, 0, calldatasize)

      // Delegatecall to the implementation, supplying calldata and gas.
      // Out and outsize are set to zero - instead, use the return buffer.
      let result := delegatecall(gas, implementation, 0, calldatasize, 0, 0)

      // Copy the returned data from the return buffer.
      returndatacopy(0, 0, returndatasize)

      switch result
      // Delegatecall returns 0 on error.
      case 0 { revert(0, returndatasize) }
      default { return(0, returndatasize) }
    }
  }
}

Contract Security Audit

Contract ABI

[{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b5060dc8061001f6000396000f3fe60806040526040516000906060906ecccf289727c20269911159a7bf9ebd9083818181855afa9150503d80600081146052576040519150601f19603f3d011682016040523d82523d6000602084013e6057565b606091505b509150915081606a573d6000803e3d6000fd5b6000818060200190516020811015608057600080fd5b505190503660008037600080366000845af43d6000803e80801560a2573d6000f35b3d6000fdfea265627a7a7231582020202020202020446861726d612044616920286444616929202020202020202064736f6c634300050b0032

Deployed Bytecode

0x60806040526040516000906060906ecccf289727c20269911159a7bf9ebd9083818181855afa9150503d80600081146052576040519150601f19603f3d011682016040523d82523d6000602084013e6057565b606091505b509150915081606a573d6000803e3d6000fd5b6000818060200190516020811015608057600080fd5b505190503660008037600080366000845af43d6000803e80801560a2573d6000f35b3d6000fdfea265627a7a7231582020202020202020446861726d612044616920286444616929202020202020202064736f6c634300050b0032

Deployed Bytecode Sourcemap

297:1643:0:-;;;775:30;;739:7;;748:23;;457:42;;739:7;775:30;739:7;775:30;457:42;775:30;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;738:67:0;;;;899:2;894:125;;953:14;950:1;947;932:36;988:14;985:1;978:25;921:91;1109:22;1145:10;1134:33;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1134:33:0;;-1:-1:-1;1424:12:0;1421:1;;1405:32;1665:1;1662;1648:12;1645:1;1629:14;1624:3;1611:56;1755:14;1752:1;1749;1734:36;1787:6;1844:36;;;;1908:14;1905:1;1898:25;1844:36;1863:14;1860:1;1853:25

Swarm Source

bzzr://20202020202020446861726d6120446169202864446169292020202020202020
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.