ETH Price: $3,611.38 (+0.91%)

Contract

0xdFBD4F523Dd7532ff8af2430d9bE36D8D9421825
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw171716262023-05-02 7:31:35581 days ago1683012695IN
0xdFBD4F52...8D9421825
0 ETH0.0027455757.72371246
Withdraw171712862023-05-02 6:22:23581 days ago1683008543IN
0xdFBD4F52...8D9421825
0 ETH0.0024532851.57871052
Withdraw171530322023-04-29 16:49:35583 days ago1682786975IN
0xdFBD4F52...8D9421825
0 ETH0.0019027139.35133648
Withdraw171452212023-04-28 14:28:59584 days ago1682692139IN
0xdFBD4F52...8D9421825
0 ETH0.0018508538.91302928
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015938232.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Deposit171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015776432.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015938232.95487106
Withdraw171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015674632.95487106
Deposit171255272023-04-25 20:03:47587 days ago1682453027IN
0xdFBD4F52...8D9421825
0 ETH0.0015522932.39012089
Deposit171183012023-04-24 19:44:11588 days ago1682365451IN
0xdFBD4F52...8D9421825
0 ETH0.003566345.63816568
Withdraw170205162023-04-10 21:44:47602 days ago1681163087IN
0xdFBD4F52...8D9421825
0 ETH0.0010432221.93310912
Withdraw170171862023-04-10 10:23:35603 days ago1681122215IN
0xdFBD4F52...8D9421825
0 ETH0.0009289319.53013882
Withdraw170169262023-04-10 9:30:47603 days ago1681119047IN
0xdFBD4F52...8D9421825
0 ETH0.000874618.38805271
Withdraw170168712023-04-10 9:19:35603 days ago1681118375IN
0xdFBD4F52...8D9421825
0 ETH0.0010167221.37583971
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.0

interface UniswapV2Pair:
    def sync(): nonpayable

interface Stakable:
    def deposit(_account: address, _amount: uint256) -> bool: nonpayable
    def stake(_reward: uint256) -> bool: nonpayable
    def withdraw(_account: address) -> bool: nonpayable

event CommitOwnership:
    owner: address

event ApplyOwnership:
    owner: address


TOKEN: constant(address) = 0x674C6Ad92Fd080e4004b2312b45f796a192D27a0
MAX_PAIRS_LENGTH: constant(uint256) = 10 ** 3


uniswapPairs: public(address[MAX_PAIRS_LENGTH])
indexByPair: public(HashMap[address, uint256])
lastPairIndex: public(uint256)

author: public(address)
owner: public(address)
futureOwner: public(address)


@external
def __init__():
    self.author = msg.sender
    self.owner = msg.sender


@external
def deposit(_account: address, _amount: uint256) -> bool:
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    return Stakable(TOKEN).deposit(_account, _amount)


@external
def stake(_reward: uint256) -> bool:
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    assert Stakable(TOKEN).stake(_reward)

    _lastPairIndex: uint256 = self.lastPairIndex
    for i in range(1, MAX_PAIRS_LENGTH):
        if i > _lastPairIndex:
            break

        UniswapV2Pair(self.uniswapPairs[i]).sync()

    return True


@external
def withdraw(_account: address) -> bool:
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    return Stakable(TOKEN).withdraw(_account)


@external
def addUniswapPair(_pair: address):
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    assert _pair != ZERO_ADDRESS
    pairIndex: uint256 = self.indexByPair[_pair]
    assert pairIndex == 0, "pair is exist"

    pairIndex = self.lastPairIndex + 1
    self.uniswapPairs[pairIndex] = _pair
    self.indexByPair[_pair] = pairIndex
    self.lastPairIndex = pairIndex


@external
def removeUniswapPair(_pair: address):
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    pairIndex: uint256 = self.indexByPair[_pair]
    assert pairIndex > 0, "pair is not exist"

    recentPairIndex: uint256 = self.lastPairIndex
    lastPair: address = self.uniswapPairs[recentPairIndex]

    self.uniswapPairs[pairIndex] = lastPair
    self.indexByPair[lastPair] = pairIndex
    self.indexByPair[_pair] = 0
    self.lastPairIndex = recentPairIndex - 1


@external
def transferOwnership(_futureOwner: address):
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    self.futureOwner = _futureOwner
    log CommitOwnership(_futureOwner)


@external
def applyOwnership():
    assert msg.sender == self.owner or msg.sender == self.author, "owner only"
    _owner: address = self.futureOwner
    assert _owner != ZERO_ADDRESS, "owner not set"
    self.owner = _owner
    log ApplyOwnership(_owner)

Contract Security Audit

Contract ABI

[{"name":"CommitOwnership","inputs":[{"type":"address","name":"owner","indexed":false}],"anonymous":false,"type":"event"},{"name":"ApplyOwnership","inputs":[{"type":"address","name":"owner","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"name":"deposit","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_account"},{"type":"uint256","name":"_amount"}],"stateMutability":"nonpayable","type":"function","gas":3132},{"name":"stake","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"uint256","name":"_reward"}],"stateMutability":"nonpayable","type":"function","gas":3610746},{"name":"withdraw","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_account"}],"stateMutability":"nonpayable","type":"function","gas":3177},{"name":"addUniswapPair","outputs":[],"inputs":[{"type":"address","name":"_pair"}],"stateMutability":"nonpayable","type":"function","gas":109540},{"name":"removeUniswapPair","outputs":[],"inputs":[{"type":"address","name":"_pair"}],"stateMutability":"nonpayable","type":"function","gas":130509},{"name":"transferOwnership","outputs":[],"inputs":[{"type":"address","name":"_futureOwner"}],"stateMutability":"nonpayable","type":"function","gas":38591},{"name":"applyOwnership","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":39447},{"name":"uniswapPairs","outputs":[{"type":"address","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":1380},{"name":"indexByPair","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1516},{"name":"lastPairIndex","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1331},{"name":"author","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1361},{"name":"owner","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1391},{"name":"futureOwner","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1421}]

33600355336004556108ce56341561000a57600080fd5b6004361015610018576108bc565b600035601c526347e7ef2460005114156101015760043560a01c1561003c57600080fd5b60045433141561004d576001610053565b60035433145b5b151561009f576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60206101e060446347e7ef2461014052600435610160526024356101805261015c600073674c6ad92fd080e4004b2312b45f796a192d27a05af16100e257600080fd5b601f3d116100ef57600080fd5b6000506101e05160005260206000f350005b63a694fc3a600051141561027757600454331415610120576001610126565b60035433145b5b1515610172576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60206101c0602463a694fc3a610140526004356101605261015c600073674c6ad92fd080e4004b2312b45f796a192d27a05af16101ae57600080fd5b601f3d116101bb57600080fd5b6000506101c0516101cb57600080fd5b6002546101405261016060016103e7818352015b610140516101605111156101f257610268565b610160516103e8811061020457600080fd5b600060c052602060c02001543b61021a57600080fd5b60006000600463fff6cae96101805261019c6000610160516103e8811061024057600080fd5b600060c052602060c02001545af161025757600080fd5b5b81516001018083528114156101df575b5050600160005260206000f350005b6351cff8d960005114156103535760043560a01c1561029557600080fd5b6004543314156102a65760016102ac565b60035433145b5b15156102f8576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60206101c060246351cff8d9610140526004356101605261015c600073674c6ad92fd080e4004b2312b45f796a192d27a05af161033457600080fd5b601f3d1161034157600080fd5b6000506101c05160005260206000f350005b63a7f404e260005114156104a65760043560a01c1561037157600080fd5b600454331415610382576001610388565b60035433145b5b15156103d4576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b6000600435186103e357600080fd5b600160043560e05260c052604060c020546101405261014051151515610448576308c379a061016052602061018052600d6101a0527f70616972206973206578697374000000000000000000000000000000000000006101c0526101a050606461017cfd5b600254600181818301101561045c57600080fd5b8082019050905061014052600435610140516103e8811061047c57600080fd5b600060c052602060c020015561014051600160043560e05260c052604060c0205561014051600255005b63a6931ed760005114156106215760043560a01c156104c457600080fd5b6004543314156104d55760016104db565b60035433145b5b1515610527576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600160043560e05260c052604060c020546101405260006101405111151561058e576308c379a06101605260206101805260116101a0527f70616972206973206e6f742065786973740000000000000000000000000000006101c0526101a050606461017cfd5b60025461016052610160516103e881106105a757600080fd5b600060c052602060c02001546101805261018051610140516103e881106105cd57600080fd5b600060c052602060c02001556101405160016101805160e05260c052604060c020556000600160043560e05260c052604060c020556101605160018082101561061557600080fd5b80820390509050600255005b63f2fde38b60005114156106d85760043560a01c1561063f57600080fd5b600454331415610650576001610656565b60035433145b5b15156106a2576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600435600555600435610140527f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e96020610140a1005b630119020760005114156107db576004543314156106f75760016106fd565b60035433145b5b1515610749576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60055461014052600061014051141515156107a3576308c379a061016052602061018052600d6101a0527f6f776e6572206e6f7420736574000000000000000000000000000000000000006101c0526101a050606461017cfd5b6101405160045561014051610160527febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056020610160a1005b638397e9936000511415610811576004356103e881106107fa57600080fd5b600060c052602060c020015460005260206000f350005b636d124d26600051141561084b5760043560a01c1561082f57600080fd5b600160043560e05260c052604060c0205460005260206000f350005b63fea83b0860005114156108675760025460005260206000f350005b63a6c3e6b960005114156108835760035460005260206000f350005b638da5cb5b600051141561089f5760045460005260206000f350005b63b9e9d1aa60005114156108bb5760055460005260206000f350005b5b60006000fd5b61000c6108ce0361000c60003961000c6108ce036000f3

Deployed Bytecode

0x341561000a57600080fd5b6004361015610018576108bc565b600035601c526347e7ef2460005114156101015760043560a01c1561003c57600080fd5b60045433141561004d576001610053565b60035433145b5b151561009f576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60206101e060446347e7ef2461014052600435610160526024356101805261015c600073674c6ad92fd080e4004b2312b45f796a192d27a05af16100e257600080fd5b601f3d116100ef57600080fd5b6000506101e05160005260206000f350005b63a694fc3a600051141561027757600454331415610120576001610126565b60035433145b5b1515610172576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60206101c0602463a694fc3a610140526004356101605261015c600073674c6ad92fd080e4004b2312b45f796a192d27a05af16101ae57600080fd5b601f3d116101bb57600080fd5b6000506101c0516101cb57600080fd5b6002546101405261016060016103e7818352015b610140516101605111156101f257610268565b610160516103e8811061020457600080fd5b600060c052602060c02001543b61021a57600080fd5b60006000600463fff6cae96101805261019c6000610160516103e8811061024057600080fd5b600060c052602060c02001545af161025757600080fd5b5b81516001018083528114156101df575b5050600160005260206000f350005b6351cff8d960005114156103535760043560a01c1561029557600080fd5b6004543314156102a65760016102ac565b60035433145b5b15156102f8576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60206101c060246351cff8d9610140526004356101605261015c600073674c6ad92fd080e4004b2312b45f796a192d27a05af161033457600080fd5b601f3d1161034157600080fd5b6000506101c05160005260206000f350005b63a7f404e260005114156104a65760043560a01c1561037157600080fd5b600454331415610382576001610388565b60035433145b5b15156103d4576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b6000600435186103e357600080fd5b600160043560e05260c052604060c020546101405261014051151515610448576308c379a061016052602061018052600d6101a0527f70616972206973206578697374000000000000000000000000000000000000006101c0526101a050606461017cfd5b600254600181818301101561045c57600080fd5b8082019050905061014052600435610140516103e8811061047c57600080fd5b600060c052602060c020015561014051600160043560e05260c052604060c0205561014051600255005b63a6931ed760005114156106215760043560a01c156104c457600080fd5b6004543314156104d55760016104db565b60035433145b5b1515610527576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600160043560e05260c052604060c020546101405260006101405111151561058e576308c379a06101605260206101805260116101a0527f70616972206973206e6f742065786973740000000000000000000000000000006101c0526101a050606461017cfd5b60025461016052610160516103e881106105a757600080fd5b600060c052602060c02001546101805261018051610140516103e881106105cd57600080fd5b600060c052602060c02001556101405160016101805160e05260c052604060c020556000600160043560e05260c052604060c020556101605160018082101561061557600080fd5b80820390509050600255005b63f2fde38b60005114156106d85760043560a01c1561063f57600080fd5b600454331415610650576001610656565b60035433145b5b15156106a2576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b600435600555600435610140527f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e96020610140a1005b630119020760005114156107db576004543314156106f75760016106fd565b60035433145b5b1515610749576308c379a061014052602061016052600a610180527f6f776e6572206f6e6c79000000000000000000000000000000000000000000006101a05261018050606461015cfd5b60055461014052600061014051141515156107a3576308c379a061016052602061018052600d6101a0527f6f776e6572206e6f7420736574000000000000000000000000000000000000006101c0526101a050606461017cfd5b6101405160045561014051610160527febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056020610160a1005b638397e9936000511415610811576004356103e881106107fa57600080fd5b600060c052602060c020015460005260206000f350005b636d124d26600051141561084b5760043560a01c1561082f57600080fd5b600160043560e05260c052604060c0205460005260206000f350005b63fea83b0860005114156108675760025460005260206000f350005b63a6c3e6b960005114156108835760035460005260206000f350005b638da5cb5b600051141561089f5760045460005260206000f350005b63b9e9d1aa60005114156108bb5760055460005260206000f350005b5b60006000fd

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

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.