Back to Home

tyg(XCV)

Unclassified
0x376bcb977db2...be8fa4916018
ByzantiumSource VerifiedEdit this contract

Bytecode verified via sibling

This contract shares identical runtime bytecode with TetherToken (0x0b87807f...) which has been verified through compiler archaeology.

Deployed November 1, 2018 (7 years ago)Block 6,622,131

Tether's own USDT contract source, recompiled and redeployed in late 2018 as a template for throwaway tokens with placeholder names.

Byzantium EraVerified Source

Historical Significance

Tether published its source, and this is what happened next. By late 2018 the USDT contract had become a template: not forked or modified, just recompiled and redeployed by people who wanted a token with an owner who could freeze balances, destroy them, and skim a fee on transfers. The code is a faithful copy, which means every power Tether reserved for itself was reproduced here for whoever deployed it. Reading it now is a way of seeing which parts of the stablecoin design were being copied in 2018, and the answer is all of them, including the parts that were controversial at the time.

Token Information
Token Name
tyg
Symbol
XCV
Decimals
18
Key Facts
Deployment Block
6,622,131
Deployment Date
Nov 1, 2018, 06:36 AM
Code Size
5.7 KB
Gas at Deploy
1,750,877

Description

The bytecode here is Tether's TetherToken, the contract behind USDT, recompiled by someone else. USDT itself was deployed in 2017 from solc 0.4.18 with the optimizer off. This one is the same source through solc 0.4.24 with the optimizer at 150 runs, which is why it is roughly half the size of the contract at the canonical USDT address while behaving identically.

What it inherits is the full Tether stack: SafeMath, Ownable, the pausable ERC20 base, and two things that made USDT unusual for its time. BlackList gives the owner addBlackList, removeBlackList and destroyBlackFunds, the last of which deletes a blacklisted holder's balance outright and reduces total supply. The fee machinery sits in setParams, basisPointsRate and maximumFee, letting the owner take a cut of every transfer up to a capped amount. And deprecate points the contract at an upgradedAddress, after which every call forwards to the successor contract instead of acting locally.

Name, symbol and decimals are constructor arguments written to storage, so they leave no trace in the runtime code. That is what lets a single compiled artifact stand behind many different token identities. The ones deployed from this bytecode carry obvious placeholders rather than product names.

Source Verified

Solidityeh_crack_source_verified
Compiler: v0.4.24
Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Unclassified

Bytecode Overview

Opcodes5,802
Unique Opcodes248
Jump Instructions358
Storage Operations140

External Links

Related contracts