Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 40 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Zap | 15056604 | 960 days ago | IN | 0 ETH | 0.00363094 | ||||
Zap | 14309192 | 1081 days ago | IN | 0 ETH | 0.01512142 | ||||
Zap | 14015769 | 1126 days ago | IN | 0 ETH | 0.02734111 | ||||
Zap | 14015599 | 1126 days ago | IN | 0 ETH | 0.02762283 | ||||
Zap | 13777243 | 1163 days ago | IN | 0 ETH | 0.013927 | ||||
Zap | 13556729 | 1198 days ago | IN | 0 ETH | 0.03415311 | ||||
Zap | 13548335 | 1200 days ago | IN | 0 ETH | 0.030408 | ||||
Zap | 13497910 | 1207 days ago | IN | 0 ETH | 0.03459296 | ||||
Zap | 13459629 | 1213 days ago | IN | 0 ETH | 0.01401409 | ||||
Zap | 13459548 | 1213 days ago | IN | 0 ETH | 0.01346146 | ||||
Zap | 13459182 | 1214 days ago | IN | 0 ETH | 0.01868572 | ||||
Zap | 13437247 | 1217 days ago | IN | 0 ETH | 0.02267731 | ||||
Zap | 13436584 | 1217 days ago | IN | 0 ETH | 0.0196928 | ||||
Zap | 13433615 | 1218 days ago | IN | 0 ETH | 0.01357126 | ||||
Zap | 13433553 | 1218 days ago | IN | 0 ETH | 0.01563683 | ||||
Zap | 13415288 | 1220 days ago | IN | 0 ETH | 0.02016844 | ||||
Zap | 13409628 | 1221 days ago | IN | 0 ETH | 0.01996225 | ||||
Zap | 13409487 | 1221 days ago | IN | 0 ETH | 0.02172 | ||||
Zap | 13408442 | 1221 days ago | IN | 0 ETH | 0.01748448 | ||||
Zap | 13403435 | 1222 days ago | IN | 0 ETH | 0.0141904 | ||||
Zap | 13402236 | 1222 days ago | IN | 0 ETH | 0.02577351 | ||||
Zap | 13392057 | 1224 days ago | IN | 0 ETH | 0.01930403 | ||||
Zap | 13391162 | 1224 days ago | IN | 0 ETH | 0.01701856 | ||||
Zap | 13384556 | 1225 days ago | IN | 0 ETH | 0.01448 | ||||
Zap | 13374932 | 1227 days ago | IN | 0 ETH | 0.02240577 |
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
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.