ETH Price: $2,001.58 (-1.45%)

Contract

0xec378cdd60E890332F7A8CC251315327a4f244B6

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

4 Internal Transactions and > 10 Token Transfers found.

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
1066665482023-07-09 19:44:33619 days ago1688931873
0xec378cdd...7a4f244B6
0 ETH
1066665482023-07-09 19:44:33619 days ago1688931873
0xec378cdd...7a4f244B6
0 ETH
1057758092023-06-19 4:53:15640 days ago1687150395
0xec378cdd...7a4f244B6
0 ETH
1057758092023-06-19 4:53:15640 days ago1687150395
0xec378cdd...7a4f244B6
0 ETH

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.15

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper language format)

# @version 0.2.15
"""
@title Token Treasury
@author Hundred Finance
@license MIT
"""

from vyper.interfaces import ERC20


token: public(address)
minter: public(address)
admin: public(address)

@external
def __init__(_token: address, _admin: address):
    self.token = _token
    self.admin = _admin

@external
@nonpayable
def set_minter(_minter: address):
    assert msg.sender == self.admin # only admin can set minter
    self.minter = _minter

@external
@nonpayable
def set_admin(_admin: address):
    assert msg.sender == self.admin # only admin can set minter
    self.admin = _admin

@external
@nonpayable
def mint(_to: address, _amount: uint256) -> bool:
    assert msg.sender == self.minter or msg.sender == self.admin  # only minter or admin can distribute tokens
    return ERC20(self.token).transfer(_to, _amount)

Contract Security Audit

Contract ABI

API
[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_token","type":"address"},{"name":"_admin","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_minter","inputs":[{"name":"_minter","type":"address"}],"outputs":[],"gas":37545},{"stateMutability":"nonpayable","type":"function","name":"set_admin","inputs":[{"name":"_admin","type":"address"}],"outputs":[],"gas":37575},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":9299},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2478},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2508},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2538}]

604061019261014039602061019260c03960c05160a01c61018d57602060206101920160c03960c05160a01c61018d57610140516000556101605160025561017556600436101561000d57610128565b600035601c526000513461012e57631652e9fc8114156100435760043560a01c61012e5760025433141561012e57600435600155005b63e9333fab81141561006b5760043560a01c61012e5760025433141561012e57600435600255005b6340c10f198114156100de5760043560a01c61012e57600154331415610092576001610098565b60025433145b5b1561012e5760206101e0604463a9059cbb61014052604060046101603761015c60006000545af11561012e57601f3d111561012e576000506101e05160005260206000f35b63fc0c546a8114156100f65760005460005260206000f35b630754617281141561010e5760015460005260206000f35b63f851a4408114156101265760025460005260206000f35b505b60006000fd5b600080fd5b61004261017503610042600039610042610175036000f35b600080fd00000000000000000000000010010078a54396f62c96df8532dc2b4847d47ed3000000000000000000000000641f26c67a5d0829ae61019131093b6a7c7d18a3

Deployed Bytecode

0x600436101561000d57610128565b600035601c526000513461012e57631652e9fc8114156100435760043560a01c61012e5760025433141561012e57600435600155005b63e9333fab81141561006b5760043560a01c61012e5760025433141561012e57600435600255005b6340c10f198114156100de5760043560a01c61012e57600154331415610092576001610098565b60025433145b5b1561012e5760206101e0604463a9059cbb61014052604060046101603761015c60006000545af11561012e57601f3d111561012e576000506101e05160005260206000f35b63fc0c546a8114156100f65760005460005260206000f35b630754617281141561010e5760015460005260206000f35b63f851a4408114156101265760025460005260206000f35b505b60006000fd5b600080fd

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

00000000000000000000000010010078a54396f62c96df8532dc2b4847d47ed3000000000000000000000000641f26c67a5d0829ae61019131093b6a7c7d18a3

-----Decoded View---------------
Arg [0] : _token (address): 0x10010078a54396F62c96dF8532dc2B4847d47ED3
Arg [1] : _admin (address): 0x641f26c67A5D0829Ae61019131093B6a7c7d18a3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000010010078a54396f62c96df8532dc2b4847d47ed3
Arg [1] : 000000000000000000000000641f26c67a5d0829ae61019131093b6a7c7d18a3


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
[ 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.