ETH Price: $3,408.54 (+2.79%)

Contract

0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214377062024-12-19 16:17:354 days ago1734625055IN
Unit Protocol: DUCK Token
0 ETH0.0005415322.60254432
Approve214377062024-12-19 16:17:354 days ago1734625055IN
Unit Protocol: DUCK Token
0 ETH0.0005415322.60254432
Approve214110062024-12-15 22:49:478 days ago1734302987IN
Unit Protocol: DUCK Token
0 ETH0.000237218.22444786
Approve214026582024-12-14 18:51:479 days ago1734202307IN
Unit Protocol: DUCK Token
0 ETH0.000260259.01954313
Transfer213996112024-12-14 8:38:599 days ago1734165539IN
Unit Protocol: DUCK Token
0 ETH0.000231667.88190841
Approve213745642024-12-10 20:42:5913 days ago1733863379IN
Unit Protocol: DUCK Token
0 ETH0.0009894221.53023841
Approve213745102024-12-10 20:32:1113 days ago1733862731IN
Unit Protocol: DUCK Token
0 ETH0.0009838321.41431212
Approve213720162024-12-10 12:10:4713 days ago1733832647IN
Unit Protocol: DUCK Token
0 ETH0.0006267413.55319378
Transfer213611432024-12-08 23:45:1115 days ago1733701511IN
Unit Protocol: DUCK Token
0 ETH0.0005579310.87508794
Transfer213610662024-12-08 23:29:4715 days ago1733700587IN
Unit Protocol: DUCK Token
0 ETH0.000380911.13617662
Approve213603832024-12-08 21:12:2315 days ago1733692343IN
Unit Protocol: DUCK Token
0 ETH0.0005354411.57883715
Approve213519622024-12-07 16:59:4716 days ago1733590787IN
Unit Protocol: DUCK Token
0 ETH0.0004736716.4155696
Approve213493282024-12-07 8:09:1116 days ago1733558951IN
Unit Protocol: DUCK Token
0 ETH0.00042814.83310844
Transfer213486002024-12-07 5:42:1116 days ago1733550131IN
Unit Protocol: DUCK Token
0 ETH0.0007336614.30030659
Approve213351762024-12-05 8:43:1118 days ago1733388191IN
Unit Protocol: DUCK Token
0 ETH0.000975921.13115985
Transfer213108982024-12-01 23:18:2322 days ago1733095103IN
Unit Protocol: DUCK Token
0 ETH0.000718214.00564964
Approve212839942024-11-28 4:55:5926 days ago1732769759IN
Unit Protocol: DUCK Token
0 ETH0.000205028.55716728
Approve212839942024-11-28 4:55:5926 days ago1732769759IN
Unit Protocol: DUCK Token
0 ETH0.000222138.55716728
Approve212839932024-11-28 4:55:4726 days ago1732769747IN
Unit Protocol: DUCK Token
0 ETH0.000196618.20634614
Approve212839922024-11-28 4:55:3526 days ago1732769735IN
Unit Protocol: DUCK Token
0 ETH0.000217919.0952609
Transfer212809452024-11-27 18:42:4726 days ago1732732967IN
Unit Protocol: DUCK Token
0 ETH0.0006319218.48158065
Approve212809442024-11-27 18:42:3526 days ago1732732955IN
Unit Protocol: DUCK Token
0 ETH0.0008190417.81803364
Transfer212797352024-11-27 14:37:4726 days ago1732718267IN
Unit Protocol: DUCK Token
0 ETH0.000815.59701105
Approve212797332024-11-27 14:37:2326 days ago1732718243IN
Unit Protocol: DUCK Token
0 ETH0.0006446214.01999357
Transfer212687692024-11-26 1:54:1128 days ago1732586051IN
Unit Protocol: DUCK Token
0 ETH0.000422038.22607021
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.2.8

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper language format)

# @version 0.2.8
from vyper.interfaces import ERC20

implements: ERC20


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


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


name: public(String[64])
symbol: public(String[32])
decimals: public(uint256)
balanceOf: public(HashMap[address, uint256])
allowances: HashMap[address, HashMap[address, uint256]]
totalSupply: public(uint256)
COL: constant(address) = 0xC76FB75950536d98FA62ea968E1D6B45ffea2A55
DEAD: constant(address) = 0x000000000000000000000000000000000000dEaD
RATIO: constant(uint256) = 100  # 1 DUCK equals 100 COL


@external
def __init__():
    self.name = 'Unit Protocol'
    self.symbol = 'DUCK'
    self.decimals = 18


@external
def quack():
    """
    Migrate and burn COL for DUCK. Quack quack.
    """
    cols: uint256 = ERC20(COL).balanceOf(msg.sender)
    ducks: uint256 = cols / RATIO
    assert ERC20(COL).transferFrom(msg.sender, DEAD, cols)  # dev: not approved
    self.totalSupply += ducks
    self.balanceOf[msg.sender] += ducks
    log Transfer(ZERO_ADDRESS, msg.sender, ducks)


@view
@external
def allowance(owner: address, spender: address) -> uint256:
    return self.allowances[owner][spender]


@external
def transfer(receiver: address, amount: uint256) -> bool:
    assert receiver not in [self, ZERO_ADDRESS]
    self.balanceOf[msg.sender] -= amount
    self.balanceOf[receiver] += amount
    log Transfer(msg.sender, receiver, amount)
    return True


@external
def transferFrom(owner: address, receiver: address, amount: uint256) -> bool:
    assert receiver not in [self, ZERO_ADDRESS]
    self.balanceOf[owner] -= amount
    self.balanceOf[receiver] += amount
    if owner != msg.sender and self.allowances[owner][msg.sender] != MAX_UINT256:
        self.allowances[owner][msg.sender] -= amount
        log Approval(owner, msg.sender, self.allowances[owner][msg.sender])
    log Transfer(owner, receiver, amount)
    return True


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


@external
def burn(amount: uint256):
    self.totalSupply -= amount
    self.balanceOf[msg.sender] -= amount
    log Transfer(msg.sender, ZERO_ADDRESS, amount)

Contract Security Audit

Contract ABI

[{"name":"Transfer","inputs":[{"type":"address","name":"sender","indexed":true},{"type":"address","name":"receiver","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"spender","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"name":"quack","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":75951},{"name":"allowance","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"owner"},{"type":"address","name":"spender"}],"stateMutability":"view","type":"function","gas":1521},{"name":"transfer","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"receiver"},{"type":"uint256","name":"amount"}],"stateMutability":"nonpayable","type":"function","gas":75264},{"name":"transferFrom","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"owner"},{"type":"address","name":"receiver"},{"type":"uint256","name":"amount"}],"stateMutability":"nonpayable","type":"function","gas":115850},{"name":"approve","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"amount"}],"stateMutability":"nonpayable","type":"function","gas":37824},{"name":"burn","outputs":[],"inputs":[{"type":"uint256","name":"amount"}],"stateMutability":"nonpayable","type":"function","gas":74564},{"name":"name","outputs":[{"type":"string","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":7643},{"name":"symbol","outputs":[{"type":"string","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":6696},{"name":"decimals","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1301},{"name":"balanceOf","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1546},{"name":"totalSupply","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1361}]

600d610140527f556e69742050726f746f636f6c000000000000000000000000000000000000006101605261014080600060c052602060c020602082510161012060006002818352015b8261012051602002111561005c5761007e565b61012051602002850151610120518501555b8151600101808352811415610049575b5050505050506004610140527f4455434b000000000000000000000000000000000000000000000000000000006101605261014080600160c052602060c020602082510161012060006002818352015b826101205160200211156100e157610103565b61012051602002850151610120518501555b81516001018083528114156100ce575b50505050505060126002556108cb56341561000a57600080fd5b6004361015610018576107b2565b600035601c526362f1402960005114156101755760206101e060246370a0823161016052336101805261017c73c76fb75950536d98fa62ea968e1d6b45ffea2a555afa61006457600080fd5b601f3d1161007157600080fd5b6000506101e051610140526101405160648082049050905061016052602061024060646323b872dd61018052336101a05261dead6101c052610140516101e05261019c600073c76fb75950536d98fa62ea968e1d6b45ffea2a555af16100d657600080fd5b601f3d116100e357600080fd5b600050610240516100f357600080fd5b600580546101605181818301101561010a57600080fd5b8082019050905081555060033360e05260c052604060c02080546101605181818301101561013757600080fd5b8082019050905081555061016051610180523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610180a3005b63dd62ed3e60005114156101cd5760043560a01c1561019357600080fd5b60243560a01c156101a357600080fd5b600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b63a9059cbb60005114156102e25760043560a01c156101eb57600080fd5b306101605260006101805260006101405261014061012060006002818352015b6101205160200261016001516004351415610229576001835261023a565b5b815160010180835281141561020b575b505050610140511561024b57600080fd5b60033360e05260c052604060c02080546024358082101561026b57600080fd5b80820390509050815550600360043560e05260c052604060c020805460243581818301101561029957600080fd5b8082019050905081555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd60005114156104e75760043560a01c1561030057600080fd5b60243560a01c1561031057600080fd5b306101605260006101805260006101405261014061012060006002818352015b610120516020026101600151602435141561034e576001835261035f565b5b8151600101808352811415610330575b505050610140511561037057600080fd5b600360043560e05260c052604060c02080546044358082101561039257600080fd5b80820390509050815550600360243560e05260c052604060c02080546044358181830110156103c057600080fd5b80820190509050815550336004351815610419577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460043560e05260c052604060c0203360e05260c052604060c02054141561041c565b60005b156104a657600460043560e05260c052604060c0203360e05260c052604060c02080546044358082101561044f57600080fd5b80820390509050815550600460043560e05260c052604060c0203360e05260c052604060c0205461014052336004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a35b604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b360005114156105645760043560a01c1561050557600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6342966c6860005114156105ed57600580546004358082101561058657600080fd5b8082039050905081555060033360e05260c052604060c0208054600435808210156105b057600080fd5b80820390509050815550600435610140526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3005b6306fdde0360005114156106965760008060c052602060c020610180602082540161012060006003818352015b8261012051602002111561062d5761064f565b61012051850154610120516020028501525b815160010180835281141561061a575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b41600051141561073f5760018060c052602060c020610180602082540161012060006002818352015b826101205160200211156106d6576106f8565b61012051850154610120516020028501525b81516001018083528114156106c3575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce567600051141561075b5760025460005260206000f350005b6370a0823160005114156107955760043560a01c1561077957600080fd5b600360043560e05260c052604060c0205460005260206000f350005b6318160ddd60005114156107b15760055460005260206000f350005b5b60006000fd5b6101136108cb036101136000396101136108cb036000f3

Deployed Bytecode

0x341561000a57600080fd5b6004361015610018576107b2565b600035601c526362f1402960005114156101755760206101e060246370a0823161016052336101805261017c73c76fb75950536d98fa62ea968e1d6b45ffea2a555afa61006457600080fd5b601f3d1161007157600080fd5b6000506101e051610140526101405160648082049050905061016052602061024060646323b872dd61018052336101a05261dead6101c052610140516101e05261019c600073c76fb75950536d98fa62ea968e1d6b45ffea2a555af16100d657600080fd5b601f3d116100e357600080fd5b600050610240516100f357600080fd5b600580546101605181818301101561010a57600080fd5b8082019050905081555060033360e05260c052604060c02080546101605181818301101561013757600080fd5b8082019050905081555061016051610180523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610180a3005b63dd62ed3e60005114156101cd5760043560a01c1561019357600080fd5b60243560a01c156101a357600080fd5b600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b63a9059cbb60005114156102e25760043560a01c156101eb57600080fd5b306101605260006101805260006101405261014061012060006002818352015b6101205160200261016001516004351415610229576001835261023a565b5b815160010180835281141561020b575b505050610140511561024b57600080fd5b60033360e05260c052604060c02080546024358082101561026b57600080fd5b80820390509050815550600360043560e05260c052604060c020805460243581818301101561029957600080fd5b8082019050905081555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd60005114156104e75760043560a01c1561030057600080fd5b60243560a01c1561031057600080fd5b306101605260006101805260006101405261014061012060006002818352015b610120516020026101600151602435141561034e576001835261035f565b5b8151600101808352811415610330575b505050610140511561037057600080fd5b600360043560e05260c052604060c02080546044358082101561039257600080fd5b80820390509050815550600360243560e05260c052604060c02080546044358181830110156103c057600080fd5b80820190509050815550336004351815610419577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460043560e05260c052604060c0203360e05260c052604060c02054141561041c565b60005b156104a657600460043560e05260c052604060c0203360e05260c052604060c02080546044358082101561044f57600080fd5b80820390509050815550600460043560e05260c052604060c0203360e05260c052604060c0205461014052336004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a35b604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b360005114156105645760043560a01c1561050557600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6342966c6860005114156105ed57600580546004358082101561058657600080fd5b8082039050905081555060033360e05260c052604060c0208054600435808210156105b057600080fd5b80820390509050815550600435610140526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3005b6306fdde0360005114156106965760008060c052602060c020610180602082540161012060006003818352015b8261012051602002111561062d5761064f565b61012051850154610120516020028501525b815160010180835281141561061a575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b41600051141561073f5760018060c052602060c020610180602082540161012060006002818352015b826101205160200211156106d6576106f8565b61012051850154610120516020028501525b81516001018083528114156106c3575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce567600051141561075b5760025460005260206000f350005b6370a0823160005114156107955760043560a01c1561077957600080fd5b600360043560e05260c052604060c0205460005260206000f350005b6318160ddd60005114156107b15760055460005260206000f350005b5b60006000fd

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

Unit protocol is a decentralized borrowing protocol that allows using a variety of tokens as collateral.

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.