ETH Price: $3,613.66 (+0.98%)

Contract

0xDe07f45688cb6CfAaC398c1485860e186D55996D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

unagii_ETH_v2 (uETHv2) (@$3,993.60)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve155019752022-09-09 9:18:14816 days ago1662715094IN
unagii.com: uETHv2 Token
0 ETH0.0006483614
Approve152941822022-08-07 8:51:15849 days ago1659862275IN
unagii.com: uETHv2 Token
0 ETH0.000357057.76210515
Transfer138802662021-12-26 10:30:101073 days ago1640514610IN
unagii.com: uETHv2 Token
0 ETH0.001791445.07013042
Transfer138802182021-12-26 10:19:021073 days ago1640513942IN
unagii.com: uETHv2 Token
0 ETH0.0042004253.35702647
Transfer135865032021-11-10 4:57:221119 days ago1636520242IN
unagii.com: uETHv2 Token
0 ETH0.00954828168
Transfer135574342021-11-05 15:39:051123 days ago1636126745IN
unagii.com: uETHv2 Token
0 ETH0.01217586164.68330379
Transfer135115772021-10-29 10:39:001131 days ago1635503940IN
unagii.com: uETHv2 Token
0 ETH0.01158798156.68122326
Transfer135107352021-10-29 7:15:541131 days ago1635491754IN
unagii.com: uETHv2 Token
0 ETH0.01219214164.85008728
Transfer135096362021-10-29 3:06:071131 days ago1635476767IN
unagii.com: uETHv2 Token
0 ETH0.0056918143.20096564
Transfer135096072021-10-29 2:59:101131 days ago1635476350IN
unagii.com: uETHv2 Token
0 ETH0.00756238169.85335429
Transfer134593742021-10-21 6:16:141139 days ago1634796974IN
unagii.com: uETHv2 Token
0 ETH0.0037252350.37711134
Set Next Time Lo...130007752021-08-11 0:46:171210 days ago1628642777IN
unagii.com: uETHv2 Token
0 ETH0.0017761737.87395769
Set Minter130007752021-08-11 0:46:171210 days ago1628642777IN
unagii.com: uETHv2 Token
0 ETH0.0017781437.87395769

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 0x634b0273...9DE50fA1f
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.2.12

Optimization Enabled:
N/A

Other Settings:
GNU AGPLv3 license

Contract Source Code (Vyper language format)

# @version 0.2.12

"""
@title Unagii Token
@author stakewith.us
@license AGPL-3.0-or-later
"""

VERSION: constant(String[28]) = "0.1.1"

from vyper.interfaces import ERC20

implements: ERC20


interface DetailedERC20:
    def name() -> String[42]: view
    def symbol() -> String[20]: view
    # Vyper does not support uint8
    def decimals() -> uint256: view


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


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


event SetNextTimeLock:
    timeLock: address


event AcceptTimeLock:
    timeLock: address


event SetMinter:
    minter: address


name: public(String[64])
symbol: public(String[32])
# Vyper does not support uint8
decimals: public(uint256)
balanceOf: public(HashMap[address, uint256])
allowance: public(HashMap[address, HashMap[address, uint256]])
totalSupply: public(uint256)

# EIP 2612 #
# https://eips.ethereum.org/EIPS/eip-2612
# `nonces` track `permit` approvals with signature.
nonces: public(HashMap[address, uint256])
DOMAIN_SEPARATOR: public(bytes32)
DOMAIN_TYPE_HASH: constant(bytes32) = keccak256(
    "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
)
PERMIT_TYPE_HASH: constant(bytes32) = keccak256(
    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
)

timeLock: public(address)
nextTimeLock: public(address)
minter: public(address)
token: public(ERC20)
# placeholder address used when token ETH
ETH: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
# last block number balance of msg.sender was changed (mint, burn, transfer, transferFrom)
lastBlock: public(HashMap[address, uint256])


@external
def __init__(token: address):
    self.timeLock = msg.sender
    self.token = ERC20(token)

    if token == ETH:
        self.name = "unagii_ETH_v2"
        self.symbol = "uETHv2"
        self.decimals = 18
    else:
        self.name = concat("unagii_", DetailedERC20(token).name(), "_v2")
        self.symbol = concat("u", DetailedERC20(token).symbol(), "v2")
        self.decimals = DetailedERC20(token).decimals()

    self.DOMAIN_SEPARATOR = keccak256(
        concat(
            DOMAIN_TYPE_HASH,
            keccak256(convert("unagii", Bytes[6])),
            keccak256(convert(VERSION, Bytes[28])),
            convert(chain.id, bytes32),
            convert(self, bytes32),
        )
    )


@internal
@view
def _getDomainSeparator() -> bytes32:
    return keccak256(
        concat(
            DOMAIN_TYPE_HASH,
            keccak256(convert("unagii", Bytes[6])),
            keccak256(convert(VERSION, Bytes[28])),
            convert(chain.id, bytes32),
            convert(self, bytes32),
        )
    )


@external
def setName(name: String[42]):
    assert msg.sender == self.timeLock, "!time lock"
    self.name = name


@external
def setSymbol(symbol: String[20]):
    assert msg.sender == self.timeLock, "!time lock"
    self.symbol = symbol


@external
def setNextTimeLock(nextTimeLock: address):
    """
    @notice Set next time lock
    @param nextTimeLock Address of next time lock
    """
    assert msg.sender == self.timeLock, "!time lock"
    # allow next time lock = zero address (cancel next time lock)
    self.nextTimeLock = nextTimeLock
    log SetNextTimeLock(nextTimeLock)


@external
def acceptTimeLock():
    """
    @notice Accept time lock
    @dev Only `nextTimeLock` can claim time lock
    """
    assert msg.sender == self.nextTimeLock, "!next time lock"
    self.timeLock = msg.sender
    self.nextTimeLock = ZERO_ADDRESS
    log AcceptTimeLock(msg.sender)


@external
def setMinter(minter: address):
    """
    @notice Set minter
    @param minter Address of minter
    """
    assert msg.sender == self.timeLock, "!time lock"
    # allow minter = zero address
    self.minter = minter
    log SetMinter(minter)


@internal
def _transfer(_from: address, _to: address, amount: uint256):
    assert _to not in [self, ZERO_ADDRESS], "invalid receiver"

    # track lastest tx
    self.lastBlock[_from] = block.number
    self.lastBlock[_to] = block.number

    self.balanceOf[_from] -= amount
    self.balanceOf[_to] += amount
    log Transfer(_from, _to, amount)


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


@external
def transferFrom(_from: address, _to: address, amount: uint256) -> bool:
    # skip if unlimited approval
    if self.allowance[_from][msg.sender] < MAX_UINT256:
        self.allowance[_from][msg.sender] -= amount
        log Approval(_from, msg.sender, self.allowance[_from][msg.sender])
    self._transfer(_from, _to, amount)
    return True


@external
def approve(spender: address, amount: uint256) -> bool:
    self.allowance[msg.sender][spender] = amount
    log Approval(msg.sender, spender, amount)
    return True


@external
def increaseAllowance(spender: address, amount: uint256) -> bool:
    self.allowance[msg.sender][spender] += amount
    log Approval(msg.sender, spender, self.allowance[msg.sender][spender])
    return True


@external
def decreaseAllowance(spender: address, amount: uint256) -> bool:
    self.allowance[msg.sender][spender] -= amount
    log Approval(msg.sender, spender, self.allowance[msg.sender][spender])
    return True


@internal
@view
def _recover(digest: bytes32, v: uint256, r: bytes32, s: bytes32) -> address: 
    """
    @dev ECDSA signature malleability.
         Code ported from Solidity
         https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.0/contracts/cryptography/ECDSA.sol#L53
    """
    _r: uint256 = convert(r, uint256)
    _s: uint256 = convert(s, uint256)

    # 0x7FF... is intentionally not stored as constant(uint256) so that code is
    # compared with OpenZeppelin's Solidity code
    assert _s <= convert(0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, uint256), "invalid signature s"
    assert v == 27 or v == 28, "invalid signature v"

    return ecrecover(digest, v, _r, _s)


@external
def permit(
    owner: address,
    spender: address,
    amount: uint256,
    deadline: uint256,
    v: uint256,
    r: bytes32,
    s: bytes32,
):
    """
    @notice Approves spender by owner's signature to expend owner's tokens.
            https://eips.ethereum.org/EIPS/eip-2612
    @dev Vyper does not have `uint8`, so replace `v: uint8` with `v: uint256`
    """
    assert owner != ZERO_ADDRESS, "owner = 0 address"
    assert deadline >= block.timestamp, "expired"

    digest: bytes32 = keccak256(
        concat(
            b"\x19\x01",
            self._getDomainSeparator(), # chain id may be different after fork, recompute domain separator
            keccak256(
                concat(
                    PERMIT_TYPE_HASH,
                    convert(owner, bytes32),
                    convert(spender, bytes32),
                    convert(amount, bytes32),
                    convert(self.nonces[owner], bytes32),
                    convert(deadline, bytes32),
                )
            ),
        )
    )

    # owner cannot = ZERO_ADDRESS from check above
    # this will fail if _recover() returns ZERO_ADDRESS
    assert self._recover(digest, v, r, s) == owner, "invalid signature"

    self.nonces[owner] += 1
    self.allowance[owner][spender] = amount
    log Approval(owner, spender, amount)


@external
def mint(_to: address, amount: uint256):
    assert msg.sender == self.minter, "!minter"
    assert _to not in [self, ZERO_ADDRESS], "invalid receiver"

    # track lastest tx
    self.lastBlock[_to] = block.number

    self.totalSupply += amount
    self.balanceOf[_to] += amount
    log Transfer(ZERO_ADDRESS, _to, amount)


@external
def burn(_from: address, amount: uint256):
    assert msg.sender == self.minter, "!minter"
    assert _from != ZERO_ADDRESS, "from = 0"

    # track lastest tx
    self.lastBlock[_from] = block.number

    self.totalSupply -= amount
    self.balanceOf[_from] -= amount
    log Transfer(_from, ZERO_ADDRESS, amount)

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"},{"name":"SetNextTimeLock","inputs":[{"name":"timeLock","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"AcceptTimeLock","inputs":[{"name":"timeLock","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMinter","inputs":[{"name":"minter","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"token","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setName","inputs":[{"name":"name","type":"string"}],"outputs":[],"gas":108313},{"stateMutability":"nonpayable","type":"function","name":"setSymbol","inputs":[{"name":"symbol","type":"string"}],"outputs":[],"gas":73163},{"stateMutability":"nonpayable","type":"function","name":"setNextTimeLock","inputs":[{"name":"nextTimeLock","type":"address"}],"outputs":[],"gas":38981},{"stateMutability":"nonpayable","type":"function","name":"acceptTimeLock","inputs":[],"outputs":[],"gas":58909},{"stateMutability":"nonpayable","type":"function","name":"setMinter","inputs":[{"name":"minter","type":"address"}],"outputs":[],"gas":39041},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":149013},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":193476},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":37941},{"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":42582},{"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":42606},{"stateMutability":"nonpayable","type":"function","name":"permit","inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"deadline","type":"uint256"},{"name":"v","type":"uint256"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"outputs":[],"gas":86176},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[],"gas":115368},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_from","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[],"gas":114962},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":13080},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":10833},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2838},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3083},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3328},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2928},{"stateMutability":"view","type":"function","name":"nonces","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3173},{"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"gas":2988},{"stateMutability":"view","type":"function","name":"timeLock","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":3018},{"stateMutability":"view","type":"function","name":"nextTimeLock","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":3048},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":3078},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":3108},{"stateMutability":"view","type":"function","name":"lastBlock","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3353}]

Deployed Bytecode

0x600436101561000d576110e6565b600035601c52600051341561002157600080fd5b63c47f00278114156100f957604a60043560040161014037602a60043560040135111561004d57600080fd5b6008543314151561009d576308c379a06101c05260206101e052600a610200527f2174696d65206c6f636b00000000000000000000000000000000000000000000610220526102005060646101dcfd5b61014080600060c052602060c020602082510161012060006003818352015b826101205160200211156100cf576100f1565b61012051602002850151610120518501555b81516001018083528114156100bc575b505050505050005b63b84c82468114156101d157603460043560040161014037601460043560040135111561012557600080fd5b60085433141515610175576308c379a06101a05260206101c052600a6101e0527f2174696d65206c6f636b00000000000000000000000000000000000000000000610200526101e05060646101bcfd5b61014080600160c052602060c020602082510161012060006002818352015b826101205160200211156101a7576101c9565b61012051602002850151610120518501555b8151600101808352811415610194575b505050505050005b6347a02a448114156102735760043560a01c156101ed57600080fd5b6008543314151561023d576308c379a061014052602061016052600a610180527f2174696d65206c6f636b000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600435600955600435610140527f5c06d5a6f95a574bb95a214c88933831c63fcd6f6c5d1d61a21efb92be19bc2c6020610140a1005b631e39831e81141561030657600954331415156102cf576308c379a061014052602061016052600f610180527f216e6578742074696d65206c6f636b00000000000000000000000000000000006101a05261018050606461015cfd5b33600855600060095533610140527f77b69635186d51fb2d031f67a7995795c8384acb800219c7d30861125d154f026020610140a1005b63fca3b5aa8114156103a85760043560a01c1561032257600080fd5b60085433141515610372576308c379a061014052602061016052600a610180527f2174696d65206c6f636b000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600435600a55600435610140527fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c6020610140a1005b63a9059cbb8114156103fa5760043560a01c156103c457600080fd5b33610140526004356101605260243561018052610180516101605161014051600658016111ed565b600050600160005260206000f35b6323b872dd8114156105275760043560a01c1561041657600080fd5b60243560a01c1561042657600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460043560e05260c052604060c0203360e05260c052604060c0205410156104ef57600460043560e05260c052604060c0203360e05260c052604060c02080546044358082101561049857600080fd5b80820390509050815550600460043560e05260c052604060c0203360e05260c052604060c0205461014052336004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a35b600435610140526024356101605260443561018052610180516101605161014051600658016111ed565b600050600160005260206000f35b63095ea7b38114156105a05760043560a01c1561054357600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b633950935181141561064d5760043560a01c156105bc57600080fd5b60043360e05260c052604060c02060043560e05260c052604060c02080546024358181830110156105ec57600080fd5b8082019050905081555060043360e05260c052604060c02060043560e05260c052604060c0205461014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b63a457c2d78114156106f85760043560a01c1561066957600080fd5b60043360e05260c052604060c02060043560e05260c052604060c02080546024358082101561069757600080fd5b8082039050905081555060043360e05260c052604060c02060043560e05260c052604060c0205461014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b6312d7a2bc811415610b0b5760043560a01c1561071457600080fd5b60243560a01c1561072457600080fd5b600060043514151515610776576308c379a0610140526020610160526011610180527f6f776e6572203d203020616464726573730000000000000000000000000000006101a05261018050606461015cfd5b42606435101515156107c7576308c379a0610140526020610160526007610180527f65787069726564000000000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60006002610480527f19010000000000000000000000000000000000000000000000000000000000006104a05261048060028060208461070001018260208501600060045af15050805182019150506101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a0516103c0516103e05161040051610420516104405161046051610480516104a0516104c051600658016110ec565b6104e0526104c0526104a05261048052610460526104405261042052610400526103e0526103c0526103a05261038052610360526103405261032052610300526102e0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526104e05160208261070001015260208101905060007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9602082610600010152602081019050600435602082610600010152602081019050602435602082610600010152602081019050604435602082610600010152602081019050600660043560e05260c052604060c020546020826106000101526020810190506064356020826106000101526020810190508061060052610600905080516020820120905060208261070001015260208101905080610700526107009050805160208201209050610140526004356101405161014051610160526084356101805260a4356101a05260c4356101c0526101c0516101a051610180516101605160065801611360565b610220526101405261022051141515610a86576308c379a0610240526020610260526011610280527f696e76616c6964207369676e61747572650000000000000000000000000000006102a05261028050606461025cfd5b600660043560e05260c052604060c02080546001818183011015610aa957600080fd5b80820190509050815550604435600460043560e05260c052604060c02060243560e05260c052604060c02055604435610160526024356004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610160a3005b6340c10f19811415610cad5760043560a01c15610b2757600080fd5b600a5433141515610b77576308c379a0610140526020610160526007610180527f216d696e746572000000000000000000000000000000000000000000000000006101a05261018050606461015cfd5b306101605260006101805260006101405261014061012060006002818352015b6101205160200261016001516004351415610bb55760018352610bc5565b8151600101808352811415610b97575b50505061014051151515610c18576308c379a06101a05260206101c05260106101e0527f696e76616c696420726563656976657200000000000000000000000000000000610200526101e05060646101bcfd5b43600c60043560e05260c052604060c0205560058054602435818183011015610c4057600080fd5b80820190509050815550600360043560e05260c052604060c0208054602435818183011015610c6e57600080fd5b808201905090508155506024356101405260043560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3005b639dc29fac811415610dfc5760043560a01c15610cc957600080fd5b600a5433141515610d19576308c379a0610140526020610160526007610180527f216d696e746572000000000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600060043514151515610d6b576308c379a0610140526020610160526008610180527f66726f6d203d20300000000000000000000000000000000000000000000000006101a05261018050606461015cfd5b43600c60043560e05260c052604060c020556005805460243580821015610d9157600080fd5b80820390509050815550600360043560e05260c052604060c020805460243580821015610dbd57600080fd5b808203905090508155506024356101405260006004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3005b6306fdde03811415610ea15760008060c052602060c020610180602082540161012060006003818352015b82610120516020021115610e3a57610e5c565b61012051850154610120516020028501525b8151600101808352811415610e27575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6395d89b41811415610f465760018060c052602060c020610180602082540161012060006002818352015b82610120516020021115610edf57610f01565b61012051850154610120516020028501525b8151600101808352811415610ecc575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63313ce567811415610f5e5760025460005260206000f35b6370a08231811415610f945760043560a01c15610f7a57600080fd5b600360043560e05260c052604060c0205460005260206000f35b63dd62ed3e811415610fe85760043560a01c15610fb057600080fd5b60243560a01c15610fc057600080fd5b600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b6318160ddd8114156110005760055460005260206000f35b637ecebe008114156110365760043560a01c1561101c57600080fd5b600660043560e05260c052604060c0205460005260206000f35b633644e51581141561104e5760075460005260206000f35b63d085835a8114156110665760085460005260206000f35b63b127df8781141561107e5760095460005260206000f35b630754617281141561109657600a5460005260206000f35b63fc0c546a8114156110ae57600b5460005260206000f35b63952ca92c8114156110e45760043560a01c156110ca57600080fd5b600c60043560e05260c052604060c0205460005260206000f35b505b60006000fd5b6101405260007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020826105400101526020810190506006610420527f756e6167696900000000000000000000000000000000000000000000000000006104405261042080516020820120905060208261054001015260208101905060056104e0527f302e312e31000000000000000000000000000000000000000000000000000000610500526104e080516020820120905060208261054001015260208101905046602082610540010152602081019050306020826105400101526020810190508061054052610540905080516020820120905060005260005161014051565b6101a052610140526101605261018052306101e05260006102005260006101c0526101c061012060006002818352015b610120516020026101e0015161016051141561123c576001835261124c565b815160010180835281141561121d575b5050506101c05115151561129f576308c379a0610220526020610240526010610260527f696e76616c6964207265636569766572000000000000000000000000000000006102805261026050606461023cfd5b43600c6101405160e05260c052604060c0205543600c6101605160e05260c052604060c0205560036101405160e05260c052604060c020805461018051808210156112e957600080fd5b8082039050905081555060036101605160e05260c052604060c02080546101805181818301101561131957600080fd5b80820190509050815550610180516101c05261016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101c0a36101a051565b6101c0526101405261016052610180526101a052610180516101e0526101a051610200527f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a061020051111515156113f6576308c379a0610220526020610240526013610260527f696e76616c6964207369676e61747572652073000000000000000000000000006102805261026050606461023cfd5b601b610160511415611409576001611411565b601c61016051145b151561145c576308c379a0610220526020610240526013610260527f696e76616c6964207369676e61747572652076000000000000000000000000006102805261026050606461023cfd5b610140516102205261016051610240526101e051610260526102005161028052602060c0608061022060015afa5060c0516000526000516101c05156

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

The automated DeFi yield platform with staking services. All the convenience and none of the hassles for smarter access to DeFi yields.

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.