Source Code
Latest 25 from a total of 5,169 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Remove_liquidity | 24548992 | 6 days ago | IN | 0 ETH | 0.0001798 | ||||
| Remove_liquidity | 24546862 | 6 days ago | IN | 0 ETH | 0.00001144 | ||||
| Add_liquidity | 24528975 | 9 days ago | IN | 0 ETH | 0.00087964 | ||||
| Remove_liquidity... | 24512601 | 11 days ago | IN | 0 ETH | 0.00004384 | ||||
| Remove_liquidity... | 24499135 | 13 days ago | IN | 0 ETH | 0.0004088 | ||||
| Add_liquidity | 24492266 | 14 days ago | IN | 0 ETH | 0.00004859 | ||||
| Remove_liquidity... | 24473032 | 17 days ago | IN | 0 ETH | 0.00001136 | ||||
| Remove_liquidity... | 24472964 | 17 days ago | IN | 0 ETH | 0.0000132 | ||||
| Remove_liquidity... | 24472947 | 17 days ago | IN | 0 ETH | 0.00001262 | ||||
| Add_liquidity | 24463916 | 18 days ago | IN | 0 ETH | 0.00002487 | ||||
| Exchange | 24406743 | 26 days ago | IN | 0 ETH | 0.00009395 | ||||
| Exchange | 24406668 | 26 days ago | IN | 0 ETH | 0.00008625 | ||||
| Add_liquidity | 24318336 | 38 days ago | IN | 0 ETH | 0.00001991 | ||||
| Add_liquidity | 24318191 | 38 days ago | IN | 0 ETH | 0.00002179 | ||||
| Add_liquidity | 24269478 | 45 days ago | IN | 0 ETH | 0.0000508 | ||||
| Add_liquidity | 24262358 | 46 days ago | IN | 0 ETH | 0.00001445 | ||||
| Remove_liquidity... | 24238451 | 49 days ago | IN | 0 ETH | 0.00007079 | ||||
| Add_liquidity | 24231343 | 50 days ago | IN | 0 ETH | 0.00055117 | ||||
| Remove_liquidity | 24230618 | 50 days ago | IN | 0 ETH | 0.00001553 | ||||
| Add_liquidity | 24224534 | 51 days ago | IN | 0 ETH | 0.00005483 | ||||
| Add_liquidity | 24196294 | 55 days ago | IN | 0 ETH | 0.00006617 | ||||
| Add_liquidity | 24188738 | 56 days ago | IN | 0 ETH | 0.00002533 | ||||
| Remove_liquidity | 24188706 | 56 days ago | IN | 0 ETH | 0.00001678 | ||||
| Remove_liquidity... | 24180166 | 57 days ago | IN | 0 ETH | 0.00038675 | ||||
| Add_liquidity | 24179846 | 57 days ago | IN | 0 ETH | 0.00001104 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.4
Contract Source Code (Vyper language format)
# @version 0.3.4
"""
@title Zap for Curve Factory
@license MIT
@author Curve.Fi
@notice Zap for fraxbp metapools created via crypto factory
"""
interface ERC20: # Custom ERC20 which works for Curve LP Tokens
def transfer(_receiver: address, _amount: uint256): nonpayable
def transferFrom(_sender: address, _receiver: address, _amount: uint256): nonpayable
def approve(_spender: address, _amount: uint256): nonpayable
def balanceOf(_owner: address) -> uint256: view
interface wETH:
def deposit(): payable
def withdraw(_amount: uint256): nonpayable
# CurveCryptoSwap2ETH from Crypto Factory
interface CurveMeta:
def coins(i: uint256) -> address: view
def token() -> address: view
def lp_price() -> uint256: view
def price_scale() -> uint256: view
def price_oracle() -> uint256: view
def virtual_price() -> uint256: view
def get_dy(i: uint256, j: uint256, dx: uint256) -> uint256: view
def calc_token_amount(amounts: uint256[N_COINS]) -> uint256: view
def calc_withdraw_one_coin(token_amount: uint256, i: uint256) -> uint256: view
def exchange(i: uint256, j: uint256, dx: uint256, min_dy: uint256, use_eth: bool = False, receiver: address = msg.sender) -> uint256: payable
def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256, use_eth: bool = False, receiver: address = msg.sender) -> uint256: payable
def remove_liquidity(_amount: uint256, min_amounts: uint256[2], use_eth: bool = False, receiver: address = msg.sender): nonpayable
def remove_liquidity_one_coin(token_amount: uint256, i: uint256, min_amount: uint256, use_eth: bool = False, receiver: address = msg.sender) -> uint256: nonpayable
# FraxBP
interface CurveBase:
def coins(i: uint256) -> address: view
def lp_token() -> address: view
def get_dy(i: int128, j: int128, dx: uint256) -> uint256: view
def calc_token_amount(amounts: uint256[BASE_N_COINS], is_deposit: bool) -> uint256: view
def calc_withdraw_one_coin(token_amount: uint256, i: int128) -> uint256: view
def exchange(i: int128, j: int128, dx: uint256, min_dy: uint256): nonpayable
def add_liquidity(amounts: uint256[BASE_N_COINS], min_mint_amount: uint256): nonpayable
def remove_liquidity_one_coin(token_amount: uint256, i: int128, min_amount: uint256): nonpayable
def remove_liquidity(amount: uint256, min_amounts: uint256[BASE_N_COINS]): nonpayable
def get_virtual_price() -> uint256: view
N_COINS: constant(uint256) = 2
MAX_COIN: constant(uint256) = N_COINS - 1
BASE_N_COINS: constant(uint256) = 2
N_ALL_COINS: constant(uint256) = N_COINS + BASE_N_COINS - 1
WETH: immutable(wETH)
BASE_POOL: immutable(CurveBase)
BASE_LP_TOKEN: immutable(address)
BASE_COINS: immutable(address[BASE_N_COINS])
# coin -> pool -> is approved to transfer?
is_approved: HashMap[address, HashMap[address, bool]]
@external
def __init__(_base_pool: address, _weth: address):
"""
@notice Contract constructor
"""
BASE_POOL = CurveBase(_base_pool)
BASE_LP_TOKEN = BASE_POOL.lp_token()
base_coins: address[BASE_N_COINS] = empty(address[BASE_N_COINS])
for i in range(BASE_N_COINS):
base_coins[i] = BASE_POOL.coins(i)
BASE_COINS = base_coins
WETH = wETH(_weth)
for coin in base_coins:
ERC20(coin).approve(_base_pool, max_value(uint256))
self.is_approved[coin][_base_pool] = True
@payable
@external
def __default__():
assert msg.sender.is_contract # dev: receive only from pools and WETH
@pure
@external
def base_pool() -> address:
return BASE_POOL.address
@pure
@external
def base_token() -> address:
return BASE_LP_TOKEN
@external
@view
def price_oracle(_pool: address) -> uint256:
usd_tkn: uint256 = CurveMeta(_pool).price_oracle()
vprice: uint256 = BASE_POOL.get_virtual_price()
return vprice * 10**18 / usd_tkn
@external
@view
def price_scale(_pool: address) -> uint256:
usd_tkn: uint256 = CurveMeta(_pool).price_scale()
vprice: uint256 = BASE_POOL.get_virtual_price()
return vprice * 10**18 / usd_tkn
@external
@view
def lp_price(_pool: address) -> uint256:
p: uint256 = CurveMeta(_pool).lp_price() # price in tkn
usd_tkn: uint256 = CurveMeta(_pool).price_oracle()
vprice: uint256 = BASE_POOL.get_virtual_price()
return p * vprice / usd_tkn
@internal
def _receive(_coin: address, _amount: uint256, _from: address,
_eth_value: uint256, _use_eth: bool, _wrap_eth: bool=False) -> uint256:
"""
Transfer coin to zap
@param _coin Address of the coin
@param _amount Amount of coin
@param _from Sender of the coin
@param _eth_value Eth value sent
@param _use_eth Use raw ETH
@param _wrap_eth Wrap raw ETH
@return Received ETH amount
"""
if _use_eth and _coin == WETH.address:
assert _eth_value == _amount # dev: incorrect ETH amount
if _wrap_eth:
WETH.deposit(value=_amount)
else:
return _amount
else:
response: Bytes[32] = raw_call(
_coin,
_abi_encode(
_from,
self,
_amount,
method_id=method_id("transferFrom(address,address,uint256)"),
),
max_outsize=32,
)
if len(response) != 0:
assert convert(response, bool) # dev: failed transfer
return 0
@internal
def _send(_coin: address, _to: address, _use_eth: bool, _withdraw_eth: bool=False) -> uint256:
"""
Send coin from zap
@dev Sends all available amount
@param _coin Address of the coin
@param _to Sender of the coin
@param _use_eth Use raw ETH
@param _withdraw_eth Withdraw raw ETH from wETH
@return Amount of coin sent
"""
amount: uint256 = 0
if _use_eth and _coin == WETH.address:
if _withdraw_eth:
amount = ERC20(_coin).balanceOf(self)
WETH.withdraw(amount)
amount = self.balance
raw_call(_to, b"", value=amount)
else:
amount = ERC20(_coin).balanceOf(self)
response: Bytes[32] = raw_call(
_coin,
_abi_encode(_to, amount, method_id=method_id("transfer(address,uint256)")),
max_outsize=32,
)
if len(response) != 0:
assert convert(response, bool) # dev: failed transfer
return amount
@payable
@external
def exchange(_pool: address, i: uint256, j: uint256, _dx: uint256, _min_dy: uint256,
_use_eth: bool = False, _receiver: address = msg.sender) -> uint256:
"""
@notice Exchange using wETH by default
@dev Index values can be found via the `coins` public getter method
@param _pool Address of the pool for the exchange
@param i Index value for the coin to send
@param j Index value of the coin to receive
@param _dx Amount of `i` being exchanged
@param _min_dy Minimum amount of `j` to receive
@param _use_eth Use raw ETH
@param _receiver Address that will receive `j`
@return Actual amount of `j` received
"""
assert i != j # dev: indexes are similar
if not _use_eth:
assert msg.value == 0 # dev: nonzero ETH amount
base_coins: address[BASE_N_COINS] = BASE_COINS
if i < MAX_COIN: # Swap to LP token and remove from base
# Receive and swap to LP Token
coin: address = CurveMeta(_pool).coins(i)
eth_amount: uint256 = self._receive(coin, _dx, msg.sender, msg.value, _use_eth)
if not self.is_approved[coin][_pool]:
ERC20(coin).approve(_pool, max_value(uint256))
self.is_approved[coin][_pool] = True
lp_amount: uint256 = CurveMeta(_pool).exchange(i, MAX_COIN, _dx, 0, _use_eth, value=eth_amount)
# Remove and send to _receiver
BASE_POOL.remove_liquidity_one_coin(lp_amount, convert(j - MAX_COIN, int128), _min_dy)
coin = base_coins[j - MAX_COIN]
return self._send(coin, _receiver, _use_eth, True)
# Receive coin i
base_i: int128 = convert(i - MAX_COIN, int128)
self._receive(base_coins[base_i], _dx, msg.sender, msg.value, _use_eth, True)
# Add in base and exchange LP token
if j < MAX_COIN:
amounts: uint256[BASE_N_COINS] = empty(uint256[BASE_N_COINS])
amounts[base_i] = _dx
BASE_POOL.add_liquidity(amounts, 0)
if not self.is_approved[BASE_LP_TOKEN][_pool]:
ERC20(BASE_LP_TOKEN).approve(_pool, max_value(uint256))
self.is_approved[BASE_LP_TOKEN][_pool] = True
lp_amount: uint256 = ERC20(BASE_LP_TOKEN).balanceOf(self)
return CurveMeta(_pool).exchange(MAX_COIN, j, lp_amount, _min_dy, _use_eth, _receiver)
base_j: int128 = convert(j - MAX_COIN, int128)
BASE_POOL.exchange(base_i, base_j, _dx, _min_dy)
coin: address = base_coins[base_j]
return self._send(coin, _receiver, _use_eth, True)
@view
@external
def get_dy(_pool: address, i: uint256, j: uint256, _dx: uint256) -> uint256:
"""
@notice Calculate the amount received in exchange
@dev Index values can be found via the `coins` public getter method
@param _pool Address of the pool for the exchange
@param i Index value for the coin to send
@param j Index value of the coin to receive
@param _dx Amount of `i` being exchanged
@return Expected amount of `j` to receive
"""
assert i != j # dev: indexes are similar
if i < MAX_COIN: # Swap to LP token and remove from base
lp_amount: uint256 = CurveMeta(_pool).get_dy(i, MAX_COIN, _dx)
return BASE_POOL.calc_withdraw_one_coin(lp_amount, convert(j - MAX_COIN, int128))
# Add in base and exchange LP token
if j < MAX_COIN:
amounts: uint256[BASE_N_COINS] = empty(uint256[BASE_N_COINS])
amounts[i - MAX_COIN] = _dx
lp_amount: uint256 = BASE_POOL.calc_token_amount(amounts, True)
return CurveMeta(_pool).get_dy(MAX_COIN, j, lp_amount)
# Exchange in base
return BASE_POOL.get_dy(convert(i - MAX_COIN, int128), convert(j - MAX_COIN, int128), _dx)
@payable
@external
def add_liquidity(
_pool: address,
_deposit_amounts: uint256[N_ALL_COINS],
_min_mint_amount: uint256,
_use_eth: bool = False,
_receiver: address = msg.sender,
) -> uint256:
"""
@notice Deposit tokens to base and meta pools
@param _pool Address of the metapool to deposit into
@param _deposit_amounts List of amounts of underlying coins to deposit
@param _min_mint_amount Minimum amount of LP tokens to mint from the deposit
@param _use_eth Use raw ETH
@param _receiver Address that receives the LP tokens
@return Amount of LP tokens received by depositing
"""
if not _use_eth:
assert msg.value == 0 # dev: nonzero ETH amount
meta_amounts: uint256[N_COINS] = empty(uint256[N_COINS])
base_amounts: uint256[BASE_N_COINS] = empty(uint256[BASE_N_COINS])
deposit_base: bool = False
base_coins: address[BASE_N_COINS] = BASE_COINS
eth_amount: uint256 = 0
if _deposit_amounts[0] != 0:
coin: address = CurveMeta(_pool).coins(0)
eth_amount = self._receive(coin, _deposit_amounts[0], msg.sender, msg.value, _use_eth)
if not self.is_approved[coin][_pool]:
ERC20(coin).approve(_pool, max_value(uint256))
self.is_approved[coin][_pool] = True
meta_amounts[0] = _deposit_amounts[0]
for i in range(MAX_COIN, N_ALL_COINS):
amount: uint256 = _deposit_amounts[i]
if amount == 0:
continue
deposit_base = True
base_idx: uint256 = i - MAX_COIN
coin: address = base_coins[base_idx]
self._receive(coin, amount, msg.sender, msg.value, _use_eth, True)
base_amounts[base_idx] = amount
# Deposit to the base pool
if deposit_base:
BASE_POOL.add_liquidity(base_amounts, 0)
meta_amounts[MAX_COIN] = ERC20(BASE_LP_TOKEN).balanceOf(self)
if not self.is_approved[BASE_LP_TOKEN][_pool]:
ERC20(BASE_LP_TOKEN).approve(_pool, max_value(uint256))
self.is_approved[BASE_LP_TOKEN][_pool] = True
# Deposit to the meta pool
return CurveMeta(_pool).add_liquidity(meta_amounts, _min_mint_amount, _use_eth, _receiver, value=eth_amount)
@view
@external
def calc_token_amount(_pool: address, _amounts: uint256[N_ALL_COINS]) -> uint256:
"""
@notice Calculate addition in token supply from a deposit or withdrawal
@dev This calculation accounts for slippage, but not fees.
Needed to prevent front-running, not for precise calculations!
@param _pool Address of the pool to deposit into
@param _amounts Amount of each underlying coin being deposited
@return Expected amount of LP tokens received
"""
meta_amounts: uint256[N_COINS] = empty(uint256[N_COINS])
base_amounts: uint256[BASE_N_COINS] = empty(uint256[BASE_N_COINS])
deposit_base: bool = False
meta_amounts[0] = _amounts[0]
for i in range(BASE_N_COINS):
base_amounts[i] = _amounts[i + MAX_COIN]
if base_amounts[i] > 0:
deposit_base = True
if deposit_base:
base_tokens: uint256 = BASE_POOL.calc_token_amount(base_amounts, True)
meta_amounts[MAX_COIN] = base_tokens
return CurveMeta(_pool).calc_token_amount(meta_amounts)
@external
def remove_liquidity(
_pool: address,
_burn_amount: uint256,
_min_amounts: uint256[N_ALL_COINS],
_use_eth: bool = False,
_receiver: address = msg.sender,
) -> uint256[N_ALL_COINS]:
"""
@notice Withdraw and unwrap coins from the pool
@dev Withdrawal amounts are based on current deposit ratios
@param _pool Address of the pool to withdraw from
@param _burn_amount Quantity of LP tokens to burn in the withdrawal
@param _min_amounts Minimum amounts of underlying coins to receive
@param _use_eth Use raw ETH
@param _receiver Address that receives the LP tokens
@return List of amounts of underlying coins that were withdrawn
"""
lp_token: address = CurveMeta(_pool).token()
ERC20(lp_token).transferFrom(msg.sender, self, _burn_amount)
min_amounts_base: uint256[BASE_N_COINS] = empty(uint256[BASE_N_COINS])
amounts: uint256[N_ALL_COINS] = empty(uint256[N_ALL_COINS])
# Withdraw from meta
CurveMeta(_pool).remove_liquidity(
_burn_amount,
[_min_amounts[0], 0],
_use_eth,
)
lp_amount: uint256 = ERC20(BASE_LP_TOKEN).balanceOf(self)
# Withdraw from base
for i in range(BASE_N_COINS):
min_amounts_base[i] = _min_amounts[MAX_COIN + i]
BASE_POOL.remove_liquidity(lp_amount, min_amounts_base)
# Transfer all coins out
coin: address = CurveMeta(_pool).coins(0)
amounts[0] = self._send(coin, _receiver, _use_eth)
base_coins: address[BASE_N_COINS] = BASE_COINS
for i in range(MAX_COIN, N_ALL_COINS):
coin = base_coins[i - MAX_COIN]
amounts[i] = self._send(coin, _receiver, _use_eth, True)
return amounts
@external
def remove_liquidity_one_coin(
_pool: address,
_burn_amount: uint256,
i: uint256,
_min_amount: uint256,
_use_eth: bool = False,
_receiver: address=msg.sender
) -> uint256:
"""
@notice Withdraw and unwrap a single coin from the pool
@param _pool Address of the pool to withdraw from
@param _burn_amount Amount of LP tokens to burn in the withdrawal
@param i Index value of the coin to withdraw
@param _min_amount Minimum amount of underlying coin to receive
@param _use_eth Use raw ETH
@param _receiver Address that receives the LP tokens
@return Amount of underlying coin received
"""
lp_token: address = CurveMeta(_pool).token()
ERC20(lp_token).transferFrom(msg.sender, self, _burn_amount)
if i < MAX_COIN:
return CurveMeta(_pool).remove_liquidity_one_coin(_burn_amount, i, _min_amount, _use_eth, _receiver)
# Withdraw a base pool coin
coin_amount: uint256 = CurveMeta(_pool).remove_liquidity_one_coin(_burn_amount, MAX_COIN, 0)
BASE_POOL.remove_liquidity_one_coin(coin_amount, convert(i - MAX_COIN, int128), _min_amount)
coin: address = BASE_COINS[i - MAX_COIN]
return self._send(coin, _receiver, _use_eth, True)
@view
@external
def calc_withdraw_one_coin(_pool: address, _token_amount: uint256, i: uint256) -> uint256:
"""
@notice Calculate the amount received when withdrawing and unwrapping a single coin
@param _pool Address of the pool to withdraw from
@param _token_amount Amount of LP tokens to burn in the withdrawal
@param i Index value of the underlying coin to withdraw
@return Amount of coin received
"""
if i < MAX_COIN:
return CurveMeta(_pool).calc_withdraw_one_coin(_token_amount, i)
_base_tokens: uint256 = CurveMeta(_pool).calc_withdraw_one_coin(_token_amount, MAX_COIN)
return BASE_POOL.calc_withdraw_one_coin(_base_tokens, convert(i - MAX_COIN, int128))Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_base_pool","type":"address"},{"name":"_weth","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"pure","type":"function","name":"base_pool","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"pure","type":"function","name":"base_token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"price_oracle","inputs":[{"name":"_pool","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"price_scale","inputs":[{"name":"_pool","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"lp_price","inputs":[{"name":"_pool","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_pool","type":"address"},{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_pool","type":"address"},{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"},{"name":"_use_eth","type":"bool"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"exchange","inputs":[{"name":"_pool","type":"address"},{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"},{"name":"_use_eth","type":"bool"},{"name":"_receiver","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_dy","inputs":[{"name":"_pool","type":"address"},{"name":"i","type":"uint256"},{"name":"j","type":"uint256"},{"name":"_dx","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"add_liquidity","inputs":[{"name":"_pool","type":"address"},{"name":"_deposit_amounts","type":"uint256[3]"},{"name":"_min_mint_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"add_liquidity","inputs":[{"name":"_pool","type":"address"},{"name":"_deposit_amounts","type":"uint256[3]"},{"name":"_min_mint_amount","type":"uint256"},{"name":"_use_eth","type":"bool"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"payable","type":"function","name":"add_liquidity","inputs":[{"name":"_pool","type":"address"},{"name":"_deposit_amounts","type":"uint256[3]"},{"name":"_min_mint_amount","type":"uint256"},{"name":"_use_eth","type":"bool"},{"name":"_receiver","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"calc_token_amount","inputs":[{"name":"_pool","type":"address"},{"name":"_amounts","type":"uint256[3]"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_pool","type":"address"},{"name":"_burn_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[3]"}],"outputs":[{"name":"","type":"uint256[3]"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_pool","type":"address"},{"name":"_burn_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[3]"},{"name":"_use_eth","type":"bool"}],"outputs":[{"name":"","type":"uint256[3]"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity","inputs":[{"name":"_pool","type":"address"},{"name":"_burn_amount","type":"uint256"},{"name":"_min_amounts","type":"uint256[3]"},{"name":"_use_eth","type":"bool"},{"name":"_receiver","type":"address"}],"outputs":[{"name":"","type":"uint256[3]"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity_one_coin","inputs":[{"name":"_pool","type":"address"},{"name":"_burn_amount","type":"uint256"},{"name":"i","type":"uint256"},{"name":"_min_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity_one_coin","inputs":[{"name":"_pool","type":"address"},{"name":"_burn_amount","type":"uint256"},{"name":"i","type":"uint256"},{"name":"_min_amount","type":"uint256"},{"name":"_use_eth","type":"bool"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"remove_liquidity_one_coin","inputs":[{"name":"_pool","type":"address"},{"name":"_burn_amount","type":"uint256"},{"name":"i","type":"uint256"},{"name":"_min_amount","type":"uint256"},{"name":"_use_eth","type":"bool"},{"name":"_receiver","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"calc_withdraw_one_coin","inputs":[{"name":"_pool","type":"address"},{"name":"_token_amount","type":"uint256"},{"name":"i","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]}]Contract Creation Code
6020611cd06000396000518060a01c611ccb576040526020611cf06000396000518060a01c611ccb5760605234611ccb57604051611b3352611b33516382c63066608052602060806004609c845afa61005d573d600060003e3d6000fd5b60203d10611ccb576080518060a01c611ccb5760c05260c0905051611b535260403660803760006002905b8060c052611b335163c661065760e05260c05161010052602060e0602460fc845afa6100b9573d600060003e3d6000fd5b60203d10611ccb5760e0518060a01c611ccb576101205261012090505160c05160018111611ccb5760051b60800152600101818118610088575050608051611b735260a051611b9352606051611b135260006002905b8060051b6080015160c05260c05163095ea7b360e052604051610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61012052803b15611ccb57600060e0604460fc6000855af1610174573d600060003e3d6000fd5b506001600060c051602052600052604060002080604051602052600052604060002090505560010181811861010f575050611b136101b761000039611bb3610000f36003361161000c5761183c565b60003560e01c6364a1455881186100355760a43618611b03576000610240523361026052610093565b632bf78c6181186100615760c43618611b035760a4358060011c611b0357610240523361026052610093565b63b837cc6981186106295760e43618611b035760a4358060011c611b03576102405260c4358060a01c611b0357610260525b6004358060a01c611b0357610220526044356024351815611b0357610240516100bc5734611b03575b6020611b73600039600051610280526020611b936000396000516102a05260243561032f576102205163c66106576102e0526024356103005260206102e060246102fc845afa610111573d600060003e3d6000fd5b60203d10611b03576102e0518060a01c611b0357610320526103209050516102c0526102c051604052606435606052336080523460a0526102405160c052600060e05261015f610300611845565b610300516102e05260006102c051602052600052604060002080610220516020526000526040600020905054610216576102c05163095ea7b36103005261022051610320527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61034052803b15611b03576000610300604461031c6000855af16101ee573d600060003e3d6000fd5b50600160006102c0516020526000526040600020806102205160205260005260406000209050555b6102205163394747c561032052602435610340526001610360526064356103805260006103a052610240516103c052602061032060a461033c6102e051855af1610265573d600060003e3d6000fd5b60203d10611b0357610320905051610300526020611b33600039600051631a4d01d261032052610300516103405260443560018103818111611b0357905080607f1c611b03576103605260843561038052803b15611b03576000610320606461033c6000855af16102db573d600060003e3d6000fd5b5060443560018103818111611b0357905060018111611b035760051b61028001516102c05260206102c0516040526102605160605261024051608052600160a052610327610320611960565b610320610627565b60243560018103818111611b0357905080607f1c611b03576102c0526102c05160018111611b035760051b6102800151604052606435606052336080523460a0526102405160c052600160e0526103876102e0611845565b6102e050604435610576576040366102e0376064356102c05160018111611b035760051b6102e001526020611b33600039600051630b4c7e4d610320526102e051610340526103005161036052600061038052803b15611b03576000610320606461033c6000855af16103ff573d600060003e3d6000fd5b5060006020611b536000396000516020526000526040600020806102205160205260005260406000209050546104c4576020611b5360003960005163095ea7b36103205261022051610340527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61036052803b15611b03576000610320604461033c6000855af1610495573d600060003e3d6000fd5b50600160006020611b536000396000516020526000526040600020806102205160205260005260406000209050555b6020611b536000396000516370a082316103405230610360526020610340602461035c845afa6104f9573d600060003e3d6000fd5b60203d10611b03576103409050516103205260206102205163ce7d65036103405260016103605260443561038052610320516103a0526084356103c052610240516103e0526102605161040052602061034060c461035c6000855af1610564573d600060003e3d6000fd5b60203d10611b03576103409050610627565b60443560018103818111611b0357905080607f1c611b03576102e0526020611b33600039600051633df02124610300526102c051610320526102e051610340526040606461036037803b15611b03576000610300608461031c6000855af16105e3573d600060003e3d6000fd5b506102e05160018111611b035760051b6102800151610300526020610300516040526102605160605261024051608052600160a052610623610320611960565b6103205bf35b63a3185179811861064c5760a43618611b035760006102405233610260526106aa565b632ddd67cf81186106785760c43618611b035760a4358060011c611b03576102405233610260526106aa565b635507c9c48118610ab95760e43618611b035760a4358060011c611b03576102405260c4358060a01c611b0357610260525b6004358060a01c611b035761022052610240516106c75734611b03575b60a036610280376020611b73600039600051610320526020611b936000396000516103405260006103605260243515610836576102205163c66106576103a05260006103c05260206103a060246103bc845afa610729573d600060003e3d6000fd5b60203d10611b03576103a0518060a01c611b03576103e0526103e09050516103805261038051604052602435606052336080523460a0526102405160c052600060e0526107776103a0611845565b6103a0516103605260006103805160205260005260406000208061022051602052600052604060002090505461082e576103805163095ea7b36103a052610220516103c0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103e052803b15611b035760006103a060446103bc6000855af1610806573d600060003e3d6000fd5b5060016000610380516020526000526040600020806102205160205260005260406000209050555b602435610280525b600160028101905b80610380526103805160028111611b035760051b602401356103a0526103a051610867576108e4565b6001610300526103805160018103818111611b035790506103c0526103c05160018111611b035760051b61032001516103e0526103e0516040526103a051606052336080523460a0526102405160c052600160e0526108c7610400611845565b610400506103a0516103c05160018111611b035760051b6102c001525b60010181811861083e5750506103005115610a54576020611b33600039600051630b4c7e4d610380526102c0516103a0526102e0516103c05260006103e052803b15611b03576000610380606461039c6000855af1610948573d600060003e3d6000fd5b506020611b536000396000516370a0823161038052306103a0526020610380602461039c845afa61097e573d600060003e3d6000fd5b60203d10611b03576103809050516102a05260006020611b53600039600051602052600052604060002080610220516020526000526040600020905054610a54576020611b5360003960005163095ea7b361038052610220516103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103c052803b15611b03576000610380604461039c6000855af1610a25573d600060003e3d6000fd5b50600160006020611b536000396000516020526000526040600020806102205160205260005260406000209050555b602061022051637328333b61038052610280516103a0526102a0516103c0526084356103e05261024051610400526102605161042052602061038060a461039c61036051855af1610aaa573d600060003e3d6000fd5b60203d10611b03576103809050f35b635d6362bb8118610ae55760043618611b035734611b03576020611b3360003960005160405260206040f35b6375ce738e8118610b115760043618611b035734611b03576020611b5360003960005160405260206040f35b63d55d1dd98118610be35760243618611b03576004358060a01c611b035760405234611b03576040516386fc88d3608052602060806004609c845afa610b5c573d600060003e3d6000fd5b60203d10611b035760809050516060526020611b3360003960005163bb7b8b8060a052602060a0600460bc845afa610b99573d600060003e3d6000fd5b60203d10611b035760a0905051608052608051670de0b6b3a7640000810281670de0b6b3a7640000820418611b035790506060518015611b03578082049050905060a052602060a0f35b638bc3103e8118610cb55760243618611b03576004358060a01c611b035760405234611b035760405163b9e8c9fd608052602060806004609c845afa610c2e573d600060003e3d6000fd5b60203d10611b035760809050516060526020611b3360003960005163bb7b8b8060a052602060a0600460bc845afa610c6b573d600060003e3d6000fd5b60203d10611b035760a0905051608052608051670de0b6b3a7640000810281670de0b6b3a7640000820418611b035790506060518015611b03578082049050905060a052602060a0f35b6353b8e11f8118610db55760243618611b03576004358060a01c611b035760405234611b03576040516354f0f7d5608052602060806004609c845afa610d00573d600060003e3d6000fd5b60203d10611b035760809050516060526040516386fc88d360a052602060a0600460bc845afa610d35573d600060003e3d6000fd5b60203d10611b035760a09050516080526020611b3360003960005163bb7b8b8060c052602060c0600460dc845afa610d72573d600060003e3d6000fd5b60203d10611b035760c090505160a05260605160a051808202811583838304141715611b0357905090506080518015611b03578082049050905060c052602060c0f35b63e9737ee28118610fd95760843618611b03576004358060a01c611b035760405234611b03576044356024351815611b0357602435610e955760405163556d6e9f60805260243560a052600160c05260643560e052602060806064609c845afa610e24573d600060003e3d6000fd5b60203d10611b0357608090505160605260206020611b3360003960005163cc2b27d760805260605160a05260443560018103818111611b0357905080607f1c611b035760c052602060806044609c845afa610e84573d600060003e3d6000fd5b60203d10611b035760809050610fd7565b604435610f5f5760403660603760643560243560018103818111611b0357905060018111611b035760051b606001526020611b3360003960005163ed8e84f360c05260605160e05260805161010052600161012052602060c0606460dc845afa610f04573d600060003e3d6000fd5b60203d10611b035760c090505160a052602060405163556d6e9f60c052600160e0526044356101005260a05161012052602060c0606460dc845afa610f4e573d600060003e3d6000fd5b60203d10611b035760c09050610fd7565b60206020611b33600039600051635e0d443f60605260243560018103818111611b0357905080607f1c611b035760805260443560018103818111611b0357905080607f1c611b035760a05260643560c052602060606064607c845afa610fca573d600060003e3d6000fd5b60203d10611b0357606090505bf35b636aeeb74f81186111205760843618611b03576004358060a01c611b035760405234611b035760a03660603760243560605260006002905b80610100526101005160018101818110611b0357905060028111611b035760051b602401356101005160018111611b035760051b60a001526101005160018111611b035760051b60a001511561106757600160e0525b60010181811861101157505060e051156110d9576020611b3360003960005163ed8e84f36101205260a0516101405260c051610160526001610180526020610120606461013c845afa6110bf573d600060003e3d6000fd5b60203d10611b035761012090505161010052610100516080525b6020604051638d8ea7276101005260605161012052608051610140526020610100604461011c845afa611111573d600060003e3d6000fd5b60203d10611b03576101009050f35b638fa892a681186111435760a43618611b035760006102005233610220526111a1565b63aa40c940811861116f5760c43618611b035760a4358060011c611b03576102005233610220526111a1565b634963f77d811861149d5760e43618611b035760a4358060011c611b03576102005260c4358060a01c611b0357610220525b6004358060a01c611b03576101e05234611b03576101e05163fc0c546a610260526020610260600461027c845afa6111de573d600060003e3d6000fd5b60203d10611b0357610260518060a01c611b03576102a0526102a090505161024052610240516323b872dd610260523361028052306102a0526024356102c052803b15611b03576000610260606461027c6000855af1611243573d600060003e3d6000fd5b5060a036610260376101e05163269b55816103005260243561032052604435610340526000610360526102005161038052803b15611b03576000610300608461031c6000855af1611299573d600060003e3d6000fd5b506020611b536000396000516370a082316103205230610340526020610320602461033c845afa6112cf573d600060003e3d6000fd5b60203d10611b03576103209050516103005260006002905b8061032052610320518060010160018110611b0357905060028111611b035760051b604401356103205160018111611b035760051b61026001526001018181186112e75750506020611b33600039600051635b36389c61032052610300516103405261026051610360526102805161038052803b15611b03576000610320606461033c6000855af161137e573d600060003e3d6000fd5b506101e05163c6610657610340526000610360526020610340602461035c845afa6113ae573d600060003e3d6000fd5b60203d10611b0357610340518060a01c611b03576103805261038090505161032052610320516040526102205160605261020051608052600060a0526113f5610340611960565b610340516102a0526020611b73600039600051610340526020611b9360003960005161036052600160028101905b80610380526103805160018103818111611b0357905060018111611b035760051b610340015161032052610320516040526102205160605261020051608052600160a0526114726103a0611960565b6103a0516103805160028111611b035760051b6102a0015260010181811861142357505060606102a0f35b63c5bdcd0981186114c05760843618611b0357600061020052336102205261151e565b63d694352581186114ec5760a43618611b03576084358060011c611b035761020052336102205261151e565b630664b693811861172f5760c43618611b03576084358060011c611b03576102005260a4358060a01c611b0357610220525b6004358060a01c611b03576101e05234611b03576101e05163fc0c546a610260526020610260600461027c845afa61155b573d600060003e3d6000fd5b60203d10611b0357610260518060a01c611b03576102a0526102a090505161024052610240516323b872dd610260523361028052306102a0526024356102c052803b15611b03576000610260606461027c6000855af16115c0573d600060003e3d6000fd5b5060443561161f5760206101e0516307329bcd610260526060602461028037610200516102e0526102205161030052602061026060a461027c6000855af161160d573d600060003e3d6000fd5b60203d10611b0357610260905061172d565b6101e05163f1dc3cc9610280526024356102a05260016102c05260006102e0526020610280606461029c6000855af161165d573d600060003e3d6000fd5b60203d10611b0357610280905051610260526020611b33600039600051631a4d01d261028052610260516102a05260443560018103818111611b0357905080607f1c611b03576102c0526064356102e052803b15611b03576000610280606461029c6000855af16116d3573d600060003e3d6000fd5b50602060443560018103818111611b0357905060018111611b035760051b606001611b1301600039600051610280526020610280516040526102205160605261020051608052600160a0526117296102a0611960565b6102a05bf35b639aed0eea811861183a5760643618611b03576004358060a01c611b035760405234611b035760443561179b576020604051634fb08c5e60605260406024608037602060606044607c845afa61178a573d600060003e3d6000fd5b60203d10611b035760609050611838565b604051634fb08c5e60805260243560a052600160c052602060806044609c845afa6117cb573d600060003e3d6000fd5b60203d10611b0357608090505160605260206020611b3360003960005163cc2b27d760805260605160a05260443560018103818111611b0357905080607f1c611b035760c052602060806044609c845afa61182b573d600060003e3d6000fd5b60203d10611b0357608090505bf35b505b333b15611b0357005b60c051611853576000611864565b6020611b1360003960005160405118155b6118fb576323b872dd6101445260046080516101645230610184526060516101a452606001610140526101405060206102006101405161016060006040515af16118b3573d600060003e3d6000fd5b3d602081183d60201002186101e0526101e08051806101005260208201805161012052505050610100511561195857610120516101005160200360031b1c15611b0357611958565b60605160a05118611b035760e05161191c5760605181525061195e56611958565b6020611b1360003960005163d0e30db061010052803b15611b03576000610100600461011c606051855af1611956573d600060003e3d6000fd5b505b60008152505b565b600060c052608051611973576000611984565b6020611b1360003960005160405118155b611a4d576040516370a0823160e0523061010052602060e0602460fc845afa6119b2573d600060003e3d6000fd5b60203d10611b035760e090505160c05263a9059cbb6101245260046060516101445260c05161016452604001610120526101205060206101c06101205161014060006040515af1611a08573d600060003e3d6000fd5b3d602081183d60201002186101a0526101a080518060e0526020820180516101005250505060e05115611afb576101005160e05160200360031b1c15611b0357611afb565b60a05115611ace576040516370a0823160e0523061010052602060e0602460fc845afa611a7f573d600060003e3d6000fd5b60203d10611b035760e090505160c0526020611b13600039600051632e1a7d4d60e05260c05161010052803b15611b0357600060e0602460fc6000855af1611acc573d600060003e3d6000fd5b505b4760c052600060e05260e0506000600060e05161010060c0516060515af1611afb573d600060003e3d6000fd5b60c051815250565b600080fda165767970657283000304005b600080fd000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x6003361161000c5761183c565b60003560e01c6364a1455881186100355760a43618611b03576000610240523361026052610093565b632bf78c6181186100615760c43618611b035760a4358060011c611b0357610240523361026052610093565b63b837cc6981186106295760e43618611b035760a4358060011c611b03576102405260c4358060a01c611b0357610260525b6004358060a01c611b0357610220526044356024351815611b0357610240516100bc5734611b03575b6020611b73600039600051610280526020611b936000396000516102a05260243561032f576102205163c66106576102e0526024356103005260206102e060246102fc845afa610111573d600060003e3d6000fd5b60203d10611b03576102e0518060a01c611b0357610320526103209050516102c0526102c051604052606435606052336080523460a0526102405160c052600060e05261015f610300611845565b610300516102e05260006102c051602052600052604060002080610220516020526000526040600020905054610216576102c05163095ea7b36103005261022051610320527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61034052803b15611b03576000610300604461031c6000855af16101ee573d600060003e3d6000fd5b50600160006102c0516020526000526040600020806102205160205260005260406000209050555b6102205163394747c561032052602435610340526001610360526064356103805260006103a052610240516103c052602061032060a461033c6102e051855af1610265573d600060003e3d6000fd5b60203d10611b0357610320905051610300526020611b33600039600051631a4d01d261032052610300516103405260443560018103818111611b0357905080607f1c611b03576103605260843561038052803b15611b03576000610320606461033c6000855af16102db573d600060003e3d6000fd5b5060443560018103818111611b0357905060018111611b035760051b61028001516102c05260206102c0516040526102605160605261024051608052600160a052610327610320611960565b610320610627565b60243560018103818111611b0357905080607f1c611b03576102c0526102c05160018111611b035760051b6102800151604052606435606052336080523460a0526102405160c052600160e0526103876102e0611845565b6102e050604435610576576040366102e0376064356102c05160018111611b035760051b6102e001526020611b33600039600051630b4c7e4d610320526102e051610340526103005161036052600061038052803b15611b03576000610320606461033c6000855af16103ff573d600060003e3d6000fd5b5060006020611b536000396000516020526000526040600020806102205160205260005260406000209050546104c4576020611b5360003960005163095ea7b36103205261022051610340527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61036052803b15611b03576000610320604461033c6000855af1610495573d600060003e3d6000fd5b50600160006020611b536000396000516020526000526040600020806102205160205260005260406000209050555b6020611b536000396000516370a082316103405230610360526020610340602461035c845afa6104f9573d600060003e3d6000fd5b60203d10611b03576103409050516103205260206102205163ce7d65036103405260016103605260443561038052610320516103a0526084356103c052610240516103e0526102605161040052602061034060c461035c6000855af1610564573d600060003e3d6000fd5b60203d10611b03576103409050610627565b60443560018103818111611b0357905080607f1c611b03576102e0526020611b33600039600051633df02124610300526102c051610320526102e051610340526040606461036037803b15611b03576000610300608461031c6000855af16105e3573d600060003e3d6000fd5b506102e05160018111611b035760051b6102800151610300526020610300516040526102605160605261024051608052600160a052610623610320611960565b6103205bf35b63a3185179811861064c5760a43618611b035760006102405233610260526106aa565b632ddd67cf81186106785760c43618611b035760a4358060011c611b03576102405233610260526106aa565b635507c9c48118610ab95760e43618611b035760a4358060011c611b03576102405260c4358060a01c611b0357610260525b6004358060a01c611b035761022052610240516106c75734611b03575b60a036610280376020611b73600039600051610320526020611b936000396000516103405260006103605260243515610836576102205163c66106576103a05260006103c05260206103a060246103bc845afa610729573d600060003e3d6000fd5b60203d10611b03576103a0518060a01c611b03576103e0526103e09050516103805261038051604052602435606052336080523460a0526102405160c052600060e0526107776103a0611845565b6103a0516103605260006103805160205260005260406000208061022051602052600052604060002090505461082e576103805163095ea7b36103a052610220516103c0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103e052803b15611b035760006103a060446103bc6000855af1610806573d600060003e3d6000fd5b5060016000610380516020526000526040600020806102205160205260005260406000209050555b602435610280525b600160028101905b80610380526103805160028111611b035760051b602401356103a0526103a051610867576108e4565b6001610300526103805160018103818111611b035790506103c0526103c05160018111611b035760051b61032001516103e0526103e0516040526103a051606052336080523460a0526102405160c052600160e0526108c7610400611845565b610400506103a0516103c05160018111611b035760051b6102c001525b60010181811861083e5750506103005115610a54576020611b33600039600051630b4c7e4d610380526102c0516103a0526102e0516103c05260006103e052803b15611b03576000610380606461039c6000855af1610948573d600060003e3d6000fd5b506020611b536000396000516370a0823161038052306103a0526020610380602461039c845afa61097e573d600060003e3d6000fd5b60203d10611b03576103809050516102a05260006020611b53600039600051602052600052604060002080610220516020526000526040600020905054610a54576020611b5360003960005163095ea7b361038052610220516103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103c052803b15611b03576000610380604461039c6000855af1610a25573d600060003e3d6000fd5b50600160006020611b536000396000516020526000526040600020806102205160205260005260406000209050555b602061022051637328333b61038052610280516103a0526102a0516103c0526084356103e05261024051610400526102605161042052602061038060a461039c61036051855af1610aaa573d600060003e3d6000fd5b60203d10611b03576103809050f35b635d6362bb8118610ae55760043618611b035734611b03576020611b3360003960005160405260206040f35b6375ce738e8118610b115760043618611b035734611b03576020611b5360003960005160405260206040f35b63d55d1dd98118610be35760243618611b03576004358060a01c611b035760405234611b03576040516386fc88d3608052602060806004609c845afa610b5c573d600060003e3d6000fd5b60203d10611b035760809050516060526020611b3360003960005163bb7b8b8060a052602060a0600460bc845afa610b99573d600060003e3d6000fd5b60203d10611b035760a0905051608052608051670de0b6b3a7640000810281670de0b6b3a7640000820418611b035790506060518015611b03578082049050905060a052602060a0f35b638bc3103e8118610cb55760243618611b03576004358060a01c611b035760405234611b035760405163b9e8c9fd608052602060806004609c845afa610c2e573d600060003e3d6000fd5b60203d10611b035760809050516060526020611b3360003960005163bb7b8b8060a052602060a0600460bc845afa610c6b573d600060003e3d6000fd5b60203d10611b035760a0905051608052608051670de0b6b3a7640000810281670de0b6b3a7640000820418611b035790506060518015611b03578082049050905060a052602060a0f35b6353b8e11f8118610db55760243618611b03576004358060a01c611b035760405234611b03576040516354f0f7d5608052602060806004609c845afa610d00573d600060003e3d6000fd5b60203d10611b035760809050516060526040516386fc88d360a052602060a0600460bc845afa610d35573d600060003e3d6000fd5b60203d10611b035760a09050516080526020611b3360003960005163bb7b8b8060c052602060c0600460dc845afa610d72573d600060003e3d6000fd5b60203d10611b035760c090505160a05260605160a051808202811583838304141715611b0357905090506080518015611b03578082049050905060c052602060c0f35b63e9737ee28118610fd95760843618611b03576004358060a01c611b035760405234611b03576044356024351815611b0357602435610e955760405163556d6e9f60805260243560a052600160c05260643560e052602060806064609c845afa610e24573d600060003e3d6000fd5b60203d10611b0357608090505160605260206020611b3360003960005163cc2b27d760805260605160a05260443560018103818111611b0357905080607f1c611b035760c052602060806044609c845afa610e84573d600060003e3d6000fd5b60203d10611b035760809050610fd7565b604435610f5f5760403660603760643560243560018103818111611b0357905060018111611b035760051b606001526020611b3360003960005163ed8e84f360c05260605160e05260805161010052600161012052602060c0606460dc845afa610f04573d600060003e3d6000fd5b60203d10611b035760c090505160a052602060405163556d6e9f60c052600160e0526044356101005260a05161012052602060c0606460dc845afa610f4e573d600060003e3d6000fd5b60203d10611b035760c09050610fd7565b60206020611b33600039600051635e0d443f60605260243560018103818111611b0357905080607f1c611b035760805260443560018103818111611b0357905080607f1c611b035760a05260643560c052602060606064607c845afa610fca573d600060003e3d6000fd5b60203d10611b0357606090505bf35b636aeeb74f81186111205760843618611b03576004358060a01c611b035760405234611b035760a03660603760243560605260006002905b80610100526101005160018101818110611b0357905060028111611b035760051b602401356101005160018111611b035760051b60a001526101005160018111611b035760051b60a001511561106757600160e0525b60010181811861101157505060e051156110d9576020611b3360003960005163ed8e84f36101205260a0516101405260c051610160526001610180526020610120606461013c845afa6110bf573d600060003e3d6000fd5b60203d10611b035761012090505161010052610100516080525b6020604051638d8ea7276101005260605161012052608051610140526020610100604461011c845afa611111573d600060003e3d6000fd5b60203d10611b03576101009050f35b638fa892a681186111435760a43618611b035760006102005233610220526111a1565b63aa40c940811861116f5760c43618611b035760a4358060011c611b03576102005233610220526111a1565b634963f77d811861149d5760e43618611b035760a4358060011c611b03576102005260c4358060a01c611b0357610220525b6004358060a01c611b03576101e05234611b03576101e05163fc0c546a610260526020610260600461027c845afa6111de573d600060003e3d6000fd5b60203d10611b0357610260518060a01c611b03576102a0526102a090505161024052610240516323b872dd610260523361028052306102a0526024356102c052803b15611b03576000610260606461027c6000855af1611243573d600060003e3d6000fd5b5060a036610260376101e05163269b55816103005260243561032052604435610340526000610360526102005161038052803b15611b03576000610300608461031c6000855af1611299573d600060003e3d6000fd5b506020611b536000396000516370a082316103205230610340526020610320602461033c845afa6112cf573d600060003e3d6000fd5b60203d10611b03576103209050516103005260006002905b8061032052610320518060010160018110611b0357905060028111611b035760051b604401356103205160018111611b035760051b61026001526001018181186112e75750506020611b33600039600051635b36389c61032052610300516103405261026051610360526102805161038052803b15611b03576000610320606461033c6000855af161137e573d600060003e3d6000fd5b506101e05163c6610657610340526000610360526020610340602461035c845afa6113ae573d600060003e3d6000fd5b60203d10611b0357610340518060a01c611b03576103805261038090505161032052610320516040526102205160605261020051608052600060a0526113f5610340611960565b610340516102a0526020611b73600039600051610340526020611b9360003960005161036052600160028101905b80610380526103805160018103818111611b0357905060018111611b035760051b610340015161032052610320516040526102205160605261020051608052600160a0526114726103a0611960565b6103a0516103805160028111611b035760051b6102a0015260010181811861142357505060606102a0f35b63c5bdcd0981186114c05760843618611b0357600061020052336102205261151e565b63d694352581186114ec5760a43618611b03576084358060011c611b035761020052336102205261151e565b630664b693811861172f5760c43618611b03576084358060011c611b03576102005260a4358060a01c611b0357610220525b6004358060a01c611b03576101e05234611b03576101e05163fc0c546a610260526020610260600461027c845afa61155b573d600060003e3d6000fd5b60203d10611b0357610260518060a01c611b03576102a0526102a090505161024052610240516323b872dd610260523361028052306102a0526024356102c052803b15611b03576000610260606461027c6000855af16115c0573d600060003e3d6000fd5b5060443561161f5760206101e0516307329bcd610260526060602461028037610200516102e0526102205161030052602061026060a461027c6000855af161160d573d600060003e3d6000fd5b60203d10611b0357610260905061172d565b6101e05163f1dc3cc9610280526024356102a05260016102c05260006102e0526020610280606461029c6000855af161165d573d600060003e3d6000fd5b60203d10611b0357610280905051610260526020611b33600039600051631a4d01d261028052610260516102a05260443560018103818111611b0357905080607f1c611b03576102c0526064356102e052803b15611b03576000610280606461029c6000855af16116d3573d600060003e3d6000fd5b50602060443560018103818111611b0357905060018111611b035760051b606001611b1301600039600051610280526020610280516040526102205160605261020051608052600160a0526117296102a0611960565b6102a05bf35b639aed0eea811861183a5760643618611b03576004358060a01c611b035760405234611b035760443561179b576020604051634fb08c5e60605260406024608037602060606044607c845afa61178a573d600060003e3d6000fd5b60203d10611b035760609050611838565b604051634fb08c5e60805260243560a052600160c052602060806044609c845afa6117cb573d600060003e3d6000fd5b60203d10611b0357608090505160605260206020611b3360003960005163cc2b27d760805260605160a05260443560018103818111611b0357905080607f1c611b035760c052602060806044609c845afa61182b573d600060003e3d6000fd5b60203d10611b0357608090505bf35b505b333b15611b0357005b60c051611853576000611864565b6020611b1360003960005160405118155b6118fb576323b872dd6101445260046080516101645230610184526060516101a452606001610140526101405060206102006101405161016060006040515af16118b3573d600060003e3d6000fd5b3d602081183d60201002186101e0526101e08051806101005260208201805161012052505050610100511561195857610120516101005160200360031b1c15611b0357611958565b60605160a05118611b035760e05161191c5760605181525061195e56611958565b6020611b1360003960005163d0e30db061010052803b15611b03576000610100600461011c606051855af1611956573d600060003e3d6000fd5b505b60008152505b565b600060c052608051611973576000611984565b6020611b1360003960005160405118155b611a4d576040516370a0823160e0523061010052602060e0602460fc845afa6119b2573d600060003e3d6000fd5b60203d10611b035760e090505160c05263a9059cbb6101245260046060516101445260c05161016452604001610120526101205060206101c06101205161014060006040515af1611a08573d600060003e3d6000fd5b3d602081183d60201002186101a0526101a080518060e0526020820180516101005250505060e05115611afb576101005160e05160200360031b1c15611b0357611afb565b60a05115611ace576040516370a0823160e0523061010052602060e0602460fc845afa611a7f573d600060003e3d6000fd5b60203d10611b035760e090505160c0526020611b13600039600051632e1a7d4d60e05260c05161010052803b15611b0357600060e0602460fc6000855af1611acc573d600060003e3d6000fd5b505b4760c052600060e05260e0506000600060e05161010060c0516060515af1611afb573d600060003e3d6000fd5b60c051815250565b600080fda165767970657283000304000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a20000000000000000000000003175df0976dfa876431c2e9ee6bc45b65d3473cc000000000000000000000000853d955acef822db058eb8505911ed77f175b99e000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _base_pool (address): 0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2
Arg [1] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.