ETH Price: $3,443.91 (-0.35%)
Gas: 3 Gwei

Contract

0x8ad4810b0ec62D78627C65b1eF19495E4204b7ee
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Zap135783502021-11-08 22:13:25988 days ago1636409605IN
0x8ad4810b...E4204b7ee
0 ETH0.0341227102.06111103
Zap135249012021-10-31 12:56:05996 days ago1635684965IN
0x8ad4810b...E4204b7ee
0 ETH0.0405478121.26845593
Zap134862072021-10-25 11:00:411002 days ago1635159641IN
0x8ad4810b...E4204b7ee
0 ETH0.0147022743.82407074
Zap134547742021-10-20 13:06:071007 days ago1634735167IN
0x8ad4810b...E4204b7ee
0 ETH0.0185217455
Zap134336342021-10-17 5:40:361010 days ago1634449236IN
0x8ad4810b...E4204b7ee
0 ETH0.0164708849.1
Zap134057542021-10-12 20:16:571015 days ago1634069817IN
0x8ad4810b...E4204b7ee
0 ETH0.0196657758.81546089
Zap134043112021-10-12 14:58:421015 days ago1634050722IN
0x8ad4810b...E4204b7ee
0 ETH0.0220016265.80693371
Zap134038242021-10-12 13:12:571015 days ago1634044377IN
0x8ad4810b...E4204b7ee
0 ETH0.03945495118
Zap134004982021-10-12 0:25:161016 days ago1633998316IN
0x8ad4810b...E4204b7ee
0 ETH0.031068792.9188147
Zap133994222021-10-11 20:29:441016 days ago1633984184IN
0x8ad4810b...E4204b7ee
0 ETH0.04045804121
Zap133967212021-10-11 10:20:471016 days ago1633947647IN
0x8ad4810b...E4204b7ee
0 ETH0.0238770871.410457
Zap133896702021-10-10 7:46:521017 days ago1633852012IN
0x8ad4810b...E4204b7ee
0 ETH0.0205540461.46839775
Zap133895742021-10-10 7:27:041017 days ago1633850824IN
0x8ad4810b...E4204b7ee
0 ETH0.0140133541.68011022
Zap133581902021-10-05 9:08:161022 days ago1633424896IN
0x8ad4810b...E4204b7ee
0 ETH0.0181060554.14424364
Zap133578272021-10-05 7:52:301022 days ago1633420350IN
0x8ad4810b...E4204b7ee
0 ETH0.0181256754.20292354
Zap133514952021-10-04 8:23:511023 days ago1633335831IN
0x8ad4810b...E4204b7ee
0 ETH0.0719243365.52073511
Zap133450322021-10-03 8:06:101024 days ago1633248370IN
0x8ad4810b...E4204b7ee
0 ETH0.0455053941.5387003
Zap133444952021-10-03 6:01:151024 days ago1633240875IN
0x8ad4810b...E4204b7ee
0 ETH0.053277248.53379862
Zap133444662021-10-03 5:52:511024 days ago1633240371IN
0x8ad4810b...E4204b7ee
0 ETH0.0122592243.19060764
Zap133407022021-10-02 15:39:251025 days ago1633189165IN
0x8ad4810b...E4204b7ee
0 ETH0.058225853
Zap133405732021-10-02 15:14:161025 days ago1633187656IN
0x8ad4810b...E4204b7ee
0 ETH0.058179953
Zap133385792021-10-02 7:43:061025 days ago1633160586IN
0x8ad4810b...E4204b7ee
0 ETH0.0163843749
Zap133382802021-10-02 6:32:191025 days ago1633156339IN
0x8ad4810b...E4204b7ee
0 ETH0.0128113938.31111634
Zap133372682021-10-02 2:45:441026 days ago1633142744IN
0x8ad4810b...E4204b7ee
0 ETH0.017167251.33672438
Zap133368722021-10-02 1:12:431026 days ago1633137163IN
0x8ad4810b...E4204b7ee
0 ETH0.0198521459.37090024
View all 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 0x09C4B30a...20EBF6f08
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 Zap 0.1.1
@author stakewith.us
@license AGPL-3.0-or-later
"""

from vyper.interfaces import ERC20


interface VaultV1:
    def token() -> address: view
    def withdraw(shares: uint256, _min: uint256): nonpayable
    # VaultV1 is ERC20
    def transferFrom(_from: address, _to: address, amount: uint256) -> bool: nonpayable


interface VaultV2:
    def token() -> address: view
    def uToken() -> address: view
    def deposit(amount: uint256, _min: uint256) -> uint256: nonpayable


v1: public(VaultV1)
v2: public(VaultV2)
token: public(ERC20)
uToken: public(ERC20)


@external
def __init__(v1: address, v2: address, uToken: address):
    self.v1 = VaultV1(v1)
    self.v2 = VaultV1(v2)

    assert self.v1.token() == self.v2.token(), "v1 token != v2 token"
    self.token = ERC20(self.v1.token())

    assert uToken == self.v2.uToken(), "uToken != v2 uToken"
    self.uToken = ERC20(self.v2.uToken())


@internal
def _safeApprove(token: address, spender: address, amount: uint256):
    res: Bytes[32] = raw_call(
        token,
        concat(
            method_id("approve(address,uint256)"),
            convert(spender, bytes32),
            convert(amount, bytes32),
        ),
        max_outsize=32,
    )
    if len(res) > 0:
        assert convert(res, bool), "approve failed"


@external
def zap(shares: uint256, _min: uint256, _minV2Shares: uint256):
    assert self.v1.transferFrom(msg.sender, self, shares), "transfer failed"
    self.v1.withdraw(shares, _min)

    bal: uint256 = self.token.balanceOf(self)
    # use _safeApprove, USDT does not return bool
    self._safeApprove(self.token.address, self.v2.address, bal)
    uShares: uint256 = self.v2.deposit(bal, _minV2Shares)
    self.uToken.transfer(msg.sender, uShares)

Contract Security Audit

Contract ABI

[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"v1","type":"address"},{"name":"v2","type":"address"},{"name":"uToken","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"zap","inputs":[{"name":"shares","type":"uint256"},{"name":"_min","type":"uint256"},{"name":"_minV2Shares","type":"uint256"}],"outputs":[],"gas":41886},{"stateMutability":"view","type":"function","name":"v1","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2418},{"stateMutability":"view","type":"function","name":"v2","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2448},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2478},{"stateMutability":"view","type":"function","name":"uToken","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2508}]

Deployed Bytecode

0x600436101561000d5761025d565b600035601c52600051341561002157600080fd5b63342fe0ca8114156101fb57602061020060646323b872dd61014052336101605230610180526004356101a05261015c60006000545af161006157600080fd5b601f3d1161006e57600080fd5b6000506102005115156100c0576308c379a061022052602061024052600f610260527f7472616e73666572206661696c656400000000000000000000000000000000006102805261026050606461023cfd5b6000543b6100cd57600080fd5b60006000604463441a3e7061014052604060046101603761015c60006000545af16100f757600080fd5b60206101e060246370a0823161016052306101805261017c6002545afa61011d57600080fd5b601f3d1161012a57600080fd5b6000506101e05161014052610140516002546101605260015461018052610140516101a0526101a051610180516101605160065801610263565b610140526000506020610220604463e2bbb15861018052610140516101a0526044356101c05261019c60006001545af161019d57600080fd5b601f3d116101aa57600080fd5b60005061022051610160526020610220604463a9059cbb61018052336101a052610160516101c05261019c60006003545af16101e557600080fd5b601f3d116101f257600080fd5b60005061022050005b636854171d8114156102135760005460005260206000f35b63f3acae3a81141561022b5760015460005260206000f35b63fc0c546a8114156102435760025460005260206000f35b636331563781141561025b5760035460005260206000f35b505b60006000fd5b6101a05261014052610160526101805260006004610220527f095ea7b3000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af15050805182019150506101605160208261028001015260208101905061018051602082610280010152602081019050806102805261028090508051602001806103208284600060045af161030c57600080fd5b505060206103e0610320516103406000610140515af161032b57600080fd5b60203d8082111561033c578061033e565b815b905090506103c0526103c08051602001806101c08284600060045af161036357600080fd5b505060006101c05111156103f7576101c080602001516000825180602090131561038c57600080fd5b809190121561039a57600080fd5b806020036101000a8204905090509050151515156103f7576308c379a061022052602061024052600e610260527f617070726f7665206661696c65640000000000000000000000000000000000006102805261026050606461023cfd5b6101a05156

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.