ETH Price: $3,230.28 (+1.85%)

Token

Vyper Burn (vb)
 

Overview

Max Total Supply

1,000,000,000 vb

Holders

102

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
34,044,406.188082461 vb

Value
$0.00
0x716ba1bd29603d393b0ff21f87df586a2fb6c44c
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:
Vyper_contract

Compiler Version
vyper:0.3.7

Optimization Enabled:
N/A

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Vyper language format)

# @version 0.3.7

"""
@title Vyper Burn
@license GNU AGPLv3
@author vyperburnteam
"""

interface IERC20:
    def totalSupply() -> uint256: view
    def decimals() -> uint256: view
    def symbol() -> String[20]: view
    def name() -> String[100]: view
    def getOwner() -> address: view
    def balanceOf(account: address) -> uint256: view
    def transfer(recipient: address, amount: uint256) -> bool: nonpayable
    def allowance(_owner: address, spender: address) -> uint256: view
    def approve(spender: address, amount: uint256) -> bool: nonpayable
    def transferFrom(sender: address, recipient: address, amount: uint256) -> bool: nonpayable

event Transfer:
    sender: indexed(address)
    recipient: indexed(address)
    value: uint256

event Approval:
    owner: indexed(address)
    spender: indexed(address)
    value: uint256

event TransferOwnership:
    previousOwner: indexed(address)
    newOwner: indexed(address)

event StuckETHWithdrawn:
    recipient: indexed(address)
    amount: uint256

event StuckTokensWithdrawn:
    tokenAddress: indexed(address)
    recipient: indexed(address)
    amount: uint256

event PairCreated:
    pair: address

interface IDexFactory:
    def createPair(tokenA: address, tokenB: address) -> address: nonpayable

interface IDexRouter:
    def factory() -> address: view
    def WETH() -> address: view
    def addLiquidityETH(token: address, amountTokenDesired: uint256, amountTokenMin: uint256, amountETHMin: uint256, to: address, deadline: uint256) -> (uint256, uint256, uint256): payable
    def swapExactTokensForETHSupportingFeeOnTransferTokens(amountIn: uint256, amountOutMin: uint256, path: address[2], to: address, deadline: uint256): nonpayable

implements: IERC20

name: constant(String[100]) = "Vyper Burn"
symbol: constant(String[20]) = "vb"
decimals: constant(uint256) = 9
balances: (HashMap[address, uint256])
allowances: (HashMap[address, HashMap[address, uint256]])
InitialSupply: constant(uint256) = 1_000_000_000 * 10**9
LaunchTimestamp: uint256
deadWallet: constant(address) = 0x000000000000000000000000000000000000dEaD  
owner: address
burnRate: uint256
devTaxRate: uint256
burnRateBuy: uint256
burnRateSell: uint256
devTaxRateBuy: uint256
devTaxRateSell: uint256
devWallet: address
liquidityPoolPair: address
dexFactory: IDexFactory
dexRouter: IDexRouter
factoryAddress: address
routerAddress: address
maxTransactionAmount: uint256
maxWalletAmount: uint256
isTradingEnabled: bool
inExecution: bool
swapEnabled: bool
_swapTokensAtAmount: uint256

@external
def __init__():
    self.isTradingEnabled = False
    self.swapEnabled = True
    self.inExecution = False
    deployerBalance: uint256 = InitialSupply
    factoryAddress: address = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
    routerAddress: address = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
    self.factoryAddress = factoryAddress
    self.routerAddress = routerAddress 
    self.dexFactory = IDexFactory(factoryAddress)
    self.dexRouter = IDexRouter(routerAddress)
    weth_address: address = self.dexRouter.WETH()
    liquidityPoolPair: address = self.dexFactory.createPair(self, weth_address)
    self.liquidityPoolPair = liquidityPoolPair
    log PairCreated(liquidityPoolPair)
    self.maxTransactionAmount = 10_000_000 * 10**9
    self.maxWalletAmount = 10_000_000 * 10**9
    self._swapTokensAtAmount = 10_000_000 * 10**9
    sender: address = msg.sender
    self.balances[sender] = deployerBalance
    self.owner = sender
    self.devWallet = 0x0f868135056690109ad9C792BDe4374cFe755b00
    self.burnRateBuy = 500 
    self.devTaxRateBuy = 500
    self.burnRateSell = 500
    self.devTaxRateSell = 500
    log Transfer(empty(address), sender, deployerBalance)

@view
@external
def getMaxTransactions() -> uint256[2]:
    return [
        self.maxTransactionAmount,
        self.maxWalletAmount,
        ]

@external
def setMaxTransactionAndWalletLimits(newTransactionPercentage: uint256, newWalletPercentage: uint256) -> bool:
    assert msg.sender == self.owner, "Only owner can call this function"
    assert newTransactionPercentage > 0 and newTransactionPercentage <= 100, "New transaction percentage should be between 1 and 100"
    assert newWalletPercentage > 0 and newWalletPercentage <= 100, "New wallet percentage should be between 1 and 100"
    self.maxTransactionAmount = (InitialSupply * newTransactionPercentage) / 100
    self.maxWalletAmount = (InitialSupply * newWalletPercentage) / 100
    return True

@external
def removeLimits() -> bool:
    assert msg.sender == self.owner, "Only owner can call this function"
    self.maxWalletAmount = InitialSupply
    self.maxTransactionAmount = InitialSupply
    return True

@view
@external
def getBurnedTokens() -> uint256:
    return self.balances[deadWallet] 

@view
@external
def getCirculatingSupply() -> uint256:
    return InitialSupply - self.balances[deadWallet]

@external
def SetupEnableTrading(burnRate: uint256, devTaxRate: uint256) -> bool:
    assert msg.sender == self.owner, "Ownable: caller is not the owner"
    assert not self.isTradingEnabled, "Trading is already enabled"
    self.burnRateBuy = burnRate
    self.devTaxRateBuy = devTaxRate 
    self.LaunchTimestamp = block.timestamp
    self.isTradingEnabled = True
    return True

@view
@external
def getOwner() -> address:
    return self.owner

@view
@external
def name() -> String[100]:
    return name

@view
@external
def symbol() -> String[20]:
    return symbol

@view
@external
def decimals() -> uint256:
    return decimals

@view
@external
def totalSupply() -> uint256:
    return InitialSupply 

@view
@external
def balanceOf(account: address) -> uint256:
    return self.balances[account]

@nonpayable
@external
def transfer(recipient: address,amount: uint256) -> bool:
    self._transfer(msg.sender, recipient, amount)
    return True

@view
@external
def allowance(_owner: address, spender: address) -> uint256:
    return self.allowances[_owner][spender]

@external
@nonpayable
def approve(spender: address, amount: uint256) -> bool:
    owner: address = msg.sender
    self._approve(owner, spender, amount)
    return True

@external
def transferFrom(sender: address, recipient: address, amount: uint256) -> bool:
    self._transfer(sender, recipient, amount)
    currentAllowance: uint256 = self.allowances[sender][msg.sender]
    assert currentAllowance >= amount, "Transfer > allowance"
    self._approve(sender, msg.sender, currentAllowance - amount)
    return True

@external
def increaseAllowance(spender: address, addedValue: uint256) -> bool:
    self._approve(msg.sender, spender, self.allowances[msg.sender][spender] + addedValue)
    return True

@external
def decreaseAllowance(spender: address, subtractedValue: uint256) -> bool:
    currentAllowance: uint256 = self.allowances[msg.sender][spender]
    assert currentAllowance >= subtractedValue, "<0 allowance"
    self._approve(msg.sender, spender, currentAllowance - subtractedValue)
    return True

@external
def setTaxRates(_burnRateBuy: uint256, _devTaxRateBuy: uint256, _burnRateSell: uint256, _devTaxRateSell: uint256) -> bool:
    sender: address = msg.sender
    assert sender == self.owner, "Only the owner can set the tax rates"
    assert _burnRateBuy >= 0 and _burnRateBuy <= 10000, "Burn rate buy must be between 1 to 100"
    assert _devTaxRateBuy >= 0 and _devTaxRateBuy <= 10000, "Dev tax rate buy must be between 1 to 100"
    assert _burnRateSell >= 0 and _burnRateSell <= 10000, "Burn rate sell must be between 1 to 100"
    assert _devTaxRateSell >= 0 and _devTaxRateSell <= 10000, "Dev tax rate sell must be between 1 to 100"
    self.burnRateBuy = _burnRateBuy
    self.devTaxRateBuy = _devTaxRateBuy 
    self.burnRateSell = _burnRateSell
    self.devTaxRateSell = _devTaxRateSell 
    return True

@external
def removeFee():
    sender: address = msg.sender
    assert sender == self.owner, "Ownable: caller is not the owner"
    self.burnRateBuy = 0
    self.burnRateSell = 0
    self.devTaxRateBuy = 0
    self.devTaxRateSell = 0

@view
@external
def getTaxRates() -> uint256[6]:
    totalBuyTaxes: uint256 = self.burnRateBuy + self.devTaxRateBuy
    totalSellTaxes: uint256 = self.burnRateSell + self.devTaxRateSell

    return [
        self.burnRateBuy,
        self.devTaxRateBuy,
        totalBuyTaxes,
        self.burnRateSell,
        self.devTaxRateSell,
        totalSellTaxes
    ]

@external
@payable
def __default__(): pass

@internal
def _transfer(sender: address, recipient: address, amount: uint256):
    assert sender != empty(address), "Transfer from zero"
    assert recipient != empty(address), "Transfer to zero"
    assert amount > 0, "Amount should be greater than zero"
    assert self.isTradingEnabled or sender == self.owner or recipient == self.owner, "Trading not enabled"
    applyTax: bool = sender not in [self.owner, self] and recipient not in [self.owner, self] and self.isTradingEnabled

    if recipient not in [self.owner, self, self.routerAddress, self.liquidityPoolPair, deadWallet]:
        assert self.balances[recipient] + amount <= self.maxWalletAmount, "Recipient wallet balance exceeds max wallet limit"

    if sender not in [self.owner, self.liquidityPoolPair, self.routerAddress]:
        assert amount <= self.maxTransactionAmount, "Transaction amount exceeds max transaction limit"

    if applyTax:
        if recipient == self.liquidityPoolPair:
            self.burnRate = self.burnRateSell
            self.devTaxRate = self.devTaxRateSell
        else:
            self.burnRate = self.burnRateBuy
            self.devTaxRate = self.devTaxRateBuy
    else:
        self._normalTransfer(sender, recipient, amount)
        return

    contractTokenBalance: uint256 = self.balances[self]
    canSwap: bool = contractTokenBalance >= self._swapTokensAtAmount

    if contractTokenBalance >= self._swapTokensAtAmount:
        contractTokenBalance = self._swapTokensAtAmount
    if canSwap and not self.inExecution and recipient == self.liquidityPoolPair and self.swapEnabled and applyTax:
        self._swapTokens(min(amount, contractTokenBalance))
        contractETHBalance: uint256 = self.balances[self.dexRouter.WETH()]
        if contractETHBalance > 0:
            self._sendETHToFee(contractETHBalance)
    
    self._transferStandard(sender, recipient, amount)

@internal
def _transferStandard(sender: address, recipient: address, amount: uint256):
    burnAmount: uint256 = convert(floor(convert(amount, decimal) * convert(self.burnRate, decimal) / convert(10000, decimal)), uint256)
    devTaxAmount: uint256 = convert(floor(convert(amount, decimal) * convert(self.devTaxRate, decimal) / convert(10000, decimal)), uint256)
    transferAmount: uint256 = amount - burnAmount - devTaxAmount
    totalAmount: uint256 = transferAmount + burnAmount + devTaxAmount

    if recipient == self.liquidityPoolPair and sender != self.routerAddress:
        assert self.balances[sender] >= totalAmount, "Insufficient Balance"

    self.balances[sender] -= totalAmount
    self.balances[deadWallet] += burnAmount
    if devTaxAmount > 0:
        self.balances[self] += devTaxAmount
        log Transfer(sender, self, devTaxAmount)
    self.balances[recipient] += transferAmount
    log Transfer(sender, recipient, transferAmount)

@internal
def _normalTransfer(
    sender: address,
    recipient: address,
    amount: uint256
):
    senderBalance: uint256 = self.balances[sender]
    assert senderBalance >= amount, "Transfer exceeds balance"
    self.balances[sender] -= amount
    self.balances[recipient] += amount
    log Transfer(sender, recipient, amount)

@internal
def _swapTokens(amount: uint256):
    assert not self.inExecution, "Reentrancy protection"
    self.inExecution = True
    path: address[2] = [self, self.dexRouter.WETH()]
    self._approve(self, self.routerAddress, self.balances[self])
    self.dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
        amount,
        0,
        path,
        self,
        block.timestamp
    )
    self.inExecution = False

@internal
def _sendETHToFee(amount: uint256):
    send(self.devWallet, amount)

@external
def transferOwnership(newOwner: address):
    sender: address = msg.sender
    assert sender == self.owner, "Ownable: caller is not the owner"
    assert newOwner != empty(address), "Ownable: new owner is the zero address"
    log TransferOwnership(self.owner, newOwner)
    self.owner = newOwner

@external
def renounceOwnership():
    sender: address = msg.sender
    assert sender == self.owner, "Ownable: caller is not the owner"
    log TransferOwnership(self.owner, empty(address))
    self.owner = empty(address)

@external
def setFactoryAndRouter(factoryAddress: address, routerAddress: address) -> bool:
    assert msg.sender == self.owner, "Only the core can call this function."
    self.factoryAddress = factoryAddress
    self.routerAddress = routerAddress
    return True

@external
@view
def getLiquidityPoolPairAddress() -> address:
    return self.liquidityPoolPair

@view
@internal
def _contractBalance() -> uint256:
    return self.balances[self]

@internal
def _approve(owner: address, spender: address, amount: uint256) -> bool:
    assert owner != empty(address), "Approve from zero"
    assert spender != empty(address), "Approve from zero"
    self.allowances[owner][spender] = amount
    log Approval(owner, spender, amount)
    return True

@external
def withdrawStuckETH(amount: uint256) -> bool:
    send(self.devWallet, amount)
    log StuckETHWithdrawn(self.devWallet, amount)
    return True

@external
def withdrawStuckTokens(tokenAddress: address, amount: uint256) -> bool:
    token: IERC20 = IERC20(tokenAddress)
    token.transfer(self.devWallet, amount) 
    log StuckTokensWithdrawn(tokenAddress, self.devWallet, amount)
    return True

@external
@view
def getTradingStatus() -> bool:
    return self.isTradingEnabled

@external
def toggleSwapEnabled():
    assert msg.sender == self.owner, "Only the owner can call this function."
    self.swapEnabled = not self.swapEnabled

@external
def manualSwap():
    sender: address = msg.sender
    assert sender == self.owner or sender == self.devWallet, "Only the owner or dev can call this function."
    contractTokenBalance: uint256 = self.balances[self]
    
    if contractTokenBalance >= self._swapTokensAtAmount:
        contractTokenBalance = self._swapTokensAtAmount
    self._swapTokens(contractTokenBalance)

Contract Security Audit

Contract ABI

[{"name":"Transfer","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"recipient","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":"TransferOwnership","inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"StuckETHWithdrawn","inputs":[{"name":"recipient","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"StuckTokensWithdrawn","inputs":[{"name":"tokenAddress","type":"address","indexed":true},{"name":"recipient","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"PairCreated","inputs":[{"name":"pair","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"getMaxTransactions","inputs":[],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"nonpayable","type":"function","name":"setMaxTransactionAndWalletLimits","inputs":[{"name":"newTransactionPercentage","type":"uint256"},{"name":"newWalletPercentage","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"removeLimits","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getBurnedTokens","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"getCirculatingSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"SetupEnableTrading","inputs":[{"name":"burnRate","type":"uint256"},{"name":"devTaxRate","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getOwner","inputs":[],"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":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"_owner","type":"address"},{"name":"spender","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"setTaxRates","inputs":[{"name":"_burnRateBuy","type":"uint256"},{"name":"_devTaxRateBuy","type":"uint256"},{"name":"_burnRateSell","type":"uint256"},{"name":"_devTaxRateSell","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"removeFee","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"getTaxRates","inputs":[],"outputs":[{"name":"","type":"uint256[6]"}]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"nonpayable","type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"renounceOwnership","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setFactoryAndRouter","inputs":[{"name":"factoryAddress","type":"address"},{"name":"routerAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getLiquidityPoolPairAddress","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"withdrawStuckETH","inputs":[{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"withdrawStuckTokens","inputs":[{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"getTradingStatus","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"toggleSwapEnabled","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"manualSwap","inputs":[],"outputs":[]}]

3461259357600060125560016014556000601355670de0b6b3a7640000604052735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f606052737a250d5630b4cf539739df2c5dacb4c659f2488d608052606051600e55608051600f55606051600c55608051600d55600d5463ad5c464860c052602060c0600460dc845afa61008c573d600060003e3d6000fd5b60203d106125935760c0518060a01c612593576101005261010090505160a052600c5463c9c6539660e052306101005260a05161012052602060e0604460fc6000855af16100df573d600060003e3d6000fd5b60203d106125935760e0518060a01c612593576101405261014090505160c05260c051600b557fb14a725aeeb25d591b81b16b4c5b25403dd8867bdd1876fa787867f566206be160c05160e052602060e0a1662386f26fc10000601055662386f26fc10000601155662386f26fc100006015553360e052604051600060e05160205260005260406000205560e051600355730f868135056690109ad9c792bde4374cfe755b00600a556101f46006556101f46008556101f46007556101f460095560e05160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef604051610100526020610100a36123ad6101e5610000396123ad610000f36003361161000c57611482565b60003560e01c630a0fd01c811861003c576004361061239b573461239b5760105460405260115460605260406040f35b631a46f23f8118610276576044361061239b573461239b576003543318156100df5760216040527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6060527f6e0000000000000000000000000000000000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600435156100f357606460043511156100f6565b60005b61017b5760366040527f4e6577207472616e73616374696f6e2070657263656e746167652073686f756c6060527f64206265206265747765656e203120616e64203130300000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b6024351561018f5760646024351115610192565b60005b6102175760316040527f4e65772077616c6c65742070657263656e746167652073686f756c64206265206060527f6265747765656e203120616e642031303000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600435670de0b6b3a7640000810281670de0b6b3a764000082041861239b579050606481049050601055602435670de0b6b3a7640000810281670de0b6b3a764000082041861239b579050606481049050601155600160405260206040f35b63751039fc811861033c576004361061239b573461239b576003543318156103195760216040527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6060527f6e0000000000000000000000000000000000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b670de0b6b3a7640000601155670de0b6b3a7640000601055600160405260206040f35b63c3f4f54f811861036e576004361061239b573461239b57600061dead60205260005260406000205460405260206040f35b632b112e4981186103bc576004361061239b573461239b57600061dead60205260005260406000205480670de0b6b3a764000003670de0b6b3a7640000811161239b57905060405260206040f35b639d73c34981186104c0576044361061239b573461239b5760035433181561043b5760206040527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b601254156104a057601a6040527f54726164696e6720697320616c726561647920656e61626c656400000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600435600655602435600855426002556001601255600160405260206040f35b63893d20e881186104e4576004361061239b573461239b5760035460405260206040f35b6306fdde038118610571576004361061239b573461239b57602080608052600a6040527f5679706572204275726e0000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6395d89b4181186105fe576004361061239b573461239b5760208060805260026040527f766200000000000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b63313ce5678118610621576004361061239b573461239b57600960405260206040f35b6318160ddd811861064b576004361061239b573461239b57670de0b6b3a764000060405260206040f35b6370a08231811861068b576024361061239b576004358060a01c61239b576040523461239b57600060405160205260005260406000205460605260206060f35b63a9059cbb81186106db576044361061239b576004358060a01c61239b57610360523461239b5733610220526103605161024052602435610260526106ce611def565b6001610380526020610380f35b63dd62ed3e811861073a576044361061239b576004358060a01c61239b576040526024358060a01c61239b576060523461239b576001604051602052600052604060002080606051602052600052604060002090505460805260206080f35b63095ea7b38118610794576044361061239b576004358060a01c61239b5760e0523461239b5733610100526101005160405260e051606052602435608052610783610120611581565b610120506001610120526020610120f35b6323b872dd81186108c0576064361061239b576004358060a01c61239b57610360526024358060a01c61239b57610380523461239b5761036051610220526103805161024052604435610260526107e9611def565b6001610360516020526000526040600020803360205260005260406000209050546103a0526044356103a05110156108815760146103c0527f5472616e73666572203e20616c6c6f77616e63650000000000000000000000006103e0526103c0506103c051806103e001601f826000031636823750506308c379a06103805260206103a052601f19601f6103c051011660440161039cfd5b61036051604052336060526103a05160443580820382811161239b57905090506080526108af6103c0611581565b6103c05060016103c05260206103c0f35b63395093518118610940576044361061239b576004358060a01c61239b5760e0523461239b573360405260e05160605260013360205260005260406000208060e051602052600052604060002090505460243580820182811061239b579050905060805261092f610100611581565b610100506001610100526020610100f35b63a457c2d78118610a39576044361061239b576004358060a01c61239b5760e0523461239b5760013360205260005260406000208060e0516020526000526040600020905054610100526024356101005110156109fb57600c610120527f3c3020616c6c6f77616e636500000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b3360405260e0516060526101005160243580820382811161239b5790509050608052610a28610120611581565b610120506001610120526020610120f35b62d2eef28118610d84576084361061239b573461239b57336040526003546040511815610ae15760246060527f4f6e6c7920746865206f776e65722063616e20736574207468652074617820726080527f617465730000000000000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006004351015610af3576000610afc565b61271060043511155b610b815760266060527f4275726e207261746520627579206d757374206265206265747765656e2031206080527f746f20313030000000000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006024351015610b93576000610b9c565b61271060243511155b610c215760296060527f44657620746178207261746520627579206d757374206265206265747765656e6080527f203120746f20313030000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006044351015610c33576000610c3c565b61271060443511155b610cc15760276060527f4275726e20726174652073656c6c206d757374206265206265747765656e20316080527f20746f203130300000000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006064351015610cd3576000610cdc565b61271060643511155b610d6157602a6060527f4465762074617820726174652073656c6c206d757374206265206265747765656080527f6e203120746f203130300000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b600435600655602435600855604435600755606435600955600160605260206060f35b63efa4af4c8118610e1f576004361061239b573461239b57336040526003546040511815610e095760206060527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6000600655600060075560006008556000600955005b63b8a7d1088118610e91576004361061239b573461239b5760065460085480820182811061239b579050905060405260075460095480820182811061239b579050905060605260065460805260085460a05260405160c05260075460e052600954610100526060516101205260c06080f35b63f2fde38b8118610fe0576024361061239b576004358060a01c61239b576040523461239b57336060526003546060511815610f245760206080527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b604051610fac5760266080527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160a0527f646472657373000000000000000000000000000000000000000000000000000060c0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6040516003547f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006080a3604051600355005b63715018a68118611097576004361061239b573461239b573360405260035460405118156110655760206060527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006003547f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006060a36000600355005b63f4faf11e811861116d576044361061239b576004358060a01c61239b576040526024358060a01c61239b576060523461239b576003543318156111565760256080527f4f6e6c792074686520636f72652063616e2063616c6c20746869732066756e6360a0527f74696f6e2e00000000000000000000000000000000000000000000000000000060c0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b604051600e55606051600f55600160805260206080f35b63af1e740c8118611191576004361061239b573461239b57600b5460405260206040f35b632f1f0bcc81186111f9576024361061239b573461239b576000600060006000600435600a546000f11561239b57600a547fda403f75cc7f7f31b9adfbd71f3af987fa857744334265f70c78e23b631a010060043560405260206040a2600160405260206040f35b63bd61f0a681186112af576044361061239b576004358060a01c61239b576040523461239b5760405160605260605163a9059cbb608052600a5460a05260243560c052602060806044609c6000855af1611258573d600060003e3d6000fd5b60203d1061239b576080518060011c61239b5760e05260e05050600a546040517f0e191ee1e354192688af5ec7da0cc3d7f54ecb056e6418d42e73ddc4c37d363760243560805260206080a3600160805260206080f35b63a1305aa581186112d3576004361061239b573461239b5760125460405260206040f35b635ef46022811861137f576004361061239b573461239b576003543318156113765760266040527f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6060527f6374696f6e2e000000000000000000000000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60145415601455005b6351bc3c858118611480576004361061239b573461239b57336102205260035461022051186113af5760016113b9565b600a546102205118155b61144857602d610240527f4f6e6c7920746865206f776e6572206f72206465762063616e2063616c6c2074610260527f6869732066756e6374696f6e2e000000000000000000000000000000000000006102805261024050610240518061026001601f826000031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b60003060205260005260406000205461024052601554610240511061146f57601554610240525b6102405160e05261147e6116a7565b005b505b005b600060405160205260005260406000205460a05260805160a051101561150157601860c0527f5472616e7366657220657863656564732062616c616e6365000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60006040516020526000526040600020805460805180820382811161239b579050905081555060006060516020526000526040600020805460805180820182811061239b57905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160c052602060c0a3565b6040516115e557601160a0527f417070726f76652066726f6d207a65726f00000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b60605161164957601160a0527f417070726f76652066726f6d207a65726f00000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b608051600160405160205260005260406000208060605160205260005260406000209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a36001815250565b60135415611712576015610100527f5265656e7472616e63792070726f74656374696f6e00000000000000000000006101205261010050610100518061012001601f826000031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b60016013553061010052600d5463ad5c4648610140526020610140600461015c845afa611744573d600060003e3d6000fd5b60203d1061239b57610140518060a01c61239b57610180526101809050516101205230604052600f5460605260003060205260005260406000205460805261178d610140611581565b61014050600d54637dd067486101405260e05161016052600061018052610100516101a052610120516101c052306101e0524261020052803b1561239b57600061014060c461015c6000855af16117e9573d600060003e3d6000fd5b506000601355565b6000600060006000604051600a546000f11561239b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506004546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b5790501315611958576402540be4006080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506004546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b579050056119f5565b6402540be4006402540be3ff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506004546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b57905003055b6000811261239b5760a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506005546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b5790501315611b4f576402540be4006080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506005546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b57905005611bec565b6402540be4006402540be3ff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506005546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b57905003055b6000811261239b5760c05260805160a05180820382811161239b579050905060c05180820382811161239b579050905060e05260e05160a05180820182811061239b579050905060c05180820182811061239b579050905061010052600b5460605118611c6057600f546040511415611c63565b60005b15611ce7576101005160006040516020526000526040600020541015611ce7576014610120527f496e73756666696369656e742042616c616e63650000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b6000604051602052600052604060002080546101005180820382811161239b5790509050815550600061dead6020526000526040600020805460a05180820182811061239b579050905081555060c05115611d93576000306020526000526040600020805460c05180820182811061239b5790509050815550306040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60c051610120526020610120a35b60006060516020526000526040600020805460e05180820182811061239b57905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a3565b61022051611e5d576012610280527f5472616e736665722066726f6d207a65726f00000000000000000000000000006102a0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b61024051611ecb576010610280527f5472616e7366657220746f207a65726f000000000000000000000000000000006102a0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b61026051611f5e576022610280527f416d6f756e742073686f756c642062652067726561746572207468616e207a656102a0527f726f0000000000000000000000000000000000000000000000000000000000006102c0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b601254611f86576003546102205118611f78576001611f89565b600354610240511815611f89565b60015b611ff3576013610280527f54726164696e67206e6f7420656e61626c6564000000000000000000000000006102a0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b610220516003548114612009573081141561200c565b60005b9050612019576000612043565b61024051600354811461202f5730811415612032565b60005b905061203f576000612043565b6012545b6102805261024051600354811461208d5730811461208657600f54811461207f57600b5481146120785761dead811415612090565b6000612090565b6000612090565b6000612090565b60005b90501561214f576011546000610240516020526000526040600020546102605180820182811061239b5790509050111561214f5760316102c0527f526563697069656e742077616c6c65742062616c616e636520657863656564736102e0527f206d61782077616c6c6574206c696d6974000000000000000000000000000000610300526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b61022051600354811461217757600b54811461217057600f5481141561217a565b600061217a565b60005b905015612219576010546102605111156122195760306102c0527f5472616e73616374696f6e20616d6f756e742065786365656473206d617820746102e0527f72616e73616374696f6e206c696d697400000000000000000000000000000000610300526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b61028051612246576102205160405261024051606052610260516080526123996114845661239956612270565b600b54610240511861226357600754600455600954600555612270565b6006546004556008546005555b6000306020526000526040600020546102a0526015546102a05110156102c0526015546102a051106122a4576015546102a0525b6102c0516122b35760006122e7565b6013546122e457600b5461024051186122dd576014546122d45760006122e7565b610280516122e7565b60006122e7565b60005b1561237c57610260516102a0518082811882841002189050905060e05261230c6116a7565b6000600d5463ad5c4648610300526020610300600461031c845afa612336573d600060003e3d6000fd5b60203d1061239b57610300518060a01c61239b57610340526103409050516020526000526040600020546102e0526102e0511561237c576102e05160405261237c6117f1565b610220516040526102405160605261026051608052612399611809565b565b600080fda165767970657283000307000b005b600080fd

Deployed Bytecode

0x6003361161000c57611482565b60003560e01c630a0fd01c811861003c576004361061239b573461239b5760105460405260115460605260406040f35b631a46f23f8118610276576044361061239b573461239b576003543318156100df5760216040527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6060527f6e0000000000000000000000000000000000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600435156100f357606460043511156100f6565b60005b61017b5760366040527f4e6577207472616e73616374696f6e2070657263656e746167652073686f756c6060527f64206265206265747765656e203120616e64203130300000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b6024351561018f5760646024351115610192565b60005b6102175760316040527f4e65772077616c6c65742070657263656e746167652073686f756c64206265206060527f6265747765656e203120616e642031303000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600435670de0b6b3a7640000810281670de0b6b3a764000082041861239b579050606481049050601055602435670de0b6b3a7640000810281670de0b6b3a764000082041861239b579050606481049050601155600160405260206040f35b63751039fc811861033c576004361061239b573461239b576003543318156103195760216040527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6060527f6e0000000000000000000000000000000000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b670de0b6b3a7640000601155670de0b6b3a7640000601055600160405260206040f35b63c3f4f54f811861036e576004361061239b573461239b57600061dead60205260005260406000205460405260206040f35b632b112e4981186103bc576004361061239b573461239b57600061dead60205260005260406000205480670de0b6b3a764000003670de0b6b3a7640000811161239b57905060405260206040f35b639d73c34981186104c0576044361061239b573461239b5760035433181561043b5760206040527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b601254156104a057601a6040527f54726164696e6720697320616c726561647920656e61626c656400000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600435600655602435600855426002556001601255600160405260206040f35b63893d20e881186104e4576004361061239b573461239b5760035460405260206040f35b6306fdde038118610571576004361061239b573461239b57602080608052600a6040527f5679706572204275726e0000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6395d89b4181186105fe576004361061239b573461239b5760208060805260026040527f766200000000000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b63313ce5678118610621576004361061239b573461239b57600960405260206040f35b6318160ddd811861064b576004361061239b573461239b57670de0b6b3a764000060405260206040f35b6370a08231811861068b576024361061239b576004358060a01c61239b576040523461239b57600060405160205260005260406000205460605260206060f35b63a9059cbb81186106db576044361061239b576004358060a01c61239b57610360523461239b5733610220526103605161024052602435610260526106ce611def565b6001610380526020610380f35b63dd62ed3e811861073a576044361061239b576004358060a01c61239b576040526024358060a01c61239b576060523461239b576001604051602052600052604060002080606051602052600052604060002090505460805260206080f35b63095ea7b38118610794576044361061239b576004358060a01c61239b5760e0523461239b5733610100526101005160405260e051606052602435608052610783610120611581565b610120506001610120526020610120f35b6323b872dd81186108c0576064361061239b576004358060a01c61239b57610360526024358060a01c61239b57610380523461239b5761036051610220526103805161024052604435610260526107e9611def565b6001610360516020526000526040600020803360205260005260406000209050546103a0526044356103a05110156108815760146103c0527f5472616e73666572203e20616c6c6f77616e63650000000000000000000000006103e0526103c0506103c051806103e001601f826000031636823750506308c379a06103805260206103a052601f19601f6103c051011660440161039cfd5b61036051604052336060526103a05160443580820382811161239b57905090506080526108af6103c0611581565b6103c05060016103c05260206103c0f35b63395093518118610940576044361061239b576004358060a01c61239b5760e0523461239b573360405260e05160605260013360205260005260406000208060e051602052600052604060002090505460243580820182811061239b579050905060805261092f610100611581565b610100506001610100526020610100f35b63a457c2d78118610a39576044361061239b576004358060a01c61239b5760e0523461239b5760013360205260005260406000208060e0516020526000526040600020905054610100526024356101005110156109fb57600c610120527f3c3020616c6c6f77616e636500000000000000000000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b3360405260e0516060526101005160243580820382811161239b5790509050608052610a28610120611581565b610120506001610120526020610120f35b62d2eef28118610d84576084361061239b573461239b57336040526003546040511815610ae15760246060527f4f6e6c7920746865206f776e65722063616e20736574207468652074617820726080527f617465730000000000000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006004351015610af3576000610afc565b61271060043511155b610b815760266060527f4275726e207261746520627579206d757374206265206265747765656e2031206080527f746f20313030000000000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006024351015610b93576000610b9c565b61271060243511155b610c215760296060527f44657620746178207261746520627579206d757374206265206265747765656e6080527f203120746f20313030000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006044351015610c33576000610c3c565b61271060443511155b610cc15760276060527f4275726e20726174652073656c6c206d757374206265206265747765656e20316080527f20746f203130300000000000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006064351015610cd3576000610cdc565b61271060643511155b610d6157602a6060527f4465762074617820726174652073656c6c206d757374206265206265747765656080527f6e203120746f203130300000000000000000000000000000000000000000000060a05260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b600435600655602435600855604435600755606435600955600160605260206060f35b63efa4af4c8118610e1f576004361061239b573461239b57336040526003546040511815610e095760206060527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6000600655600060075560006008556000600955005b63b8a7d1088118610e91576004361061239b573461239b5760065460085480820182811061239b579050905060405260075460095480820182811061239b579050905060605260065460805260085460a05260405160c05260075460e052600954610100526060516101205260c06080f35b63f2fde38b8118610fe0576024361061239b576004358060a01c61239b576040523461239b57336060526003546060511815610f245760206080527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b604051610fac5760266080527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160a0527f646472657373000000000000000000000000000000000000000000000000000060c0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6040516003547f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006080a3604051600355005b63715018a68118611097576004361061239b573461239b573360405260035460405118156110655760206060527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60006003547f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006060a36000600355005b63f4faf11e811861116d576044361061239b576004358060a01c61239b576040526024358060a01c61239b576060523461239b576003543318156111565760256080527f4f6e6c792074686520636f72652063616e2063616c6c20746869732066756e6360a0527f74696f6e2e00000000000000000000000000000000000000000000000000000060c0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b604051600e55606051600f55600160805260206080f35b63af1e740c8118611191576004361061239b573461239b57600b5460405260206040f35b632f1f0bcc81186111f9576024361061239b573461239b576000600060006000600435600a546000f11561239b57600a547fda403f75cc7f7f31b9adfbd71f3af987fa857744334265f70c78e23b631a010060043560405260206040a2600160405260206040f35b63bd61f0a681186112af576044361061239b576004358060a01c61239b576040523461239b5760405160605260605163a9059cbb608052600a5460a05260243560c052602060806044609c6000855af1611258573d600060003e3d6000fd5b60203d1061239b576080518060011c61239b5760e05260e05050600a546040517f0e191ee1e354192688af5ec7da0cc3d7f54ecb056e6418d42e73ddc4c37d363760243560805260206080a3600160805260206080f35b63a1305aa581186112d3576004361061239b573461239b5760125460405260206040f35b635ef46022811861137f576004361061239b573461239b576003543318156113765760266040527f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6060527f6374696f6e2e000000000000000000000000000000000000000000000000000060805260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b60145415601455005b6351bc3c858118611480576004361061239b573461239b57336102205260035461022051186113af5760016113b9565b600a546102205118155b61144857602d610240527f4f6e6c7920746865206f776e6572206f72206465762063616e2063616c6c2074610260527f6869732066756e6374696f6e2e000000000000000000000000000000000000006102805261024050610240518061026001601f826000031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b60003060205260005260406000205461024052601554610240511061146f57601554610240525b6102405160e05261147e6116a7565b005b505b005b600060405160205260005260406000205460a05260805160a051101561150157601860c0527f5472616e7366657220657863656564732062616c616e6365000000000000000060e05260c05060c0518060e001601f826000031636823750506308c379a0608052602060a052601f19601f60c0510116604401609cfd5b60006040516020526000526040600020805460805180820382811161239b579050905081555060006060516020526000526040600020805460805180820182811061239b57905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160c052602060c0a3565b6040516115e557601160a0527f417070726f76652066726f6d207a65726f00000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b60605161164957601160a0527f417070726f76652066726f6d207a65726f00000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b608051600160405160205260005260406000208060605160205260005260406000209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a36001815250565b60135415611712576015610100527f5265656e7472616e63792070726f74656374696f6e00000000000000000000006101205261010050610100518061012001601f826000031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b60016013553061010052600d5463ad5c4648610140526020610140600461015c845afa611744573d600060003e3d6000fd5b60203d1061239b57610140518060a01c61239b57610180526101809050516101205230604052600f5460605260003060205260005260406000205460805261178d610140611581565b61014050600d54637dd067486101405260e05161016052600061018052610100516101a052610120516101c052306101e0524261020052803b1561239b57600061014060c461015c6000855af16117e9573d600060003e3d6000fd5b506000601355565b6000600060006000604051600a546000f11561239b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506004546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b5790501315611958576402540be4006080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506004546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b579050056119f5565b6402540be4006402540be3ff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506004546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b57905003055b6000811261239b5760a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506005546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b5790501315611b4f576402540be4006080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506005546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b57905005611bec565b6402540be4006402540be3ff6080516402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b57810290506005546402540be4007036f9bfb3af7b756fad5cd10396a21346cb821161239b578102905080820281158383830514171561239b576402540be40081058060140b811861239b57905090509050655af3107a40006402540be4008202058060140b811861239b57905003055b6000811261239b5760c05260805160a05180820382811161239b579050905060c05180820382811161239b579050905060e05260e05160a05180820182811061239b579050905060c05180820182811061239b579050905061010052600b5460605118611c6057600f546040511415611c63565b60005b15611ce7576101005160006040516020526000526040600020541015611ce7576014610120527f496e73756666696369656e742042616c616e63650000000000000000000000006101405261012050610120518061014001601f826000031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b6000604051602052600052604060002080546101005180820382811161239b5790509050815550600061dead6020526000526040600020805460a05180820182811061239b579050905081555060c05115611d93576000306020526000526040600020805460c05180820182811061239b5790509050815550306040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60c051610120526020610120a35b60006060516020526000526040600020805460e05180820182811061239b57905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a3565b61022051611e5d576012610280527f5472616e736665722066726f6d207a65726f00000000000000000000000000006102a0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b61024051611ecb576010610280527f5472616e7366657220746f207a65726f000000000000000000000000000000006102a0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b61026051611f5e576022610280527f416d6f756e742073686f756c642062652067726561746572207468616e207a656102a0527f726f0000000000000000000000000000000000000000000000000000000000006102c0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b601254611f86576003546102205118611f78576001611f89565b600354610240511815611f89565b60015b611ff3576013610280527f54726164696e67206e6f7420656e61626c6564000000000000000000000000006102a0526102805061028051806102a001601f826000031636823750506308c379a061024052602061026052601f19601f61028051011660440161025cfd5b610220516003548114612009573081141561200c565b60005b9050612019576000612043565b61024051600354811461202f5730811415612032565b60005b905061203f576000612043565b6012545b6102805261024051600354811461208d5730811461208657600f54811461207f57600b5481146120785761dead811415612090565b6000612090565b6000612090565b6000612090565b60005b90501561214f576011546000610240516020526000526040600020546102605180820182811061239b5790509050111561214f5760316102c0527f526563697069656e742077616c6c65742062616c616e636520657863656564736102e0527f206d61782077616c6c6574206c696d6974000000000000000000000000000000610300526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b61022051600354811461217757600b54811461217057600f5481141561217a565b600061217a565b60005b905015612219576010546102605111156122195760306102c0527f5472616e73616374696f6e20616d6f756e742065786365656473206d617820746102e0527f72616e73616374696f6e206c696d697400000000000000000000000000000000610300526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b61028051612246576102205160405261024051606052610260516080526123996114845661239956612270565b600b54610240511861226357600754600455600954600555612270565b6006546004556008546005555b6000306020526000526040600020546102a0526015546102a05110156102c0526015546102a051106122a4576015546102a0525b6102c0516122b35760006122e7565b6013546122e457600b5461024051186122dd576014546122d45760006122e7565b610280516122e7565b60006122e7565b60005b1561237c57610260516102a0518082811882841002189050905060e05261230c6116a7565b6000600d5463ad5c4648610300526020610300600461031c845afa612336573d600060003e3d6000fd5b60203d1061239b57610300518060a01c61239b57610340526103409050516020526000526040600020546102e0526102e0511561237c576102e05160405261237c6117f1565b610220516040526102405160605261026051608052612399611809565b565b600080fda165767970657283000307000b

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.