Feature Tip: Add private address tag to any address under My Name Tag !
Showing the last 2 transactions (View Advanced Filter)
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 12694386 | 1642 days ago | IN | 0.01 ETH | 0.00018937 | ||||
| Transfer | 12694362 | 1642 days ago | IN | 0.00015 ETH | 0.000147 |
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
There are no matching entriesUpdate your filters to view other transactions | |||||||||
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.2.4
Contract Source Code (Vyper language format)
# @version 0.2.4
"""
@title Liquidity Gauge
@author Curve Finance
@license MIT
@notice Used for measuring liquidity and insurance
"""
from vyper.interfaces import ERC20
interface CRV20:
def future_epoch_time_write() -> uint256: nonpayable
def rate() -> uint256: view
interface Controller:
def period() -> int128: view
def period_write() -> int128: nonpayable
def period_timestamp(p: int128) -> uint256: view
def gauge_relative_weight(addr: address, time: uint256) -> uint256: view
def voting_escrow() -> address: view
def checkpoint(): nonpayable
def checkpoint_gauge(addr: address): nonpayable
interface Minter:
def token() -> address: view
def controller() -> address: view
def minted(user: address, gauge: address) -> uint256: view
interface VotingEscrow:
def user_point_epoch(addr: address) -> uint256: view
def user_point_history__ts(addr: address, epoch: uint256) -> uint256: view
event Deposit:
provider: indexed(address)
value: uint256
event Withdraw:
provider: indexed(address)
value: uint256
event UpdateLiquidityLimit:
user: address
original_balance: uint256
original_supply: uint256
working_balance: uint256
working_supply: uint256
TOKENLESS_PRODUCTION: constant(uint256) = 40
BOOST_WARMUP: constant(uint256) = 3600
WEEK: constant(uint256) = 604800
minter: public(address)
crv_token: public(address)
lp_token: public(address)
controller: public(address)
voting_escrow: public(address)
balanceOf: public(HashMap[address, uint256])
totalSupply: public(uint256)
future_epoch_time: public(uint256)
# caller -> recipient -> can deposit?
approved_to_deposit: public(HashMap[address, HashMap[address, bool]])
working_balances: public(HashMap[address, uint256])
working_supply: public(uint256)
# The goal is to be able to calculate ∫(rate * balance / totalSupply dt) from 0 till checkpoint
# All values are kept in units of being multiplied by 1e18
period: public(int128)
period_timestamp: public(uint256[100000000000000000000000000000])
# 1e18 * ∫(rate(t) / totalSupply(t) dt) from 0 till checkpoint
integrate_inv_supply: public(uint256[100000000000000000000000000000]) # bump epoch when rate() changes
# 1e18 * ∫(rate(t) / totalSupply(t) dt) from (last_action) till checkpoint
integrate_inv_supply_of: public(HashMap[address, uint256])
integrate_checkpoint_of: public(HashMap[address, uint256])
# ∫(balance * rate(t) / totalSupply(t) dt) from 0 till checkpoint
# Units: rate * t = already number of coins per address to issue
integrate_fraction: public(HashMap[address, uint256])
inflation_rate: public(uint256)
@external
def __init__(lp_addr: address, _minter: address):
"""
@notice Contract constructor
@param lp_addr Liquidity Pool contract address
@param _minter Minter contract address
"""
assert lp_addr != ZERO_ADDRESS
assert _minter != ZERO_ADDRESS
self.lp_token = lp_addr
self.minter = _minter
crv_addr: address = Minter(_minter).token()
self.crv_token = crv_addr
controller_addr: address = Minter(_minter).controller()
self.controller = controller_addr
self.voting_escrow = Controller(controller_addr).voting_escrow()
self.period_timestamp[0] = block.timestamp
self.inflation_rate = CRV20(crv_addr).rate()
self.future_epoch_time = CRV20(crv_addr).future_epoch_time_write()
@internal
def _update_liquidity_limit(addr: address, l: uint256, L: uint256):
"""
@notice Calculate limits which depend on the amount of CRV token per-user.
Effectively it calculates working balances to apply amplification
of CRV production by CRV
@param addr User address
@param l User's amount of liquidity (LP tokens)
@param L Total amount of liquidity (LP tokens)
"""
# To be called after totalSupply is updated
_voting_escrow: address = self.voting_escrow
voting_balance: uint256 = ERC20(_voting_escrow).balanceOf(addr)
voting_total: uint256 = ERC20(_voting_escrow).totalSupply()
lim: uint256 = l * TOKENLESS_PRODUCTION / 100
if (voting_total > 0) and (block.timestamp > self.period_timestamp[0] + BOOST_WARMUP):
lim += L * voting_balance / voting_total * (100 - TOKENLESS_PRODUCTION) / 100
lim = min(l, lim)
old_bal: uint256 = self.working_balances[addr]
self.working_balances[addr] = lim
_working_supply: uint256 = self.working_supply + lim - old_bal
self.working_supply = _working_supply
log UpdateLiquidityLimit(addr, l, L, lim, _working_supply)
@internal
def _checkpoint(addr: address):
"""
@notice Checkpoint for a user
@param addr User address
"""
_token: address = self.crv_token
_controller: address = self.controller
_period: int128 = self.period
_period_time: uint256 = self.period_timestamp[_period]
_integrate_inv_supply: uint256 = self.integrate_inv_supply[_period]
rate: uint256 = self.inflation_rate
new_rate: uint256 = rate
prev_future_epoch: uint256 = self.future_epoch_time
if prev_future_epoch >= _period_time:
self.future_epoch_time = CRV20(_token).future_epoch_time_write()
new_rate = CRV20(_token).rate()
self.inflation_rate = new_rate
Controller(_controller).checkpoint_gauge(self)
_working_balance: uint256 = self.working_balances[addr]
_working_supply: uint256 = self.working_supply
# Update integral of 1/supply
if block.timestamp > _period_time:
prev_week_time: uint256 = _period_time
week_time: uint256 = min((_period_time + WEEK) / WEEK * WEEK, block.timestamp)
for i in range(500):
dt: uint256 = week_time - prev_week_time
w: uint256 = Controller(_controller).gauge_relative_weight(self, prev_week_time / WEEK * WEEK)
if _working_supply > 0:
if prev_future_epoch >= prev_week_time and prev_future_epoch < week_time:
# If we went across one or multiple epochs, apply the rate
# of the first epoch until it ends, and then the rate of
# the last epoch.
# If more than one epoch is crossed - the gauge gets less,
# but that'd mean it wasn't called for more than 2 weeks
_integrate_inv_supply += rate * w * (prev_future_epoch - prev_week_time) / _working_supply
rate = new_rate
_integrate_inv_supply += rate * w * (week_time - prev_future_epoch) / _working_supply
else:
_integrate_inv_supply += rate * w * dt / _working_supply
# On precisions of the calculation
# rate ~= 10e18
# last_weight > 0.01 * 1e18 = 1e16 (if pool weight is 1%)
# _working_supply ~= TVL * 1e18 ~= 1e26 ($100M for example)
# The largest loss is at dt = 1
# Loss is 1e-9 - acceptable
if week_time == block.timestamp:
break
prev_week_time = week_time
week_time = min(week_time + WEEK, block.timestamp)
_period += 1
self.period = _period
self.period_timestamp[_period] = block.timestamp
self.integrate_inv_supply[_period] = _integrate_inv_supply
# Update user-specific integrals
self.integrate_fraction[addr] += _working_balance * (_integrate_inv_supply - self.integrate_inv_supply_of[addr]) / 10 ** 18
self.integrate_inv_supply_of[addr] = _integrate_inv_supply
self.integrate_checkpoint_of[addr] = block.timestamp
@external
def user_checkpoint(addr: address) -> bool:
"""
@notice Record a checkpoint for `addr`
@param addr User address
@return bool success
"""
assert (msg.sender == addr) or (msg.sender == self.minter) # dev: unauthorized
self._checkpoint(addr)
self._update_liquidity_limit(addr, self.balanceOf[addr], self.totalSupply)
return True
@external
def claimable_tokens(addr: address) -> uint256:
"""
@notice Get the number of claimable tokens per user
@dev This function should be manually changed to "view" in the ABI
@return uint256 number of claimable tokens per user
"""
self._checkpoint(addr)
return self.integrate_fraction[addr] - Minter(self.minter).minted(addr, self)
@external
def kick(addr: address):
"""
@notice Kick `addr` for abusing their boost
@dev Only if either they had another voting event, or their voting escrow lock expired
@param addr Address to kick
"""
_voting_escrow: address = self.voting_escrow
t_last: uint256 = self.integrate_checkpoint_of[addr]
t_ve: uint256 = VotingEscrow(_voting_escrow).user_point_history__ts(
addr, VotingEscrow(_voting_escrow).user_point_epoch(addr)
)
_balance: uint256 = self.balanceOf[addr]
assert ERC20(self.voting_escrow).balanceOf(addr) == 0 or t_ve > t_last # dev: kick not allowed
assert self.working_balances[addr] > _balance * TOKENLESS_PRODUCTION / 100 # dev: kick not needed
self._checkpoint(addr)
self._update_liquidity_limit(addr, self.balanceOf[addr], self.totalSupply)
@external
def set_approve_deposit(addr: address, can_deposit: bool):
"""
@notice Set whether `addr` can deposit tokens for `msg.sender`
@param addr Address to set approval on
@param can_deposit bool - can this account deposit for `msg.sender`?
"""
self.approved_to_deposit[addr][msg.sender] = can_deposit
@external
@nonreentrant('lock')
def deposit(_value: uint256, addr: address = msg.sender):
"""
@notice Deposit `_value` LP tokens
@param _value Number of tokens to deposit
@param addr Address to deposit for
"""
if addr != msg.sender:
assert self.approved_to_deposit[msg.sender][addr], "Not approved"
self._checkpoint(addr)
if _value != 0:
_balance: uint256 = self.balanceOf[addr] + _value
_supply: uint256 = self.totalSupply + _value
self.balanceOf[addr] = _balance
self.totalSupply = _supply
self._update_liquidity_limit(addr, _balance, _supply)
assert ERC20(self.lp_token).transferFrom(msg.sender, self, _value)
log Deposit(addr, _value)
@external
@nonreentrant('lock')
def withdraw(_value: uint256):
"""
@notice Withdraw `_value` LP tokens
@param _value Number of tokens to withdraw
"""
self._checkpoint(msg.sender)
_balance: uint256 = self.balanceOf[msg.sender] - _value
_supply: uint256 = self.totalSupply - _value
self.balanceOf[msg.sender] = _balance
self.totalSupply = _supply
self._update_liquidity_limit(msg.sender, _balance, _supply)
assert ERC20(self.lp_token).transfer(msg.sender, _value)
log Withdraw(msg.sender, _value)
@external
@view
def integrate_checkpoint() -> uint256:
return self.period_timestamp[self.period]Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"name":"Deposit","inputs":[{"type":"address","name":"provider","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false,"type":"event"},{"name":"Withdraw","inputs":[{"type":"address","name":"provider","indexed":true},{"type":"uint256","name":"value","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateLiquidityLimit","inputs":[{"type":"address","name":"user","indexed":false},{"type":"uint256","name":"original_balance","indexed":false},{"type":"uint256","name":"original_supply","indexed":false},{"type":"uint256","name":"working_balance","indexed":false},{"type":"uint256","name":"working_supply","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[{"type":"address","name":"lp_addr"},{"type":"address","name":"_minter"}],"stateMutability":"nonpayable","type":"constructor"},{"name":"user_checkpoint","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"addr"}],"stateMutability":"nonpayable","type":"function","gas":2079152},{"name":"claimable_tokens","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"addr"}],"stateMutability":"nonpayable","type":"function","gas":1998318},{"name":"kick","outputs":[],"inputs":[{"type":"address","name":"addr"}],"stateMutability":"nonpayable","type":"function","gas":2084532},{"name":"set_approve_deposit","outputs":[],"inputs":[{"type":"address","name":"addr"},{"type":"bool","name":"can_deposit"}],"stateMutability":"nonpayable","type":"function","gas":35766},{"name":"deposit","outputs":[],"inputs":[{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function"},{"name":"deposit","outputs":[],"inputs":[{"type":"uint256","name":"_value"},{"type":"address","name":"addr"}],"stateMutability":"nonpayable","type":"function"},{"name":"withdraw","outputs":[],"inputs":[{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function","gas":2208318},{"name":"integrate_checkpoint","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":2297},{"name":"minter","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1421},{"name":"crv_token","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1451},{"name":"lp_token","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1481},{"name":"controller","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1511},{"name":"voting_escrow","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1541},{"name":"balanceOf","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1725},{"name":"totalSupply","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1601},{"name":"future_epoch_time","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1631},{"name":"approved_to_deposit","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"arg0"},{"type":"address","name":"arg1"}],"stateMutability":"view","type":"function","gas":1969},{"name":"working_balances","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1845},{"name":"working_supply","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1721},{"name":"period","outputs":[{"type":"int128","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1751},{"name":"period_timestamp","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":1890},{"name":"integrate_inv_supply","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":1920},{"name":"integrate_inv_supply_of","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1995},{"name":"integrate_checkpoint_of","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":2025},{"name":"integrate_fraction","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":2055},{"name":"inflation_rate","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1931}]Contract Creation Code
740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05260406118356101403934156100a157600080fd5b602061183560c03960c05160205181106100ba57600080fd5b50602060206118350160c03960c05160205181106100d757600080fd5b50600061014051186100e857600080fd5b600061016051186100f857600080fd5b61014051600255610160516000556020610200600463fc0c546a6101a0526101bc610160515afa61012857600080fd5b601f3d1161013557600080fd5b60005061020051610180526101805160015560206102a0600463f77c47916102405261025c610160515afa61016957600080fd5b601f3d1161017657600080fd5b6000506102a05161022052610220516003556020610320600463dfe050316102c0526102dc610220515afa6101aa57600080fd5b601f3d116101b757600080fd5b6000506103205160045542600c60c052602060c0205560206103a06004632c4e722e6103405261035c610180515afa6101ef57600080fd5b601f3d116101fc57600080fd5b6000506103a0516011556020610420600463b26b238e6103c0526103dc6000610180515af161022a57600080fd5b601f3d1161023757600080fd5b6000506104205160075561181d56600436101561000d576115d1565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05260001561031b575b6101a0526101405261016052610180526004546101c052602061028060246370a0823161020052610140516102205261021c6101c0515afa6100ea57600080fd5b601f3d116100f757600080fd5b600050610280516101e052602061032060046318160ddd6102c0526102dc6101c0515afa61012457600080fd5b601f3d1161013157600080fd5b600050610320516102a052610160516028808202821582848304141761015657600080fd5b809050905090506064808061016a57600080fd5b8204905090506103405260006102a05111156101ab57600c60c052602060c02054610e1081818301101561019d57600080fd5b8082019050905042116101ae565b60005b1561023a576103408051610180516101e05180820282158284830414176101d457600080fd5b809050905090506102a05180806101ea57600080fd5b820490509050603c808202821582848304141761020657600080fd5b809050905090506064808061021a57600080fd5b82049050905081818301101561022f57600080fd5b808201905090508152505b6101605161034051808211156102505780610252565b815b905090506103405260096101405160e05260c052604060c02054610360526103405160096101405160e05260c052604060c02055600a546103405181818301101561029c57600080fd5b8082019050905061036051808210156102b457600080fd5b808203905090506103805261038051600a55610140516103a052610160516103c052610180516103e052610340516104005261038051610420527f7ecd84343f76a23d2227290e0288da3251b045541698e575a5515af4f04197a360a06103a0a16101a051565b600015610935575b6101605261014052600154610180526003546101a052600b546101c0526101c0516c01431e0fae6d7217caa0000000811061035d57600080fd5b600c60c052602060c02001546101e0526101c0516c01431e0fae6d7217caa0000000811061038a57600080fd5b600d60c052602060c020015461020052601154610220526102205161024052600754610260526101e0516102605110151561043c5760206102e0600463b26b238e6102805261029c6000610180515af16103e357600080fd5b601f3d116103f057600080fd5b6000506102e05160075560206103606004632c4e722e6103005261031c610180515afa61041c57600080fd5b601f3d1161042957600080fd5b6000506103605161024052610240516011555b6101a0513b61044a57600080fd5b60006000602463615e523761038052306103a05261039c60006101a0515af161047257600080fd5b60096101405160e05260c052604060c0205461040052600a54610420526101e0514211156107e7576101e051610440526101e05162093a808181830110156104b957600080fd5b8082019050905062093a8080806104cf57600080fd5b82049050905062093a8080820282158284830414176104ed57600080fd5b8090509050905042808211156105035780610505565b815b905090506104605261048060006101f4818352015b61046051610440518082101561052f57600080fd5b808203905090506104a0526020610580604463d3078c946104e05230610500526104405162093a80808061056257600080fd5b82049050905062093a80808202821582848304141761058057600080fd5b80905090509050610520526104fc6101a0515afa61059d57600080fd5b601f3d116105aa57600080fd5b600050610580516104c05260006104205111156107845761044051610260511015156105de576104605161026051106105e1565b60005b1561070d576102008051610220516104c051808202821582848304141761060757600080fd5b8090509050905061026051610440518082101561062357600080fd5b80820390509050808202821582848304141761063e57600080fd5b8090509050905061042051808061065457600080fd5b82049050905081818301101561066957600080fd5b8082019050905081525061024051610220526102008051610220516104c051808202821582848304141761069c57600080fd5b809050905090506104605161026051808210156106b857600080fd5b8082039050905080820282158284830414176106d357600080fd5b809050905090506104205180806106e957600080fd5b8204905090508181830110156106fe57600080fd5b80820190509050815250610783565b6102008051610220516104c051808202821582848304141761072e57600080fd5b809050905090506104a051808202821582848304141761074d57600080fd5b8090509050905061042051808061076357600080fd5b82049050905081818301101561077857600080fd5b808201905090508152505b5b42610460511415610794576107e4565b61046051610440526104605162093a808181830110156107b357600080fd5b8082019050905042808211156107c957806107cb565b815b90509050610460525b815160010180835281141561051a575b50505b6101c0805160016060518183018060405190131561080457600080fd5b809190121561081257600080fd5b905090508152506101c051600b55426101c0516c01431e0fae6d7217caa0000000811061083e57600080fd5b600c60c052602060c0200155610200516101c0516c01431e0fae6d7217caa0000000811061086b57600080fd5b600d60c052602060c020015560106101405160e05260c052604060c02080546104005161020051600e6101405160e05260c052604060c02054808210156108b157600080fd5b8082039050905080820282158284830414176108cc57600080fd5b80905090509050670de0b6b3a764000080806108e757600080fd5b8204905090508181830110156108fc57600080fd5b8082019050905081555061020051600e6101405160e05260c052604060c0205542600f6101405160e05260c052604060c0205561016051565b634b82009360005114156109f857341561094e57600080fd5b600435602051811061095f57600080fd5b50600435331415610971576001610977565b60005433145b5b61098157600080fd5b600435610140526101405160065801610323565b6000506101405161016051610180516004356101c052600560043560e05260c052604060c020546101e05260065461020052610200516101e0516101c051600658016100a9565b610180526101605261014052600050600160005260206000f350005b63331345836000511415610aab573415610a1157600080fd5b6004356020518110610a2257600080fd5b50600435610140526101405160065801610323565b600050601060043560e05260c052604060c0205460206102406044638b752bb06101a0526004356101c052306101e0526101bc6000545afa610a7857600080fd5b601f3d11610a8557600080fd5b6000506102405180821015610a9957600080fd5b8082039050905060005260206000f350005b6396c551756000511415610d33573415610ac457600080fd5b6004356020518110610ad557600080fd5b5060045461014052600f60043560e05260c052604060c020546101605260206102e0604463da020a1861024052600435610260526020610220602463010ae7576101a0526004356101c0526101bc610140515afa610b3257600080fd5b601f3d11610b3f57600080fd5b600050610220516102805261025c610140515afa610b5c57600080fd5b601f3d11610b6957600080fd5b6000506102e05161018052600560043560e05260c052604060c0205461030052602061044060246370a082316103c0526004356103e0526103dc6004545afa610bb157600080fd5b601f3d11610bbe57600080fd5b600050610440511515610bd2576001610bdc565b6101605161018051115b5b610be657600080fd5b6103005160288082028215828483041417610c0057600080fd5b8090509050905060648080610c1457600080fd5b820490509050600960043560e05260c052604060c0205411610c3557600080fd5b610140610460525b61046051516020610460510161046052610460610460511015610c5f57610c3d565b600435610480526104805160065801610323565b610440610460525b6104605152602061046051036104605261014061046051101515610c9e57610c7b565b6000506101406104e0525b6104e0515160206104e051016104e0526104e06104e0511015610ccb57610ca9565b60043561050052600560043560e05260c052604060c020546105205260065461054052610540516105205161050051600658016100a9565b6104c06104e0525b6104e0515260206104e051036104e0526101406104e051101515610d2e57610d0b565b600050005b631d2747d46000511415610d91573415610d4c57600080fd5b6004356020518110610d5d57600080fd5b5060243560028110610d6e57600080fd5b50602435600860043560e05260c052604060c0203360e05260c052604060c02055005b63b6b55f256000511415610da9573361014052610de0565b636e553f656000511415610dd8576024356020518110610dc857600080fd5b6020602461014037600050610de0565b60001561101d575b62ffffff5415610def57600080fd5b600162ffffff553415610e0157600080fd5b33610140511815610e74576308c379a061016052602061018052600c6101a0527f4e6f7420617070726f76656400000000000000000000000000000000000000006101c0526101a05060083360e05260c052604060c0206101405160e05260c052604060c02054610e7357606461017cfd5b5b6101405161014051610220526102205160065801610323565b6101405260005060006004351815610fe25760056101405160e05260c052604060c02054600435818183011015610ec357600080fd5b8082019050905061028052600654600435818183011015610ee357600080fd5b808201905090506102a0526102805160056101405160e05260c052604060c020556102a0516006556101406102c0525b6102c0515160206102c051016102c0526102c06102c0511015610f3557610f13565b610140516102e05261028051610300526102a0516103205261032051610300516102e051600658016100a9565b6102a06102c0525b6102c0515260206102c051036102c0526101406102c051101515610f8d57610f6a565b600050602061044060646323b872dd61038052336103a052306103c0526004356103e05261039c60006002545af1610fc457600080fd5b601f3d11610fd157600080fd5b60005061044051610fe157600080fd5b5b60043561046052610140517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c6020610460a2600062ffffff55005b632e1a7d4d600051141561119c5762ffffff541561103a57600080fd5b600162ffffff55341561104c57600080fd5b33610140526101405160065801610323565b60005060053360e05260c052604060c020546004358082101561108057600080fd5b808203905090506101a0526006546004358082101561109e57600080fd5b808203905090506101c0526101a05160053360e05260c052604060c020556101c0516006556101405161016051610180516101a0516101c05133610200526101a051610220526101c05161024052610240516102205161020051600658016100a9565b6101c0526101a0526101805261016052610140526000506020610340604463a9059cbb6102a052336102c0526004356102e0526102bc60006002545af161114757600080fd5b601f3d1161115457600080fd5b6000506103405161116457600080fd5b60043561036052337f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243646020610360a2600062ffffff55005b63d31f3f6d60005114156111e85734156111b557600080fd5b600b546c01431e0fae6d7217caa000000081106111d157600080fd5b600c60c052602060c020015460005260206000f350005b6307546172600051141561120f57341561120157600080fd5b60005460005260206000f350005b6376d8b117600051141561123657341561122857600080fd5b60015460005260206000f350005b6382c63066600051141561125d57341561124f57600080fd5b60025460005260206000f350005b63f77c4791600051141561128457341561127657600080fd5b60035460005260206000f350005b63dfe0503160005114156112ab57341561129d57600080fd5b60045460005260206000f350005b6370a0823160005114156112f25734156112c457600080fd5b60043560205181106112d557600080fd5b50600560043560e05260c052604060c0205460005260206000f350005b6318160ddd600051141561131957341561130b57600080fd5b60065460005260206000f350005b63be5d1be9600051141561134057341561133257600080fd5b60075460005260206000f350005b63e152253660005114156113a757341561135957600080fd5b600435602051811061136a57600080fd5b50602435602051811061137c57600080fd5b50600860043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b6313ecb1ca60005114156113ee5734156113c057600080fd5b60043560205181106113d157600080fd5b50600960043560e05260c052604060c0205460005260206000f350005b6317e28089600051141561141557341561140757600080fd5b600a5460005260206000f350005b63ef78d4fd600051141561143c57341561142e57600080fd5b600b5460005260206000f350005b637598108c600051141561148857341561145557600080fd5b6004356c01431e0fae6d7217caa0000000811061147157600080fd5b600c60c052602060c020015460005260206000f350005b63fec8ee0c60005114156114d45734156114a157600080fd5b6004356c01431e0fae6d7217caa000000081106114bd57600080fd5b600d60c052602060c020015460005260206000f350005b63de263bfa600051141561151b5734156114ed57600080fd5b60043560205181106114fe57600080fd5b50600e60043560e05260c052604060c0205460005260206000f350005b639bd324f2600051141561156257341561153457600080fd5b600435602051811061154557600080fd5b50600f60043560e05260c052604060c0205460005260206000f350005b630940070760005114156115a957341561157b57600080fd5b600435602051811061158c57600080fd5b50601060043560e05260c052604060c0205460005260206000f350005b63180692d060005114156115d05734156115c257600080fd5b60115460005260206000f350005b5b60006000fd5b61024661181d0361024660003961024661181d036000f300000000000000000000000077c6e4a580c0dce4e5c7a17d0bc077188a83a0590000000000000000000000002c988c3974ad7e604e276ae0294a7228def67974
Deployed Bytecode
0x600436101561000d576115d1565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05260001561031b575b6101a0526101405261016052610180526004546101c052602061028060246370a0823161020052610140516102205261021c6101c0515afa6100ea57600080fd5b601f3d116100f757600080fd5b600050610280516101e052602061032060046318160ddd6102c0526102dc6101c0515afa61012457600080fd5b601f3d1161013157600080fd5b600050610320516102a052610160516028808202821582848304141761015657600080fd5b809050905090506064808061016a57600080fd5b8204905090506103405260006102a05111156101ab57600c60c052602060c02054610e1081818301101561019d57600080fd5b8082019050905042116101ae565b60005b1561023a576103408051610180516101e05180820282158284830414176101d457600080fd5b809050905090506102a05180806101ea57600080fd5b820490509050603c808202821582848304141761020657600080fd5b809050905090506064808061021a57600080fd5b82049050905081818301101561022f57600080fd5b808201905090508152505b6101605161034051808211156102505780610252565b815b905090506103405260096101405160e05260c052604060c02054610360526103405160096101405160e05260c052604060c02055600a546103405181818301101561029c57600080fd5b8082019050905061036051808210156102b457600080fd5b808203905090506103805261038051600a55610140516103a052610160516103c052610180516103e052610340516104005261038051610420527f7ecd84343f76a23d2227290e0288da3251b045541698e575a5515af4f04197a360a06103a0a16101a051565b600015610935575b6101605261014052600154610180526003546101a052600b546101c0526101c0516c01431e0fae6d7217caa0000000811061035d57600080fd5b600c60c052602060c02001546101e0526101c0516c01431e0fae6d7217caa0000000811061038a57600080fd5b600d60c052602060c020015461020052601154610220526102205161024052600754610260526101e0516102605110151561043c5760206102e0600463b26b238e6102805261029c6000610180515af16103e357600080fd5b601f3d116103f057600080fd5b6000506102e05160075560206103606004632c4e722e6103005261031c610180515afa61041c57600080fd5b601f3d1161042957600080fd5b6000506103605161024052610240516011555b6101a0513b61044a57600080fd5b60006000602463615e523761038052306103a05261039c60006101a0515af161047257600080fd5b60096101405160e05260c052604060c0205461040052600a54610420526101e0514211156107e7576101e051610440526101e05162093a808181830110156104b957600080fd5b8082019050905062093a8080806104cf57600080fd5b82049050905062093a8080820282158284830414176104ed57600080fd5b8090509050905042808211156105035780610505565b815b905090506104605261048060006101f4818352015b61046051610440518082101561052f57600080fd5b808203905090506104a0526020610580604463d3078c946104e05230610500526104405162093a80808061056257600080fd5b82049050905062093a80808202821582848304141761058057600080fd5b80905090509050610520526104fc6101a0515afa61059d57600080fd5b601f3d116105aa57600080fd5b600050610580516104c05260006104205111156107845761044051610260511015156105de576104605161026051106105e1565b60005b1561070d576102008051610220516104c051808202821582848304141761060757600080fd5b8090509050905061026051610440518082101561062357600080fd5b80820390509050808202821582848304141761063e57600080fd5b8090509050905061042051808061065457600080fd5b82049050905081818301101561066957600080fd5b8082019050905081525061024051610220526102008051610220516104c051808202821582848304141761069c57600080fd5b809050905090506104605161026051808210156106b857600080fd5b8082039050905080820282158284830414176106d357600080fd5b809050905090506104205180806106e957600080fd5b8204905090508181830110156106fe57600080fd5b80820190509050815250610783565b6102008051610220516104c051808202821582848304141761072e57600080fd5b809050905090506104a051808202821582848304141761074d57600080fd5b8090509050905061042051808061076357600080fd5b82049050905081818301101561077857600080fd5b808201905090508152505b5b42610460511415610794576107e4565b61046051610440526104605162093a808181830110156107b357600080fd5b8082019050905042808211156107c957806107cb565b815b90509050610460525b815160010180835281141561051a575b50505b6101c0805160016060518183018060405190131561080457600080fd5b809190121561081257600080fd5b905090508152506101c051600b55426101c0516c01431e0fae6d7217caa0000000811061083e57600080fd5b600c60c052602060c0200155610200516101c0516c01431e0fae6d7217caa0000000811061086b57600080fd5b600d60c052602060c020015560106101405160e05260c052604060c02080546104005161020051600e6101405160e05260c052604060c02054808210156108b157600080fd5b8082039050905080820282158284830414176108cc57600080fd5b80905090509050670de0b6b3a764000080806108e757600080fd5b8204905090508181830110156108fc57600080fd5b8082019050905081555061020051600e6101405160e05260c052604060c0205542600f6101405160e05260c052604060c0205561016051565b634b82009360005114156109f857341561094e57600080fd5b600435602051811061095f57600080fd5b50600435331415610971576001610977565b60005433145b5b61098157600080fd5b600435610140526101405160065801610323565b6000506101405161016051610180516004356101c052600560043560e05260c052604060c020546101e05260065461020052610200516101e0516101c051600658016100a9565b610180526101605261014052600050600160005260206000f350005b63331345836000511415610aab573415610a1157600080fd5b6004356020518110610a2257600080fd5b50600435610140526101405160065801610323565b600050601060043560e05260c052604060c0205460206102406044638b752bb06101a0526004356101c052306101e0526101bc6000545afa610a7857600080fd5b601f3d11610a8557600080fd5b6000506102405180821015610a9957600080fd5b8082039050905060005260206000f350005b6396c551756000511415610d33573415610ac457600080fd5b6004356020518110610ad557600080fd5b5060045461014052600f60043560e05260c052604060c020546101605260206102e0604463da020a1861024052600435610260526020610220602463010ae7576101a0526004356101c0526101bc610140515afa610b3257600080fd5b601f3d11610b3f57600080fd5b600050610220516102805261025c610140515afa610b5c57600080fd5b601f3d11610b6957600080fd5b6000506102e05161018052600560043560e05260c052604060c0205461030052602061044060246370a082316103c0526004356103e0526103dc6004545afa610bb157600080fd5b601f3d11610bbe57600080fd5b600050610440511515610bd2576001610bdc565b6101605161018051115b5b610be657600080fd5b6103005160288082028215828483041417610c0057600080fd5b8090509050905060648080610c1457600080fd5b820490509050600960043560e05260c052604060c0205411610c3557600080fd5b610140610460525b61046051516020610460510161046052610460610460511015610c5f57610c3d565b600435610480526104805160065801610323565b610440610460525b6104605152602061046051036104605261014061046051101515610c9e57610c7b565b6000506101406104e0525b6104e0515160206104e051016104e0526104e06104e0511015610ccb57610ca9565b60043561050052600560043560e05260c052604060c020546105205260065461054052610540516105205161050051600658016100a9565b6104c06104e0525b6104e0515260206104e051036104e0526101406104e051101515610d2e57610d0b565b600050005b631d2747d46000511415610d91573415610d4c57600080fd5b6004356020518110610d5d57600080fd5b5060243560028110610d6e57600080fd5b50602435600860043560e05260c052604060c0203360e05260c052604060c02055005b63b6b55f256000511415610da9573361014052610de0565b636e553f656000511415610dd8576024356020518110610dc857600080fd5b6020602461014037600050610de0565b60001561101d575b62ffffff5415610def57600080fd5b600162ffffff553415610e0157600080fd5b33610140511815610e74576308c379a061016052602061018052600c6101a0527f4e6f7420617070726f76656400000000000000000000000000000000000000006101c0526101a05060083360e05260c052604060c0206101405160e05260c052604060c02054610e7357606461017cfd5b5b6101405161014051610220526102205160065801610323565b6101405260005060006004351815610fe25760056101405160e05260c052604060c02054600435818183011015610ec357600080fd5b8082019050905061028052600654600435818183011015610ee357600080fd5b808201905090506102a0526102805160056101405160e05260c052604060c020556102a0516006556101406102c0525b6102c0515160206102c051016102c0526102c06102c0511015610f3557610f13565b610140516102e05261028051610300526102a0516103205261032051610300516102e051600658016100a9565b6102a06102c0525b6102c0515260206102c051036102c0526101406102c051101515610f8d57610f6a565b600050602061044060646323b872dd61038052336103a052306103c0526004356103e05261039c60006002545af1610fc457600080fd5b601f3d11610fd157600080fd5b60005061044051610fe157600080fd5b5b60043561046052610140517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c6020610460a2600062ffffff55005b632e1a7d4d600051141561119c5762ffffff541561103a57600080fd5b600162ffffff55341561104c57600080fd5b33610140526101405160065801610323565b60005060053360e05260c052604060c020546004358082101561108057600080fd5b808203905090506101a0526006546004358082101561109e57600080fd5b808203905090506101c0526101a05160053360e05260c052604060c020556101c0516006556101405161016051610180516101a0516101c05133610200526101a051610220526101c05161024052610240516102205161020051600658016100a9565b6101c0526101a0526101805261016052610140526000506020610340604463a9059cbb6102a052336102c0526004356102e0526102bc60006002545af161114757600080fd5b601f3d1161115457600080fd5b6000506103405161116457600080fd5b60043561036052337f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243646020610360a2600062ffffff55005b63d31f3f6d60005114156111e85734156111b557600080fd5b600b546c01431e0fae6d7217caa000000081106111d157600080fd5b600c60c052602060c020015460005260206000f350005b6307546172600051141561120f57341561120157600080fd5b60005460005260206000f350005b6376d8b117600051141561123657341561122857600080fd5b60015460005260206000f350005b6382c63066600051141561125d57341561124f57600080fd5b60025460005260206000f350005b63f77c4791600051141561128457341561127657600080fd5b60035460005260206000f350005b63dfe0503160005114156112ab57341561129d57600080fd5b60045460005260206000f350005b6370a0823160005114156112f25734156112c457600080fd5b60043560205181106112d557600080fd5b50600560043560e05260c052604060c0205460005260206000f350005b6318160ddd600051141561131957341561130b57600080fd5b60065460005260206000f350005b63be5d1be9600051141561134057341561133257600080fd5b60075460005260206000f350005b63e152253660005114156113a757341561135957600080fd5b600435602051811061136a57600080fd5b50602435602051811061137c57600080fd5b50600860043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b6313ecb1ca60005114156113ee5734156113c057600080fd5b60043560205181106113d157600080fd5b50600960043560e05260c052604060c0205460005260206000f350005b6317e28089600051141561141557341561140757600080fd5b600a5460005260206000f350005b63ef78d4fd600051141561143c57341561142e57600080fd5b600b5460005260206000f350005b637598108c600051141561148857341561145557600080fd5b6004356c01431e0fae6d7217caa0000000811061147157600080fd5b600c60c052602060c020015460005260206000f350005b63fec8ee0c60005114156114d45734156114a157600080fd5b6004356c01431e0fae6d7217caa000000081106114bd57600080fd5b600d60c052602060c020015460005260206000f350005b63de263bfa600051141561151b5734156114ed57600080fd5b60043560205181106114fe57600080fd5b50600e60043560e05260c052604060c0205460005260206000f350005b639bd324f2600051141561156257341561153457600080fd5b600435602051811061154557600080fd5b50600f60043560e05260c052604060c0205460005260206000f350005b630940070760005114156115a957341561157b57600080fd5b600435602051811061158c57600080fd5b50601060043560e05260c052604060c0205460005260206000f350005b63180692d060005114156115d05734156115c257600080fd5b60115460005260206000f350005b5b60006000fd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000077c6e4a580c0dce4e5c7a17d0bc077188a83a0590000000000000000000000002c988c3974ad7e604e276ae0294a7228def67974
-----Decoded View---------------
Arg [0] : lp_addr (address): 0x77C6E4a580c0dCE4E5c7a17d0bc077188a83A059
Arg [1] : _minter (address): 0x2c988c3974AD7E604E276AE0294a7228DEf67974
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000077c6e4a580c0dce4e5c7a17d0bc077188a83a059
Arg [1] : 0000000000000000000000002c988c3974ad7e604e276ae0294a7228def67974
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1.07 | 275,627.5177 | $294,094.56 |
Loading...
Loading
Loading...
Loading
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.