ETH Price: $3,663.91 (+0.66%)

Contract

0xDe07f45688cb6CfAaC398c1485860e186D55996D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

unagii_ETH_v2 (uETHv2) (@$4,063.66)

Multichain Info

No addresses found
Age:7D
Reset Filter

Transaction Hash
Method
Block
From
To

There are no matching entries

Update your filters to view other 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 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

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.