Contract 0xD0660cD418a64a1d44E9214ad8e459324D8157f1 4

Yearn.Finance Token Contract 
 
 
Txn Hash
Method
Block
From
To
Value
0xa5a3a6606c37a94f834b4d28a2ca950deb09d3c5d96c036042dc5a2dacb9c593Approve160638872022-11-27 21:04:231 day 20 hrs ago0x3ec221a25b2dcf5634e4ff0af3b07ea17ae8d002 IN  Yearn: WOOFY Token0 Ether0.00027206 11.34736622
0xf836af149c1cf2637162055a3787ba9ce4e59042a24225c8b8c8e5966fa09d01Approve160580262022-11-27 1:26:592 days 16 hrs ago0x31516ca621cada3dfaec38ed85c831e46ece93e8 IN  Yearn: WOOFY Token0 Ether0.00043608 9.42676823
0xb025ea83bb62926c2a54d1b283b3b80c6cbd967ea87f0c68d7d15ef62627e6edTransfer160381922022-11-24 6:56:595 days 10 hrs ago0xe27fdfd8766caa1e03092fd80ad99a4b955195e6 IN  Yearn: WOOFY Token0 Ether0.00037881 12.83102839
0x3275faca8b921193dd0142335d0028eb40e4b72b164835e14d1908f4fd02bbd2Transfer160381742022-11-24 6:53:235 days 10 hrs ago0x0677be83520878846d927aef4d06586d858035ab IN  Yearn: WOOFY Token0 Ether0.00035075 11.88087936
0xfed71cb24ca632b40138288ecb2d5081312d0330868201ddce20894bb5d24786Approve160370672022-11-24 3:10:475 days 14 hrs ago0xb2f815a20083c2449999384b17dea87b0c5042d2 IN  Yearn: WOOFY Token0 Ether0.0002784 11.61164267
0xa6d00d3d42fc1b276304133e115d85b6f0e23a9821e5a4dc36d1a91642442f38Transfer160367212022-11-24 2:01:355 days 15 hrs agoBitrue IN  Yearn: WOOFY Token0 Ether0.00055942 10.8788553
0x74d91b400a49005470529df889e1e5a49dc4ef9968f61211fb207caf68164a53Approve160258662022-11-22 13:32:357 days 4 hrs ago0xaa9865d088c6d6d3d281fd10543c5c3582a965b7 IN  Yearn: WOOFY Token0 Ether0.0013483629.14758733
0x23f1f28bb1b6ba3e01e21c4e9a11e57558e79e369b66f2885e12e9c8c1e6d0e5Unwoof160249952022-11-22 10:36:357 days 7 hrs agoENS Name tracheopteryx.eth IN  Yearn: WOOFY Token0 Ether0.00078187 12.5840172
0x0439b82f5373ebebad80d107c0521211000d1888205f8bd7cd369fbe18e7d9b5Transfer From160216432022-11-21 23:22:597 days 18 hrs ago0x234ffc9b27e56817e4357d3bf7a71adc09699477 IN  Yearn: WOOFY Token0 Ether0.00071598 13.70575734
0x8b006a5f91f877c5e632a2f230f46e8c796c52a9fc460d02461a346bea98bed1Approve160216422022-11-21 23:22:477 days 18 hrs ago0x3be8289007dc366e91c44e7464b53d4b96af84ef IN  Yearn: WOOFY Token0 Ether0.00061544 13.38035951
0x0f60e9ac50a4a72500c766c9ddf12a24f3886d31e69da1e49e21f047faad2e26Approve160198162022-11-21 17:15:118 days 22 mins ago0xf66f1b87c07f6a65aaba437881c70807cc010119 IN  Yearn: WOOFY Token0 Ether0.00244105 52.76816096
0x23c8d687a7aa6a641e5dfa02a318fc4ad0bce97187c9ae0f986ad0077715a25fUnwoof160130232022-11-20 18:29:478 days 23 hrs ago0x986176df2e9dc6225dfb498d1869aba04893dce1 IN  Yearn: WOOFY Token0 Ether0.0005403812
0x4ddf02f34b616f288fcbc96cc802da7c74b83d2fdd6553859b913223983b32a0Transfer160129782022-11-20 18:20:478 days 23 hrs agoMultichain: Fantom Bridge IN  Yearn: WOOFY Token0 Ether0.0007715915.00143506
0xe64ad5e958a0b6fcadaebd4f4fc2eae57fc5c442ceab6c0208836113bf621585Approve160064842022-11-19 20:35:359 days 21 hrs ago0xa6247631946113a942231f720d6b4ab20f1e2069 IN  Yearn: WOOFY Token0 Ether0.00056944 12.30975349
0xbe4615a3dd95d7088216c4153c6007a58aff79ef55d6da05cf1ad9bd81739921Approve159996182022-11-18 21:35:2310 days 20 hrs ago0x929d438c314c97c365a989d428ab847ef6050022 IN  Yearn: WOOFY Token0 Ether0.00062309 13.46947977
0xf727ab8cd85740ae7e865ae706ed3403e47fd94742ea5b55df05f03b0024599dTransfer159978222022-11-18 15:33:3511 days 2 hrs ago0xecd5238573e1dbb223148a7f4147885ca5841f99 IN  Yearn: WOOFY Token0 Ether0.00045108 13.14235164
0xb6523ace7ddecc2a4d1356c2d01dd7385872a50047929203e549640f728f6e2dApprove159940752022-11-18 3:00:5911 days 14 hrs agoENS Name hodlingape.eth IN  Yearn: WOOFY Token0 Ether0.00062283 13.46369197
0x04ba859e8cfc63c6b970b7d0da4357384590bb805ebf07028ce0ed84173f312aUnwoof159939102022-11-18 2:27:4711 days 15 hrs ago0x11fb093f2805a5918652e53a6f7c2eee64e37178 IN  Yearn: WOOFY Token0 Ether0.00059698 13.2534123
0xe39cd2b98b14f15ae3bdf5134dc51e904e208429ce14367098cc3de474389ac5Approve159865222022-11-17 1:41:1112 days 15 hrs ago0xa49be5be35bb93877754b8d0d5e60c35010ee0a9 IN  Yearn: WOOFY Token0 Ether0.00032961 13.74790487
0x4e91e32df7e52fcf8a051c7c0b03a39ccab7cff871a6b49e1a005ae504182632Approve159758852022-11-15 13:58:5914 days 3 hrs ago0xe90544c745ddba4956eaed0a9c6fd0c6f4a8f546 IN  Yearn: WOOFY Token0 Ether0.00071515 15.45949091
0xa4665f3f05f5927ab911bf542ef3282e42725fec8403513b354817809ebdd0f9Transfer159742732022-11-15 8:33:4714 days 9 hrs agoBitrue IN  Yearn: WOOFY Token0 Ether0.00083519 16.24175382
0x5a988b89bf01aea03e6e8b23e98affd2f52df526e4b09a55972fcabdaffe655fApprove159731952022-11-15 4:57:5914 days 12 hrs ago0x094673da6eb4f5815279428d85e013c05e3cb0eb IN  Yearn: WOOFY Token0 Ether0.00071559 15.46899014
0xafb928620ffe32749c11e424e58dae81a0b403692d861a2d76c0a208071cb610Transfer159678562022-11-14 11:04:3515 days 6 hrs ago0xfabbb97ba6c8cd6a6454dffd082e541cd04b0aea IN  Yearn: WOOFY Token0 Ether0.00032948 13.47152437
0xdaad7390ed93404b8de81b63bfd56d0491ef618b63a1b7d38bc0a1dbbd145596Transfer159678562022-11-14 11:04:3515 days 6 hrs ago0xfabbb97ba6c8cd6a6454dffd082e541cd04b0aea IN  Yearn: WOOFY Token0 Ether0.00032753 13.39169962
0x1e577a2611c17943c6aa1934748673ce89f373320b0f0f4bf1a675cc2c37225dTransfer159678562022-11-14 11:04:3515 days 6 hrs ago0xfabbb97ba6c8cd6a6454dffd082e541cd04b0aea IN  Yearn: WOOFY Token0 Ether0.00062231 13.34429991
[ Download CSV Export 

OVERVIEW

Wuff wuff.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.12

Optimization Enabled:
N/A

Other Settings:
MIT license

Contract Source Code (Vyper language format)

# @version 0.2.12
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


allowance: public(HashMap[address, HashMap[address, uint256]])
balanceOf: public(HashMap[address, uint256])
totalSupply: public(uint256)
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)")

YFI: constant(address) = 0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e


@external
def __init__():
    self.DOMAIN_SEPARATOR = keccak256(
        concat(
            DOMAIN_TYPE_HASH,
            keccak256(convert("Woofy", Bytes[5])),
            keccak256(convert("1", Bytes[1])),
            convert(chain.id, bytes32),
            convert(self, bytes32)
        )
    )


@view
@external
def name() -> String[5]:
    return "Woofy"


@view
@external
def symbol() -> String[5]:
    return "WOOFY"


@view
@external
def decimals() -> uint256:
    return 12


@internal
def _mint(receiver: address, amount: uint256):
    assert not receiver in [self, ZERO_ADDRESS]

    self.balanceOf[receiver] += amount
    self.totalSupply += amount

    log Transfer(ZERO_ADDRESS, receiver, amount)


@internal
def _burn(sender: address, amount: uint256):
    self.balanceOf[sender] -= amount
    self.totalSupply -= amount

    log Transfer(sender, ZERO_ADDRESS, amount)


@internal
def _transfer(sender: address, receiver: address, amount: uint256):
    assert not receiver in [self, ZERO_ADDRESS]

    self.balanceOf[sender] -= amount
    self.balanceOf[receiver] += amount

    log Transfer(sender, receiver, amount)


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


@external
def transferFrom(sender: address, receiver: address, amount: uint256) -> bool:
    self.allowance[sender][msg.sender] -= amount
    self._transfer(sender, receiver, 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 woof(amount: uint256 = MAX_UINT256, receiver: address = msg.sender) -> bool:
    mint_amount: uint256 = min(amount, ERC20(YFI).balanceOf(msg.sender))
    assert ERC20(YFI).transferFrom(msg.sender, self, mint_amount)
    self._mint(receiver, mint_amount)
    return True


@external
def unwoof(amount: uint256 = MAX_UINT256, receiver: address = msg.sender) -> bool:
    burn_amount: uint256 = min(amount, self.balanceOf[msg.sender])
    self._burn(msg.sender, burn_amount)
    assert ERC20(YFI).transfer(receiver, burn_amount)
    return True


@external
def permit(owner: address, spender: address, amount: uint256, expiry: uint256, signature: Bytes[65]) -> bool:
    assert owner != ZERO_ADDRESS  # dev: invalid owner
    assert expiry == 0 or expiry >= block.timestamp  # dev: permit expired
    nonce: uint256 = self.nonces[owner]
    digest: bytes32 = keccak256(
        concat(
            b'\x19\x01',
            self.DOMAIN_SEPARATOR,
            keccak256(
                concat(
                    PERMIT_TYPE_HASH,
                    convert(owner, bytes32),
                    convert(spender, bytes32),
                    convert(amount, bytes32),
                    convert(nonce, bytes32),
                    convert(expiry, bytes32),
                )
            )
        )
    )
    # NOTE: signature is packed as r, s, v
    r: uint256 = convert(slice(signature, 0, 32), uint256)
    s: uint256 = convert(slice(signature, 32, 32), uint256)
    v: uint256 = convert(slice(signature, 64, 1), uint256)
    assert ecrecover(digest, v, r, s) == owner  # dev: invalid signature
    self.allowance[owner][spender] = amount
    self.nonces[owner] = nonce + 1
    log Approval(owner, spender, amount)
    return True

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"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":5916},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":5946},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":348},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":78588},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"sender","type":"address"},{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":116239},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":37881},{"stateMutability":"nonpayable","type":"function","name":"woof","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"woof","inputs":[{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"woof","inputs":[{"name":"amount","type":"uint256"},{"name":"receiver","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"unwoof","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"unwoof","inputs":[{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"unwoof","inputs":[{"name":"amount","type":"uint256"},{"name":"receiver","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"permit","inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"expiry","type":"uint256"},{"name":"signature","type":"bytes"}],"outputs":[{"name":"","type":"bool"}],"gas":91134},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3088},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":2903},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2718},{"stateMutability":"view","type":"function","name":"nonces","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":2963},{"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"gas":2778}]

60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020826105200101526020810190506005610400527f576f6f66790000000000000000000000000000000000000000000000000000006104205261040080516020820120905060208261052001015260208101905060016104c0527f31000000000000000000000000000000000000000000000000000000000000006104e0526104c0805160208201209050602082610520010152602081019050466020826105200101526020810190503060208261052001015260208101905080610520526105209050805160208201209050600455610e5b56600436101561000d57610ac6565b600035601c52600051341561002157600080fd5b6306fdde038114156100b6576005610140527f576f6f6679000000000000000000000000000000000000000000000000000000610160526101408051602001806101e08284600060045af161007557600080fd5b50506101e0518061020001818260206001820306601f820103905003368237505060206101c05260406101e0510160206001820306601f82010390506101c0f35b6395d89b4181141561014b576005610140527f574f4f4659000000000000000000000000000000000000000000000000000000610160526101408051602001806101e08284600060045af161010a57600080fd5b50506101e0518061020001818260206001820306601f820103905003368237505060206101c05260406101e0510160206001820306601f82010390506101c0f35b63313ce56781141561016257600c60005260206000f35b63a9059cbb8114156101b45760043560a01c1561017e57600080fd5b3361014052600435610160526024356101805261018051610160516101405160065801610c58565b600050600160005260206000f35b6323b872dd8114156102505760043560a01c156101d057600080fd5b60243560a01c156101e057600080fd5b600060043560e05260c052604060c0203360e05260c052604060c02080546044358082101561020e57600080fd5b8082039050905081555060043561014052602435610160526044356101805261018051610160516101405160065801610c58565b600050600160005260206000f35b63095ea7b38114156102c95760043560a01c1561026c57600080fd5b60243560003360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b63dc72aa27811415610304577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61014052336101605261035e565b63ab8f90c3811415610325573361016052602060046101403760005061035e565b63398885c881141561035957602060046101403760243560a01c1561034957600080fd5b602060246101603760005061035e565b610471565b61014051602061022060246370a082316101a052336101c0526101bc730bc529c00c6401aef6d220be8c6ea1667f6ad93e5afa61039a57600080fd5b601f3d116103a757600080fd5b60005061022051808211156103bc57806103be565b815b9050905061018052602061026060646323b872dd6101a052336101c052306101e05261018051610200526101bc6000730bc529c00c6401aef6d220be8c6ea1667f6ad93e5af161040d57600080fd5b601f3d1161041a57600080fd5b6000506102605161042a57600080fd5b610140516101605161018051610160516101a052610180516101c0526101c0516101a05160065801610acc565b610180526101605261014052600050600160005260206000f35b63b3bc4d6a8114156104ac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610140523361016052610506565b6335118f748114156104cd5733610160526020600461014037600050610506565b634838083e81141561050157602060046101403760243560a01c156104f157600080fd5b6020602461016037600050610506565b6105d7565b6101405160013360e05260c052604060c02054808211156105275780610529565b815b9050905061018052610140516101605161018051336101a052610180516101c0526101c0516101a05160065801610bc4565b6101805261016052610140526000506020610240604463a9059cbb6101a052610160516101c052610180516101e0526101bc6000730bc529c00c6401aef6d220be8c6ea1667f6ad93e5af16105af57600080fd5b601f3d116105bc57600080fd5b600050610240516105cc57600080fd5b600160005260206000f35b639fd5a6cf8114156109d45760043560a01c156105f357600080fd5b60243560a01c1561060357600080fd5b606160843560040161014037604160843560040135111561062357600080fd5b60006004351861063257600080fd5b6064351515610642576001610649565b4260643510155b61065257600080fd5b600360043560e05260c052604060c020546101e05260006002610520527f19010000000000000000000000000000000000000000000000000000000000006105405261052060028060208461078001018260208501600060045af150508051820191505060045460208261078001015260208101905060007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96020826106800101526020810190506004356020826106800101526020810190506024356020826106800101526020810190506044356020826106800101526020810190506101e0516020826106800101526020810190506064356020826106800101526020810190508061068052610680905080516020820120905060208261078001015260208101905080610780526107809050805160208201209050610200526000602060208206610300016101405182840111156107ac57600080fd5b6041806103208260206020880688030161014001600060045af15050818152809050905090508060200151600082518060209013156107ea57600080fd5b80919012156107f857600080fd5b806020036101000a82049050905090506102205260206020602082066103200161014051828401111561082a57600080fd5b6041806103408260206020880688030161014001600060045af150508181528090509050905080602001516000825180602090131561086857600080fd5b809190121561087657600080fd5b806020036101000a8204905090509050610240526040600160208206610340016101405182840111156108a857600080fd5b6041806103608260206020880688030161014001600060045af15050818152809050905090508060200151600082518060209013156108e657600080fd5b80919012156108f457600080fd5b806020036101000a8204905090509050610260526004356102005161028052610260516102a052610220516102c052610240516102e052602060c0608061028060015afa5060c0511461094657600080fd5b604435600060043560e05260c052604060c02060243560e05260c052604060c020556101e051600181818301101561097d57600080fd5b80820190509050600360043560e05260c052604060c02055604435610280526024356004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610280a3600160005260206000f35b63dd62ed3e811415610a285760043560a01c156109f057600080fd5b60243560a01c15610a0057600080fd5b600060043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b6370a08231811415610a5e5760043560a01c15610a4457600080fd5b600160043560e05260c052604060c0205460005260206000f35b6318160ddd811415610a765760025460005260206000f35b637ecebe00811415610aac5760043560a01c15610a9257600080fd5b600360043560e05260c052604060c0205460005260206000f35b633644e515811415610ac45760045460005260206000f35b505b60006000fd5b610180526101405261016052306101c05260006101e05260006101a0526101a061012060006002818352015b610120516020026101c00151610140511415610b175760018352610b27565b8151600101808352811415610af8575b5050506101a05115610b3857600080fd5b60016101405160e05260c052604060c020805461016051818183011015610b5e57600080fd5b808201905090508155506002805461016051818183011015610b7f57600080fd5b80820190509050815550610160516101a0526101405160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a361018051565b61018052610140526101605260016101405160e05260c052604060c02080546101605180821015610bf457600080fd5b80820390509050815550600280546101605180821015610c1357600080fd5b80820390509050815550610160516101a0526000610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a361018051565b6101a052610140526101605261018052306101e05260006102005260006101c0526101c061012060006002818352015b610120516020026101e00151610160511415610ca75760018352610cb7565b8151600101808352811415610c88575b5050506101c05115610cc857600080fd5b60016101405160e05260c052604060c02080546101805180821015610cec57600080fd5b8082039050905081555060016101605160e05260c052604060c020805461018051818183011015610d1c57600080fd5b80820190509050815550610180516101c05261016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101c0a36101a051565b6100f8610e5b036100f86000396100f8610e5b036000f3

Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.