Feature Tip: Add private address tag to any address under My Name Tag !
Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Exchange | 23449631 | 149 days ago | IN | 0 ETH | 0.00016066 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x6110c951 | 23434006 | 152 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x125Ca420...Fc22AF268 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
VirtualPool
Compiler Version
vyper:0.4.3
Contract Source Code (Vyper Json-Input format)
# @version 0.4.3
"""
@title VirtualPool
@notice Virtual pool to swap LP in Yield Basis without touching the LP token
@author Scientia Spectra AG
@license Copyright (c) 2025
"""
from ethereum.ercs import IERC20 as ERC20
interface Flash:
def flashLoan(receiver: address, token: address, amount: uint256, data: Bytes[10**5]) -> bool: nonpayable
def supportedTokens(token: address) -> bool: view
def maxFlashLoan(token: address) -> uint256: view
interface Factory:
def flash() -> Flash: view
def virtual_pool_impl() -> address: view
interface Pool:
def approve(_spender: address, _value: uint256) -> bool: nonpayable
def coins(i: uint256) -> ERC20: view
def balances(i: uint256) -> uint256: view
def calc_token_amount(amounts: uint256[2], deposit: bool) -> uint256: view
def add_liquidity(amounts: uint256[2], min_mint_amount: uint256) -> uint256: nonpayable
def remove_liquidity(amount: uint256, min_amounts: uint256[2]) -> uint256[2]: nonpayable
def totalSupply() -> uint256: view
interface YbAMM:
def coins(i: uint256) -> ERC20: view
def get_dy(i: uint256, j: uint256, in_amount: uint256) -> uint256: view
def get_state() -> AMMState: view
def fee() -> uint256: view
def exchange(i: uint256, j: uint256, in_amount: uint256, min_out: uint256) -> uint256: nonpayable
def STABLECOIN() -> ERC20: view
def COLLATERAL() -> Pool: view
event TokenExchange:
buyer: indexed(address)
sold_id: uint256
tokens_sold: uint256
bought_id: uint256
tokens_bought: uint256
struct AMMState:
collateral: uint256
debt: uint256
x0: uint256
FACTORY: public(immutable(Factory))
AMM: public(immutable(YbAMM))
POOL: public(immutable(Pool))
ASSET_TOKEN: public(immutable(ERC20))
STABLECOIN: public(immutable(ERC20))
ROUNDING_DISCOUNT: public(constant(uint256)) = 10**18 // 10**8
IMPL: public(immutable(address))
@deploy
def __init__(amm: YbAMM):
AMM = amm
FACTORY = Factory(msg.sender)
IMPL = staticcall FACTORY.virtual_pool_impl()
POOL = staticcall amm.COLLATERAL()
STABLECOIN = staticcall amm.STABLECOIN()
assert staticcall POOL.coins(0) == STABLECOIN
ASSET_TOKEN = staticcall POOL.coins(1)
assert extcall STABLECOIN.approve(POOL.address, max_value(uint256), default_return_value=True)
assert extcall ASSET_TOKEN.approve(POOL.address, max_value(uint256), default_return_value=True)
assert extcall STABLECOIN.approve(AMM.address, max_value(uint256), default_return_value=True)
assert extcall POOL.approve(AMM.address, max_value(uint256), default_return_value=True)
@external
@view
def coins(i: uint256) -> ERC20:
"""
@notice Coins in the AMM: 0 - stablecoin, 1 - cryptoasset used to form collateral LP
"""
return [STABLECOIN, ASSET_TOKEN][i]
@internal
@view
def _calculate(i: uint256, in_amount: uint256, only_flash: bool) -> (uint256, uint256):
stables_in_pool: uint256 = staticcall POOL.balances(0)
out_amount: uint256 = 0
if i == 0:
state: AMMState = staticcall AMM.get_state()
pool_supply: uint256 = staticcall POOL.totalSupply()
fee: uint256 = staticcall AMM.fee()
r0fee: uint256 = stables_in_pool * (10**18 - fee) // pool_supply
# Solving quadratic eqn instead of calling the AMM b/c we have a special case
b: uint256 = state.x0 - state.debt + in_amount - r0fee * state.collateral // 10**18
D: uint256 = b**2 + 4 * state.collateral * r0fee // 10**18 * in_amount
flash_amount: uint256 = (isqrt(D) - b) // 2 # We received this withdrawing from the pool
if not only_flash:
crypto_in_pool: uint256 = staticcall POOL.balances(1)
out_amount = flash_amount * crypto_in_pool // stables_in_pool
# Withdrawal was ideally balanced
return out_amount, flash_amount
else:
crypto_in_pool: uint256 = staticcall POOL.balances(1)
flash_amount: uint256 = in_amount * stables_in_pool // crypto_in_pool
if not only_flash:
pool_supply: uint256 = staticcall POOL.totalSupply()
lp_amount: uint256 = pool_supply * in_amount // crypto_in_pool
out_amount = staticcall AMM.get_dy(1, 0, lp_amount) - flash_amount
return out_amount, flash_amount
@external
@view
def get_dy(i: uint256, j: uint256, in_amount: uint256) -> uint256:
"""
@notice Function to preview the result of exchange in the virtual AMM
@param i Index of input coin (0 = stablecoin, 1 = crypto)
@param j Index of output coin
@param in_amount Amount of coin i
@return Amount of coin j to be received
"""
assert (i == 0 and j == 1) or (i == 1 and j == 0)
_in_amount: uint256 = in_amount
if i == 0:
_in_amount = in_amount * (10**18 - ROUNDING_DISCOUNT) // 10**18
return self._calculate(i, _in_amount, False)[0]
@external
def onFlashLoan(initiator: address, token: address, total_flash_amount: uint256, fee: uint256, data: Bytes[10**5]):
"""
@notice Receive a flash loan
@param initiator The initiator of the loan
@param token The loan currency
@param total_flash_amount The amount of tokens lent
@param fee The additional amount of tokens to repay
@param data Arbitrary data structure, intended to contain user-defined parameters
"""
assert initiator == self
assert token == STABLECOIN.address
assert msg.sender == (staticcall FACTORY.flash()).address, "Wrong caller"
# executor
i: uint256 = 0
in_amount: uint256 = 0
i, in_amount = abi_decode(data, (uint256, uint256))
flash_amount: uint256 = self._calculate(i, in_amount, True)[1]
in_coin: ERC20 = [STABLECOIN, ASSET_TOKEN][i]
out_coin: ERC20 = [STABLECOIN, ASSET_TOKEN][1-i]
repay_flash_amount: uint256 = total_flash_amount
if i == 0:
# stablecoin -> crypto exchange
# 1. Take flash loan
# 2. Use our stables + flash borrowed amount to swap to pool LP in AMM
# 3. Withdraw symmetrically from pool LP
# 4. Repay the flash loan
# 5. Send the crypto
lp_amount: uint256 = extcall AMM.exchange(0, 1, (in_amount * (10**18 - ROUNDING_DISCOUNT) // 10**18 + flash_amount), 0)
extcall POOL.remove_liquidity(lp_amount, [0, 0])
repay_flash_amount = staticcall STABLECOIN.balanceOf(self)
else:
# crypto -> stablecoin exchange
# 1. Take flash loan
# 2. Deposit taken stables + to Pool
# 3. Swap LP of the pool to stables
# 4. Repay flash loan
# 5. Send the rest to the user
lp_amount: uint256 = extcall POOL.add_liquidity([flash_amount, in_amount], 0)
extcall AMM.exchange(1, 0, lp_amount, 0)
assert extcall STABLECOIN.transfer(msg.sender, repay_flash_amount, default_return_value=True)
@external
@nonreentrant
def exchange(i: uint256, j: uint256, in_amount: uint256, min_out: uint256, _for: address = msg.sender) -> uint256:
"""
@notice Exchanges two coins, callable by anyone
@param i Index of input coin (0 = stablecoin, 1 = crypto)
@param j Output coin index
@param in_amount Amount of input coin to swap
@param min_out Minimal amount to get as output
@param _for Address to send coins to
@return Amount of coins given in/out
"""
assert (i == 0 and j == 1) or (i == 1 and j == 0)
flash: Flash = staticcall FACTORY.flash()
in_coin: ERC20 = [STABLECOIN, ASSET_TOKEN][i]
out_coin: ERC20 = [STABLECOIN, ASSET_TOKEN][j]
assert extcall in_coin.transferFrom(msg.sender, self, in_amount, default_return_value=True)
data: Bytes[128] = empty(Bytes[128])
data = abi_encode(i, in_amount)
extcall flash.flashLoan(self, STABLECOIN.address, staticcall flash.maxFlashLoan(STABLECOIN.address), data)
out_amount: uint256 = staticcall out_coin.balanceOf(self)
assert out_amount >= min_out, "Slippage"
assert extcall out_coin.transfer(_for, out_amount, default_return_value=True)
log TokenExchange(buyer=_for, sold_id=i, tokens_sold=in_amount, bought_id=j, tokens_bought=out_amount)
return out_amount
# XXX include methods to determine max_in / max_out{
"outputSelection": {
"contracts/VirtualPool.vy": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
},
"search_paths": [
"."
]
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"sold_id","type":"uint256"},{"indexed":false,"name":"tokens_sold","type":"uint256"},{"indexed":false,"name":"bought_id","type":"uint256"},{"indexed":false,"name":"tokens_bought","type":"uint256"}],"name":"TokenExchange","type":"event"},{"inputs":[{"name":"i","type":"uint256"}],"name":"coins","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"}],"name":"get_dy","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"initiator","type":"address"},{"name":"token","type":"address"},{"name":"total_flash_amount","type":"uint256"},{"name":"fee","type":"uint256"},{"name":"data","type":"bytes"}],"name":"onFlashLoan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"},{"name":"min_out","type":"uint256"}],"name":"exchange","outputs":[{"name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"in_amount","type":"uint256"},{"name":"min_out","type":"uint256"},{"name":"_for","type":"address"}],"name":"exchange","outputs":[{"name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FACTORY","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"AMM","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"POOL","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ASSET_TOKEN","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STABLECOIN","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUNDING_DISCOUNT","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"IMPL","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"amm","type":"address"}],"outputs":[],"stateMutability":"nonpayable","type":"constructor"}]Contract Creation Code
0x6110c95150346104305760206114955f395f518060a01c610430576040526040516110495233611029526110295163d7d43f18606052602060606004607c845afa61004c573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610430576060518060a01c6104305760a0525060a09050516110c9526040516324bbab8b606052602060606004607c845afa61009c573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610430576060518060a01c6104305760a0525060a0905051611069526040516393a39776606052602060606004607c845afa6100ec573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610430576060518060a01c6104305760a0525060a09050516110a9526110a9516110695163c66106576060525f608052602060606024607c845afa610145573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610430576060518060a01c6104305760a0525060a090505118610430576110695163c66106576060526001608052602060606024607c845afa61019c573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011610430576060518060a01c6104305760a0525060a0905051611089526110a95163095ea7b3606052611069516080527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60a052602060606044607c5f855af1610219573d5f5f3e3d5ffd5b3d61022f57803b1561043057600160c052610255565b3d602081183d602010021880606001608011610430576060518060011c6104305760c052505b60c090505115610430576110895163095ea7b3606052611069516080527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60a052602060606044607c5f855af16102ae573d5f5f3e3d5ffd5b3d6102c457803b1561043057600160c0526102ea565b3d602081183d602010021880606001608011610430576060518060011c6104305760c052505b60c090505115610430576110a95163095ea7b3606052611049516080527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60a052602060606044607c5f855af1610343573d5f5f3e3d5ffd5b3d61035957803b1561043057600160c05261037f565b3d602081183d602010021880606001608011610430576060518060011c6104305760c052505b60c090505115610430576110695163095ea7b3606052611049516080527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60a052602060606044607c5f855af16103d8573d5f5f3e3d5ffd5b3d6103ee57803b1561043057600160c052610414565b3d602081183d602010021880606001608011610430576060518060011c6104305760c052505b60c09050511561043057611029610434610000396110e9610000f35b5f80fd5f3560e01c6002600e820660011b61100d01601e395f51565b63c661065781186100565760243610341761100957602060206110a96040396020611089606039604060043560028110156110095760051b81019050f35b63556d6e9f8118610af1576064361034176110095760043561007e5760016024351815610080565b5f5b61009d5760016004351861009757602435156100a0565b5f6100a0565b60015b1561100957604435610260526004356100e657604435670de0b6b153581c00810281670de0b6b153581c00820418611009579050670de0b6b3a764000081049050610260525b6020600435604052610260516060525f608052610104610280610af5565b610280f35b6323e30c8b81186105d75760a436103417611009576004358060a01c61100957610260526024358060a01c61100957610280526084356004018035620186a081116110095750602081350180826102a03750503061026051186110095760206110a95f395f5161028051186110095760206110295f395f5163d336c82d620189605260206201896060046201897c845afa6101a6573d5f5f3e3d5ffd5b3d602081183d602010021880620189600162018980116110095762018960518060a01c61100957620189a05250620189a09050513318156102605760208062018a2052600c620189c0527f57726f6e672063616c6c65720000000000000000000000000000000000000000620189e052620189c08162018a2001602c82825e8051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a062018a00528060040162018a1cfd5b604036620189603760406102a05118611009576102a0516102c001610300116110095760406102c0620189a05e620189a080516201896052602081015162018980525060406201896060405e60016080526102bd620189c0610af5565b620189c060208101905051620189a05260206110a9620189e039602061108962018a0039620189e0620189605160028110156110095760051b8101905051620189c05260206110a962018a0039602061108962018a203962018a006201896051806001036001811161100957905060028110156110095760051b8101905051620189e05260443562018a0052620189605161048c5760206110495f395f51635b41b90862018a40525f62018a6052600162018a80526201898051670de0b6b153581c00810281670de0b6b153581c00820418611009579050670de0b6b3a764000081049050620189a051808201828110611009579050905062018aa0525f62018ac052602062018a40608462018a5c5f855af16103dc573d5f5f3e3d5ffd5b60203d106110095762018a4090505162018a205260206110695f395f51635b36389c62018a405262018a205162018a605260403662018a8037604062018a40606462018a5c5f855af1610431573d5f5f3e3d5ffd5b60403d106110095762018a40505060206110a95f395f516370a0823162018a40523062018a6052602062018a40602462018a5c845afa610473573d5f5f3e3d5ffd5b60203d106110095762018a4090505162018a0052610544565b60206110695f395f51630b4c7e4d62018a4052620189a05162018a6052620189805162018a80525f62018aa052602062018a40606462018a5c5f855af16104d5573d5f5f3e3d5ffd5b60203d106110095762018a4090505162018a205260206110495f395f51635b41b90862018a4052600162018a60525f62018a805262018a205162018aa0525f62018ac052602062018a40608462018a5c5f855af1610535573d5f5f3e3d5ffd5b60203d106110095762018a4050505b60206110a95f395f5163a9059cbb62018a20523362018a405262018a005162018a6052602062018a20604462018a3c5f855af1610583573d5f5f3e3d5ffd5b3d61059b57803b1561100957600162018a80526105c9565b3d602081183d60201002188062018a200162018a40116110095762018a20518060011c6110095762018a8052505b62018a809050511561100957005b6356973ee58118610af157346110095760206110c960403960206040f35b635b41b9088118610af1576084361034176110095733604052610637565b63a64833a08118610af15760a436103417611009576084358060a01c611009576040525b5f5c6001146110095760015f5d6004356106575760016024351815610659565b5f5b610676576001600435186106705760243515610679565b5f610679565b60015b156110095760206110295f395f5163d336c82d608052602060806004609c845afa6106a6573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011611009576080518060a01c6110095760c0525060c090505160605260206110a960a039602061108960c03960a060043560028110156110095760051b810190505160805260206110a960c039602061108960e03960c060243560028110156110095760051b810190505160a0526080516323b872dd60c0523360e052306101005260443561012052602060c0606460dc5f855af1610758573d5f5f3e3d5ffd5b3d61076f57803b1561100957600161014052610796565b3d602081183d60201002188060c00160e0116110095760c0518060011c6110095761014052505b61014090505115611009575f60c052600435610180526044356101a05260406101605261016060608160c05e50606051635cffe9de6101a0526080306101c05260206110a96101e03960605163613255ab6101605260206110a9610180396020610160602461017c845afa61080d573d5f5f3e3d5ffd5b60203d1061100957610160905051610200528061022052806101c001602060c051018060c0835e508051806020830101601f825f03163682375050601f19601f8251602001011690508101505060206101a06101246101bc5f855af1610875573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011611009576101a0518060011c611009576102e052506102e0505060a0516370a0823161018052306101a0526020610180602461019c845afa6108cd573d5f5f3e3d5ffd5b60203d106110095761018090505161016052606435610160511015610964576020806101e0526008610180527f536c6970706167650000000000000000000000000000000000000000000000006101a052610180816101e001602882825e8051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a06101c052806004016101dcfd5b60a05163a9059cbb610180526040516101a052610160516101c0526020610180604461019c5f855af1610999573d5f5f3e3d5ffd5b3d6109b057803b156110095760016101e0526109da565b3d602081183d602010021880610180016101a01161100957610180518060011c611009576101e052505b6101e090505115611009576040517fb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98600435610180526044356101a0526024356101c052610160516101e0526080610180a260206101605f5f5df35b632dd310008114600336111615610a5a573461100957602061102960403960206040f35b637535d2468118610af1573461100957602061106960403960206040f35b6344a706868118610af1573461100957602061104960403960206040f35b63d70620058118610ab4573461100957602061108960403960206040f35b633a7aae0d8118610af15734611009576402540be40060405260206040f35b6393a397768118610af157346110095760206110a960403960206040f35b5f5ffd5b60206110695f395f51634903b0d160c0525f60e052602060c0602460dc845afa610b21573d5f5f3e3d5ffd5b60203d106110095760c090505160a0525f60c052604051610eb25760206110495f395f516386b301ad610140526060610140600461015c845afa610b67573d5f5f3e3d5ffd5b60603d1061100957610140905060608160e05e5060206110695f395f516318160ddd610160526020610160600461017c845afa610ba6573d5f5f3e3d5ffd5b60203d10611009576101609050516101405260206110495f395f5163ddca3f43610180526020610180600461019c845afa610be3573d5f5f3e3d5ffd5b60203d10611009576101809050516101605260a0516101605180670de0b6b3a764000003670de0b6b3a7640000811161100957905080820281158383830414171561100957905090506101405180156110095780820490509050610180526101205161010051808203828111611009579050905060605180820182811061100957905090506101805160e0518082028115838383041417156110095790509050670de0b6b3a76400008104905080820382811161100957905090506101a0526101a0516fffffffffffffffffffffffffffffffff8111611009576002810a905060e0518060021b818160021c18611009579050610180518082028115838383041417156110095790509050670de0b6b3a764000081049050606051808202811583838304141715611009579050905080820182811061100957905090506101c0526101c0518060b5710100000000000000000000000000000000008210610d51578160801c91508060401b90505b69010000000000000000008210610d6f578160401c91508060201b90505b650100000000008210610d89578160201c91508060101b90505b63010000008210610da1578160101c91508060081b90505b620100008201810260121c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c905080830480828118828410021890509050905090506101a05180820382811161100957905090508060011c90506101e052608051610e9e5760206110695f395f51634903b0d1610220526001610240526020610220602461023c845afa610e5c573d5f5f3e3d5ffd5b60203d1061100957610220905051610200526101e05161020051808202811583838304141715611009579050905060a0518015611009578082049050905060c0525b60c05181526101e051602082015250611007565b60206110695f395f51634903b0d1610100526001610120526020610100602461011c845afa610ee3573d5f5f3e3d5ffd5b60203d106110095761010090505160e05260605160a051808202811583838304141715611009579050905060e0518015611009578082049050905061010052608051610ff75760206110695f395f516318160ddd610140526020610140600461015c845afa610f54573d5f5f3e3d5ffd5b60203d10611009576101409050516101205261012051606051808202811583838304141715611009579050905060e051801561100957808204905090506101405260206110495f395f5163556d6e9f610160526001610180525f6101a052610140516101c0526020610160606461017c845afa610fd3573d5f5f3e3d5ffd5b60203d106110095761016090505161010051808203828111611009579050905060c0525b60c0518152610100516020820152505b565b5f80fd0a780af106130a960af10af10a360af10af10af105f501090ad300188558203290f2cfee2953e907480422c39ae737efdfc9a2a2dd457fb03a4e87ef5e7d3d19102981181c18c0a1657679706572830004030038000000000000000000000000a25306937dba98378c32f167588f5dc17a95c94b
Deployed Bytecode
0x5f3560e01c6002600e820660011b61100d01601e395f51565b63c661065781186100565760243610341761100957602060206110a96040396020611089606039604060043560028110156110095760051b81019050f35b63556d6e9f8118610af1576064361034176110095760043561007e5760016024351815610080565b5f5b61009d5760016004351861009757602435156100a0565b5f6100a0565b60015b1561100957604435610260526004356100e657604435670de0b6b153581c00810281670de0b6b153581c00820418611009579050670de0b6b3a764000081049050610260525b6020600435604052610260516060525f608052610104610280610af5565b610280f35b6323e30c8b81186105d75760a436103417611009576004358060a01c61100957610260526024358060a01c61100957610280526084356004018035620186a081116110095750602081350180826102a03750503061026051186110095760206110a95f395f5161028051186110095760206110295f395f5163d336c82d620189605260206201896060046201897c845afa6101a6573d5f5f3e3d5ffd5b3d602081183d602010021880620189600162018980116110095762018960518060a01c61100957620189a05250620189a09050513318156102605760208062018a2052600c620189c0527f57726f6e672063616c6c65720000000000000000000000000000000000000000620189e052620189c08162018a2001602c82825e8051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a062018a00528060040162018a1cfd5b604036620189603760406102a05118611009576102a0516102c001610300116110095760406102c0620189a05e620189a080516201896052602081015162018980525060406201896060405e60016080526102bd620189c0610af5565b620189c060208101905051620189a05260206110a9620189e039602061108962018a0039620189e0620189605160028110156110095760051b8101905051620189c05260206110a962018a0039602061108962018a203962018a006201896051806001036001811161100957905060028110156110095760051b8101905051620189e05260443562018a0052620189605161048c5760206110495f395f51635b41b90862018a40525f62018a6052600162018a80526201898051670de0b6b153581c00810281670de0b6b153581c00820418611009579050670de0b6b3a764000081049050620189a051808201828110611009579050905062018aa0525f62018ac052602062018a40608462018a5c5f855af16103dc573d5f5f3e3d5ffd5b60203d106110095762018a4090505162018a205260206110695f395f51635b36389c62018a405262018a205162018a605260403662018a8037604062018a40606462018a5c5f855af1610431573d5f5f3e3d5ffd5b60403d106110095762018a40505060206110a95f395f516370a0823162018a40523062018a6052602062018a40602462018a5c845afa610473573d5f5f3e3d5ffd5b60203d106110095762018a4090505162018a0052610544565b60206110695f395f51630b4c7e4d62018a4052620189a05162018a6052620189805162018a80525f62018aa052602062018a40606462018a5c5f855af16104d5573d5f5f3e3d5ffd5b60203d106110095762018a4090505162018a205260206110495f395f51635b41b90862018a4052600162018a60525f62018a805262018a205162018aa0525f62018ac052602062018a40608462018a5c5f855af1610535573d5f5f3e3d5ffd5b60203d106110095762018a4050505b60206110a95f395f5163a9059cbb62018a20523362018a405262018a005162018a6052602062018a20604462018a3c5f855af1610583573d5f5f3e3d5ffd5b3d61059b57803b1561100957600162018a80526105c9565b3d602081183d60201002188062018a200162018a40116110095762018a20518060011c6110095762018a8052505b62018a809050511561100957005b6356973ee58118610af157346110095760206110c960403960206040f35b635b41b9088118610af1576084361034176110095733604052610637565b63a64833a08118610af15760a436103417611009576084358060a01c611009576040525b5f5c6001146110095760015f5d6004356106575760016024351815610659565b5f5b610676576001600435186106705760243515610679565b5f610679565b60015b156110095760206110295f395f5163d336c82d608052602060806004609c845afa6106a6573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011611009576080518060a01c6110095760c0525060c090505160605260206110a960a039602061108960c03960a060043560028110156110095760051b810190505160805260206110a960c039602061108960e03960c060243560028110156110095760051b810190505160a0526080516323b872dd60c0523360e052306101005260443561012052602060c0606460dc5f855af1610758573d5f5f3e3d5ffd5b3d61076f57803b1561100957600161014052610796565b3d602081183d60201002188060c00160e0116110095760c0518060011c6110095761014052505b61014090505115611009575f60c052600435610180526044356101a05260406101605261016060608160c05e50606051635cffe9de6101a0526080306101c05260206110a96101e03960605163613255ab6101605260206110a9610180396020610160602461017c845afa61080d573d5f5f3e3d5ffd5b60203d1061100957610160905051610200528061022052806101c001602060c051018060c0835e508051806020830101601f825f03163682375050601f19601f8251602001011690508101505060206101a06101246101bc5f855af1610875573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011611009576101a0518060011c611009576102e052506102e0505060a0516370a0823161018052306101a0526020610180602461019c845afa6108cd573d5f5f3e3d5ffd5b60203d106110095761018090505161016052606435610160511015610964576020806101e0526008610180527f536c6970706167650000000000000000000000000000000000000000000000006101a052610180816101e001602882825e8051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a06101c052806004016101dcfd5b60a05163a9059cbb610180526040516101a052610160516101c0526020610180604461019c5f855af1610999573d5f5f3e3d5ffd5b3d6109b057803b156110095760016101e0526109da565b3d602081183d602010021880610180016101a01161100957610180518060011c611009576101e052505b6101e090505115611009576040517fb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98600435610180526044356101a0526024356101c052610160516101e0526080610180a260206101605f5f5df35b632dd310008114600336111615610a5a573461100957602061102960403960206040f35b637535d2468118610af1573461100957602061106960403960206040f35b6344a706868118610af1573461100957602061104960403960206040f35b63d70620058118610ab4573461100957602061108960403960206040f35b633a7aae0d8118610af15734611009576402540be40060405260206040f35b6393a397768118610af157346110095760206110a960403960206040f35b5f5ffd5b60206110695f395f51634903b0d160c0525f60e052602060c0602460dc845afa610b21573d5f5f3e3d5ffd5b60203d106110095760c090505160a0525f60c052604051610eb25760206110495f395f516386b301ad610140526060610140600461015c845afa610b67573d5f5f3e3d5ffd5b60603d1061100957610140905060608160e05e5060206110695f395f516318160ddd610160526020610160600461017c845afa610ba6573d5f5f3e3d5ffd5b60203d10611009576101609050516101405260206110495f395f5163ddca3f43610180526020610180600461019c845afa610be3573d5f5f3e3d5ffd5b60203d10611009576101809050516101605260a0516101605180670de0b6b3a764000003670de0b6b3a7640000811161100957905080820281158383830414171561100957905090506101405180156110095780820490509050610180526101205161010051808203828111611009579050905060605180820182811061100957905090506101805160e0518082028115838383041417156110095790509050670de0b6b3a76400008104905080820382811161100957905090506101a0526101a0516fffffffffffffffffffffffffffffffff8111611009576002810a905060e0518060021b818160021c18611009579050610180518082028115838383041417156110095790509050670de0b6b3a764000081049050606051808202811583838304141715611009579050905080820182811061100957905090506101c0526101c0518060b5710100000000000000000000000000000000008210610d51578160801c91508060401b90505b69010000000000000000008210610d6f578160401c91508060201b90505b650100000000008210610d89578160201c91508060101b90505b63010000008210610da1578160101c91508060081b90505b620100008201810260121c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c905080830480828118828410021890509050905090506101a05180820382811161100957905090508060011c90506101e052608051610e9e5760206110695f395f51634903b0d1610220526001610240526020610220602461023c845afa610e5c573d5f5f3e3d5ffd5b60203d1061100957610220905051610200526101e05161020051808202811583838304141715611009579050905060a0518015611009578082049050905060c0525b60c05181526101e051602082015250611007565b60206110695f395f51634903b0d1610100526001610120526020610100602461011c845afa610ee3573d5f5f3e3d5ffd5b60203d106110095761010090505160e05260605160a051808202811583838304141715611009579050905060e0518015611009578082049050905061010052608051610ff75760206110695f395f516318160ddd610140526020610140600461015c845afa610f54573d5f5f3e3d5ffd5b60203d10611009576101409050516101205261012051606051808202811583838304141715611009579050905060e051801561100957808204905090506101405260206110495f395f5163556d6e9f610160526001610180525f6101a052610140516101c0526020610160606461017c845afa610fd3573d5f5f3e3d5ffd5b60203d106110095761016090505161010051808203828111611009579050905060c0525b60c0518152610100516020820152505b565b5f80fd0a780af106130a960af10af10a360af10af10af105f501090ad30018000000000000000000000000370a449febb9411c95bf897021377fe0b7d100c0000000000000000000000000a25306937dba98378c32f167588f5dc17a95c94b000000000000000000000000d9ff8396554a0d18b2cfbec53e1979b7ecce83730000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e00000000000000000000000062b792654eafffbbc483d69fa05f8ca4d0914af2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.