ETH Price: $3,049.84 (+1.33%)
Gas: 11 Gwei

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
Value
Transfer198844662024-05-16 18:56:4713 hrs ago1715885807IN
Unit Protocol: DUCK Token
0 ETH0.000232044.9897664
Transfer198808182024-05-16 6:42:1125 hrs ago1715841731IN
Unit Protocol: DUCK Token
0 ETH0.000177713.82051934
Approve198795262024-05-16 2:21:5930 hrs ago1715826119IN
Unit Protocol: DUCK Token
0 ETH0.000092643.20814671
Transfer198775612024-05-15 19:46:1136 hrs ago1715802371IN
Unit Protocol: DUCK Token
0 ETH0.0006606212.87658003
Approve198530002024-05-12 9:18:594 days ago1715505539IN
Unit Protocol: DUCK Token
0 ETH0.000175653.82142861
Approve198519812024-05-12 5:53:115 days ago1715493191IN
Unit Protocol: DUCK Token
0 ETH0.000084663.53360116
Approve198451892024-05-11 7:05:476 days ago1715411147IN
Unit Protocol: DUCK Token
0 ETH0.000255385.55437897
Transfer198336092024-05-09 16:13:477 days ago1715271227IN
Unit Protocol: DUCK Token
0 ETH0.0005731511.17179458
Approve198302322024-05-09 4:54:598 days ago1715230499IN
Unit Protocol: DUCK Token
0 ETH0.000165523.57949126
Approve198264522024-05-08 16:12:358 days ago1715184755IN
Unit Protocol: DUCK Token
0 ETH0.000273545.94926376
Approve198203512024-05-07 19:43:359 days ago1715111015IN
Unit Protocol: DUCK Token
0 ETH0.000180426.24766745
Transfer198089372024-05-06 5:23:2311 days ago1714973003IN
Unit Protocol: DUCK Token
0 ETH0.000322336.28283533
Approve197787522024-05-02 0:05:2315 days ago1714608323IN
Unit Protocol: DUCK Token
0 ETH0.000186176.44681192
Transfer197765032024-05-01 16:33:5915 days ago1714581239IN
Unit Protocol: DUCK Token
0 ETH0.0004397712.8575128
Transfer197763072024-05-01 15:54:4715 days ago1714578887IN
Unit Protocol: DUCK Token
0 ETH0.0005736611.18428737
Approve197753652024-05-01 12:45:4715 days ago1714567547IN
Unit Protocol: DUCK Token
0 ETH0.00026349.12105442
Transfer197731462024-05-01 5:19:1116 days ago1714540751IN
Unit Protocol: DUCK Token
0 ETH0.00035796.97612397
Transfer197721112024-05-01 1:50:3516 days ago1714528235IN
Unit Protocol: DUCK Token
0 ETH0.000351316.84764116
Transfer197720362024-05-01 1:35:3516 days ago1714527335IN
Unit Protocol: DUCK Token
0 ETH0.00040657.9234402
Transfer197719762024-05-01 1:23:3516 days ago1714526615IN
Unit Protocol: DUCK Token
0 ETH0.000445258.68087119
Approve197717652024-05-01 0:41:2316 days ago1714524083IN
Unit Protocol: DUCK Token
0 ETH0.000313676.81495682
Transfer197717622024-05-01 0:40:4716 days ago1714524047IN
Unit Protocol: DUCK Token
0 ETH0.000462269.01250395
Transfer197717102024-05-01 0:30:1116 days ago1714523411IN
Unit Protocol: DUCK Token
0 ETH0.000461138.98828967
Transfer197714702024-04-30 23:42:1116 days ago1714520531IN
Unit Protocol: DUCK Token
0 ETH0.000373657.28318511
Transfer197714322024-04-30 23:34:3516 days ago1714520075IN
Unit Protocol: DUCK Token
0 ETH0.000394657.6943244
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:
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.