Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 10,323 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Remove_liquidity | 24676994 | 8 days ago | IN | 0 ETH | 0.0000497 | ||||
| Remove_liquidity... | 24118361 | 86 days ago | IN | 0 ETH | 0.00008999 | ||||
| Remove_liquidity... | 23900446 | 116 days ago | IN | 0 ETH | 0.00002018 | ||||
| Remove_liquidity... | 23863935 | 121 days ago | IN | 0 ETH | 0.00005588 | ||||
| Remove_liquidity... | 23713826 | 142 days ago | IN | 0 ETH | 0.00004928 | ||||
| Remove_liquidity... | 23698365 | 144 days ago | IN | 0 ETH | 0.00031475 | ||||
| Remove_liquidity... | 23686032 | 146 days ago | IN | 0 ETH | 0.00011232 | ||||
| Remove_liquidity... | 23654905 | 151 days ago | IN | 0 ETH | 0.00005164 | ||||
| Remove_liquidity... | 23416865 | 184 days ago | IN | 0 ETH | 0.00076886 | ||||
| Remove_liquidity... | 23105490 | 227 days ago | IN | 0 ETH | 0.00092388 | ||||
| Remove_liquidity | 23085924 | 230 days ago | IN | 0 ETH | 0.00148958 | ||||
| Remove_liquidity... | 23062129 | 233 days ago | IN | 0 ETH | 0.0001586 | ||||
| Remove_liquidity... | 23050741 | 235 days ago | IN | 0 ETH | 0.00022904 | ||||
| Remove_liquidity | 23016940 | 240 days ago | IN | 0 ETH | 0.00015848 | ||||
| Add_liquidity | 23003647 | 242 days ago | IN | 0 ETH | 0.00023909 | ||||
| Add_liquidity | 22956381 | 248 days ago | IN | 0 ETH | 0.00031554 | ||||
| Add_liquidity | 22890480 | 257 days ago | IN | 0 ETH | 0.00658134 | ||||
| Add_liquidity | 22732954 | 279 days ago | IN | 0 ETH | 0.00113106 | ||||
| Remove_liquidity | 22558654 | 304 days ago | IN | 0 ETH | 0.00016134 | ||||
| Remove_liquidity... | 22521667 | 309 days ago | IN | 0 ETH | 0.00038509 | ||||
| Remove_liquidity... | 22407237 | 325 days ago | IN | 0 ETH | 0.00045386 | ||||
| Remove_liquidity | 22394059 | 327 days ago | IN | 0 ETH | 0.00041712 | ||||
| Remove_liquidity... | 22130605 | 364 days ago | IN | 0 ETH | 0.00053853 | ||||
| Add_liquidity | 22089130 | 369 days ago | IN | 0 ETH | 0.00098118 | ||||
| Remove_liquidity... | 22015819 | 380 days ago | IN | 0 ETH | 0.00049281 |
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.1.0b17
Contract Source Code (Vyper language format)
# A "zap" to deposit/withdraw Curve contract without too many transactions
# (c) Curve.Fi, 2020
from vyper.interfaces import ERC20
# External Contracts
contract cERC20:
def totalSupply() -> uint256: constant
def allowance(_owner: address, _spender: address) -> uint256: constant
def transfer(_to: address, _value: uint256) -> bool: modifying
def transferFrom(_from: address, _to: address, _value: uint256) -> bool: modifying
def approve(_spender: address, _value: uint256) -> bool: modifying
def burn(_value: uint256): modifying
def burnFrom(_to: address, _value: uint256): modifying
def name() -> string[64]: constant
def symbol() -> string[32]: constant
def decimals() -> uint256: constant
def balanceOf(arg0: address) -> uint256: constant
def mint(mintAmount: uint256) -> uint256: modifying
def redeem(redeemTokens: uint256) -> uint256: modifying
def redeemUnderlying(redeemAmount: uint256) -> uint256: modifying
def exchangeRateStored() -> uint256: constant
def exchangeRateCurrent() -> uint256: modifying
def supplyRatePerBlock() -> uint256: constant
def accrualBlockNumber() -> uint256: constant
# Tether transfer-only ABI
contract USDT:
def transfer(_to: address, _value: uint256): modifying
def transferFrom(_from: address, _to: address, _value: uint256): modifying
contract Curve:
def add_liquidity(amounts: uint256[N_COINS], min_mint_amount: uint256): modifying
def remove_liquidity(_amount: uint256, min_amounts: uint256[N_COINS]): modifying
def remove_liquidity_imbalance(amounts: uint256[N_COINS], max_burn_amount: uint256): modifying
def balances(i: int128) -> uint256: constant
def A() -> uint256: constant
def fee() -> uint256: constant
def owner() -> address: constant
N_COINS: constant(int128) = 2
TETHERED: constant(bool[N_COINS]) = [False, False]
USE_LENDING: constant(bool[N_COINS]) = [True, True]
ZERO256: constant(uint256) = 0 # This hack is really bad XXX
ZEROS: constant(uint256[N_COINS]) = [ZERO256, ZERO256] # <- change
LENDING_PRECISION: constant(uint256) = 10 ** 18
PRECISION: constant(uint256) = 10 ** 18
PRECISION_MUL: constant(uint256[N_COINS]) = [convert(1, uint256), convert(1000000000000, uint256)]
FEE_DENOMINATOR: constant(uint256) = 10 ** 10
FEE_IMPRECISION: constant(uint256) = 25 * 10 ** 8 # % of the fee
coins: public(address[N_COINS])
underlying_coins: public(address[N_COINS])
curve: public(address)
token: public(address)
@public
def __init__(_coins: address[N_COINS], _underlying_coins: address[N_COINS],
_curve: address, _token: address):
self.coins = _coins
self.underlying_coins = _underlying_coins
self.curve = _curve
self.token = _token
@public
@nonreentrant('lock')
def add_liquidity(uamounts: uint256[N_COINS], min_mint_amount: uint256):
use_lending: bool[N_COINS] = USE_LENDING
tethered: bool[N_COINS] = TETHERED
amounts: uint256[N_COINS] = ZEROS
for i in range(N_COINS):
uamount: uint256 = uamounts[i]
if uamount > 0:
# Transfer the underlying coin from owner
if tethered[i]:
USDT(self.underlying_coins[i]).transferFrom(
msg.sender, self, uamount)
else:
assert_modifiable(ERC20(self.underlying_coins[i])\
.transferFrom(msg.sender, self, uamount))
# Mint if needed
if use_lending[i]:
ERC20(self.underlying_coins[i]).approve(self.coins[i], uamount)
ok: uint256 = cERC20(self.coins[i]).mint(uamount)
if ok > 0:
raise "Could not mint coin"
amounts[i] = cERC20(self.coins[i]).balanceOf(self)
ERC20(self.coins[i]).approve(self.curve, amounts[i])
else:
amounts[i] = uamount
ERC20(self.underlying_coins[i]).approve(self.curve, uamount)
Curve(self.curve).add_liquidity(amounts, min_mint_amount)
tokens: uint256 = ERC20(self.token).balanceOf(self)
assert_modifiable(ERC20(self.token).transfer(msg.sender, tokens))
@private
def _send_all(_addr: address, min_uamounts: uint256[N_COINS], one: int128):
use_lending: bool[N_COINS] = USE_LENDING
tethered: bool[N_COINS] = TETHERED
for i in range(N_COINS):
if (one < 0) or (i == one):
if use_lending[i]:
_coin: address = self.coins[i]
_balance: uint256 = cERC20(_coin).balanceOf(self)
if _balance == 0: # Do nothing if there are 0 coins
continue
ok: uint256 = cERC20(_coin).redeem(_balance)
if ok > 0:
raise "Could not redeem coin"
_ucoin: address = self.underlying_coins[i]
_uamount: uint256 = ERC20(_ucoin).balanceOf(self)
assert _uamount >= min_uamounts[i], "Not enough coins withdrawn"
# Send only if we have something to send
if _uamount >= 0:
if tethered[i]:
USDT(_ucoin).transfer(_addr, _uamount)
else:
assert_modifiable(ERC20(_ucoin).transfer(_addr, _uamount))
@public
@nonreentrant('lock')
def remove_liquidity(_amount: uint256, min_uamounts: uint256[N_COINS]):
zeros: uint256[N_COINS] = ZEROS
assert_modifiable(ERC20(self.token).transferFrom(msg.sender, self, _amount))
Curve(self.curve).remove_liquidity(_amount, zeros)
self._send_all(msg.sender, min_uamounts, -1)
@public
@nonreentrant('lock')
def remove_liquidity_imbalance(uamounts: uint256[N_COINS], max_burn_amount: uint256):
"""
Get max_burn_amount in, remove requested liquidity and transfer back what is left
"""
use_lending: bool[N_COINS] = USE_LENDING
tethered: bool[N_COINS] = TETHERED
_token: address = self.token
amounts: uint256[N_COINS] = uamounts
for i in range(N_COINS):
if use_lending[i] and amounts[i] > 0:
rate: uint256 = cERC20(self.coins[i]).exchangeRateCurrent()
amounts[i] = amounts[i] * LENDING_PRECISION / rate
# if not use_lending - all good already
# Transfrer max tokens in
_tokens: uint256 = ERC20(_token).balanceOf(msg.sender)
if _tokens > max_burn_amount:
_tokens = max_burn_amount
assert_modifiable(ERC20(_token).transferFrom(msg.sender, self, _tokens))
Curve(self.curve).remove_liquidity_imbalance(amounts, max_burn_amount)
# Transfer unused tokens back
_tokens = ERC20(_token).balanceOf(self)
assert_modifiable(ERC20(_token).transfer(msg.sender, _tokens))
# Unwrap and transfer all the coins we've got
self._send_all(msg.sender, ZEROS, -1)
@private
@constant
def _xp_mem(rates: uint256[N_COINS], _balances: uint256[N_COINS]) -> uint256[N_COINS]:
result: uint256[N_COINS] = rates
for i in range(N_COINS):
result[i] = result[i] * _balances[i] / PRECISION
return result
@private
@constant
def get_D(A: uint256, xp: uint256[N_COINS]) -> uint256:
S: uint256 = 0
for _x in xp:
S += _x
if S == 0:
return 0
Dprev: uint256 = 0
D: uint256 = S
Ann: uint256 = A * N_COINS
for _i in range(255):
D_P: uint256 = D
for _x in xp:
D_P = D_P * D / (_x * N_COINS + 1) # +1 is to prevent /0
Dprev = D
D = (Ann * S + D_P * N_COINS) * D / ((Ann - 1) * D + (N_COINS + 1) * D_P)
# Equality with the precision of 1
if D > Dprev:
if D - Dprev <= 1:
break
else:
if Dprev - D <= 1:
break
return D
@private
@constant
def get_y(A: uint256, i: int128, _xp: uint256[N_COINS], D: uint256) -> uint256:
"""
Calculate x[i] if one reduces D from being calculated for _xp to D
Done by solving quadratic equation iteratively.
x_1**2 + x1 * (sum' - (A*n**n - 1) * D / (A * n**n)) = D ** (n + 1) / (n ** (2 * n) * prod' * A)
x_1**2 + b*x_1 = c
x_1 = (x_1**2 + c) / (2*x_1 + b)
"""
# x in the input is converted to the same price/precision
assert (i >= 0) and (i < N_COINS)
c: uint256 = D
S_: uint256 = 0
Ann: uint256 = A * N_COINS
_x: uint256 = 0
for _i in range(N_COINS):
if _i != i:
_x = _xp[_i]
else:
continue
S_ += _x
c = c * D / (_x * N_COINS)
c = c * D / (Ann * N_COINS)
b: uint256 = S_ + D / Ann
y_prev: uint256 = 0
y: uint256 = D
for _i in range(255):
y_prev = y
y = (y*y + c) / (2 * y + b - D)
# Equality with the precision of 1
if y > y_prev:
if y - y_prev <= 1:
break
else:
if y_prev - y <= 1:
break
return y
@private
@constant
def _calc_withdraw_one_coin(_token_amount: uint256, i: int128, rates: uint256[N_COINS]) -> uint256:
# First, need to calculate
# * Get current D
# * Solve Eqn against y_i for D - _token_amount
use_lending: bool[N_COINS] = USE_LENDING
# tethered: bool[N_COINS] = TETHERED
crv: address = self.curve
A: uint256 = Curve(crv).A()
fee: uint256 = Curve(crv).fee() * N_COINS / (4 * (N_COINS - 1))
fee += fee * FEE_IMPRECISION / FEE_DENOMINATOR # Overcharge to account for imprecision
precisions: uint256[N_COINS] = PRECISION_MUL
total_supply: uint256 = ERC20(self.token).totalSupply()
xp: uint256[N_COINS] = PRECISION_MUL
S: uint256 = 0
for j in range(N_COINS):
xp[j] *= Curve(crv).balances(j)
if use_lending[j]:
# Use stored rate b/c we have imprecision anyway
xp[j] = xp[j] * rates[j] / LENDING_PRECISION
S += xp[j]
# if not use_lending - all good already
D0: uint256 = self.get_D(A, xp)
D1: uint256 = D0 - _token_amount * D0 / total_supply
xp_reduced: uint256[N_COINS] = xp
# xp = xp - fee * | xp * D1 / D0 - (xp - S * dD / D0 * (0, ... 1, ..0))|
for j in range(N_COINS):
dx_expected: uint256 = 0
b_ideal: uint256 = xp[j] * D1 / D0
b_expected: uint256 = xp[j]
if j == i:
b_expected -= S * (D0 - D1) / D0
if b_ideal >= b_expected:
dx_expected = (b_ideal - b_expected)
else:
dx_expected = (b_expected - b_ideal)
xp_reduced[j] -= fee * dx_expected / FEE_DENOMINATOR
dy: uint256 = xp_reduced[i] - self.get_y(A, i, xp_reduced, D1)
dy = dy / precisions[i]
return dy
@public
@constant
def calc_withdraw_one_coin(_token_amount: uint256, i: int128) -> uint256:
rates: uint256[N_COINS] = ZEROS
use_lending: bool[N_COINS] = USE_LENDING
for j in range(N_COINS):
if use_lending[j]:
rates[j] = cERC20(self.coins[j]).exchangeRateStored()
else:
rates[j] = 10 ** 18
return self._calc_withdraw_one_coin(_token_amount, i, rates)
@public
@nonreentrant('lock')
def remove_liquidity_one_coin(_token_amount: uint256, i: int128, min_uamount: uint256, donate_dust: bool = False):
"""
Remove _amount of liquidity all in a form of coin i
"""
use_lending: bool[N_COINS] = USE_LENDING
rates: uint256[N_COINS] = ZEROS
_token: address = self.token
for j in range(N_COINS):
if use_lending[j]:
rates[j] = cERC20(self.coins[j]).exchangeRateCurrent()
else:
rates[j] = LENDING_PRECISION
dy: uint256 = self._calc_withdraw_one_coin(_token_amount, i, rates)
assert dy >= min_uamount, "Not enough coins removed"
assert_modifiable(
ERC20(self.token).transferFrom(msg.sender, self, _token_amount))
amounts: uint256[N_COINS] = ZEROS
amounts[i] = dy * LENDING_PRECISION / rates[i]
token_amount_before: uint256 = ERC20(_token).balanceOf(self)
Curve(self.curve).remove_liquidity_imbalance(amounts, _token_amount)
# Unwrap and transfer all the coins we've got
self._send_all(msg.sender, ZEROS, i)
if not donate_dust:
# Transfer unused tokens back
token_amount_after: uint256 = ERC20(_token).balanceOf(self)
if token_amount_after > token_amount_before:
assert_modifiable(ERC20(_token).transfer(
msg.sender, token_amount_after - token_amount_before)
)
@public
@nonreentrant('lock')
def withdraw_donated_dust():
owner: address = Curve(self.curve).owner()
assert msg.sender == owner
_token: address = self.token
assert_modifiable(
ERC20(_token).transfer(owner, ERC20(_token).balanceOf(self)))Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"outputs":[],"inputs":[{"type":"address[2]","name":"_coins"},{"type":"address[2]","name":"_underlying_coins"},{"type":"address","name":"_curve"},{"type":"address","name":"_token"}],"constant":false,"payable":false,"type":"constructor"},{"name":"add_liquidity","outputs":[],"inputs":[{"type":"uint256[2]","name":"uamounts"},{"type":"uint256","name":"min_mint_amount"}],"constant":false,"payable":false,"type":"function","gas":117283},{"name":"remove_liquidity","outputs":[],"inputs":[{"type":"uint256","name":"_amount"},{"type":"uint256[2]","name":"min_uamounts"}],"constant":false,"payable":false,"type":"function","gas":83606},{"name":"remove_liquidity_imbalance","outputs":[],"inputs":[{"type":"uint256[2]","name":"uamounts"},{"type":"uint256","name":"max_burn_amount"}],"constant":false,"payable":false,"type":"function","gas":96829},{"name":"calc_withdraw_one_coin","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"uint256","name":"_token_amount"},{"type":"int128","name":"i"}],"constant":true,"payable":false,"type":"function","gas":2945630},{"name":"remove_liquidity_one_coin","outputs":[],"inputs":[{"type":"uint256","name":"_token_amount"},{"type":"int128","name":"i"},{"type":"uint256","name":"min_uamount"}],"constant":false,"payable":false,"type":"function"},{"name":"remove_liquidity_one_coin","outputs":[],"inputs":[{"type":"uint256","name":"_token_amount"},{"type":"int128","name":"i"},{"type":"uint256","name":"min_uamount"},{"type":"bool","name":"donate_dust"}],"constant":false,"payable":false,"type":"function"},{"name":"withdraw_donated_dust","outputs":[],"inputs":[],"constant":false,"payable":false,"type":"function","gas":63973},{"name":"coins","outputs":[{"type":"address","name":""}],"inputs":[{"type":"int128","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1680},{"name":"underlying_coins","outputs":[{"type":"address","name":""}],"inputs":[{"type":"int128","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1710},{"name":"curve","outputs":[{"type":"address","name":""}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1541},{"name":"token","outputs":[{"type":"address","name":""}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1571}]Contract Creation Code
740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05260c0612b5c6101403934156100a157600080fd5b6020612b5c60c03960c05160205181106100ba57600080fd5b5060206020612b5c0160c03960c05160205181106100d757600080fd5b5060206040612b5c0160c03960c05160205181106100f457600080fd5b5060206060612b5c0160c03960c051602051811061011157600080fd5b5060206080612b5c0160c03960c051602051811061012e57600080fd5b50602060a0612b5c0160c03960c051602051811061014b57600080fd5b50600060c052602060c02061014080518255806020015160018301555050600160c052602060c020610180805182558060200151600183015550506101c0516002556101e051600355612b4456600436101561000d576129a5565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052630b4c7e4d60005114156107ba5762ffffff54156100be57600080fd5b600162ffffff5534156100d057600080fd5b6101406001815260018160200152506101806000815260008160200152506101c060008152600081602001525061020060006002818352015b6004610200516002811061011c57600080fd5b602002013561022052600061022051111561069d57610180610200516002811061014557600080fd5b6020020151156101f157610200516002811061016057600080fd5b600160c052602060c02001543b61017657600080fd5b610200516002811061018757600080fd5b600160c052602060c0200154301861019e57600080fd5b6000600060646323b872dd6103205233610340523061036052610220516103805261033c600061020051600281106101d557600080fd5b600160c052602060c02001545af16101ec57600080fd5b6102a0565b610200516002811061020257600080fd5b600160c052602060c02001543b61021857600080fd5b610200516002811061022957600080fd5b600160c052602060c0200154301861024057600080fd5b602061030060646323b872dd6102405233610260523061028052610220516102a05261025c6000610200516002811061027857600080fd5b600160c052602060c02001545af161028f57600080fd5b6000506103005161029f57600080fd5b5b61014061020051600281106102b457600080fd5b6020020151156105dc5761020051600281106102cf57600080fd5b600160c052602060c02001543b6102e557600080fd5b61020051600281106102f657600080fd5b600160c052602060c0200154301861030d57600080fd5b6020610540604463095ea7b36104a052610200516002811061032e57600080fd5b600060c052602060c02001546104c052610220516104e0526104bc6000610200516002811061035c57600080fd5b600160c052602060c02001545af161037357600080fd5b60005061054050610200516002811061038b57600080fd5b600060c052602060c02001543b6103a157600080fd5b61020051600281106103b257600080fd5b600060c052602060c020015430186103c957600080fd5b6020610600602463a0712d6861058052610220516105a05261059c600061020051600281106103f757600080fd5b600060c052602060c02001545af161040e57600080fd5b60005061060051610560526000610560511115610471576308c379a0610620526020610640526013610660527f436f756c64206e6f74206d696e7420636f696e000000000000000000000000006106805261066050600061047057608461063cfd5b5b610200516002811061048257600080fd5b600060c052602060c02001543b61049857600080fd5b61020051600281106104a957600080fd5b600060c052602060c020015430186104c057600080fd5b602061074060246370a082316106c052306106e0526106dc61020051600281106104e957600080fd5b600060c052602060c02001545afa61050057600080fd5b600050610740516101c0610200516002811061051b57600080fd5b6020020152610200516002811061053157600080fd5b600060c052602060c02001543b61054757600080fd5b610200516002811061055857600080fd5b600060c052602060c0200154301861056f57600080fd5b6020610800604463095ea7b361076052600254610780526101c0610200516002811061059a57600080fd5b60200201516107a05261077c600061020051600281106105b957600080fd5b600060c052602060c02001545af16105d057600080fd5b6000506108005061069c565b610220516101c061020051600281106105f457600080fd5b6020020152610200516002811061060a57600080fd5b600160c052602060c02001543b61062057600080fd5b610200516002811061063157600080fd5b600160c052602060c0200154301861064857600080fd5b6020610480604463095ea7b36103e0526002546104005261022051610420526103fc6000610200516002811061067d57600080fd5b600160c052602060c02001545af161069457600080fd5b600050610480505b5b5b8151600101808352811415610109575b50506002543b6106bd57600080fd5b60025430186106cb57600080fd5b600060006064630b4c7e4d610820526108406101c0805182528060200151826020015250506044356108805261083c60006002545af161070a57600080fd5b6003543b61071757600080fd5b600354301861072557600080fd5b602061098060246370a0823161090052306109205261091c6003545afa61074b57600080fd5b600050610980516108e0526003543b61076357600080fd5b600354301861077157600080fd5b6020610a40604463a9059cbb6109a052336109c0526108e0516109e0526109bc60006003545af16107a157600080fd5b600050610a40516107b157600080fd5b600062ffffff55005b600015610b35575b6101c0526101405261016052610180526101a0526101e060018152600181602001525061022060008152600081602001525061026060006002818352015b6101a051610260511460006101a051121715610b1c576101e0610260516002811061082a57600080fd5b60200201511561096057610260516002811061084557600080fd5b600060c052602060c020015461028052610280513b61086357600080fd5b61028051301861087257600080fd5b602061034060246370a082316102c052306102e0526102dc610280515afa61089957600080fd5b600050610340516102a0526102a05115156108b357610b1d565b610280513b6108c157600080fd5b6102805130186108d057600080fd5b6020610400602463db006a75610380526102a0516103a05261039c6000610280515af16108fc57600080fd5b6000506104005161036052600061036051111561095f576308c379a0610420526020610440526015610460527f436f756c64206e6f742072656465656d20636f696e00000000000000000000006104805261046050600061095e57608461043cfd5b5b5b610260516002811061097157600080fd5b600160c052602060c02001546104c0526104c0513b61098f57600080fd5b6104c051301861099e57600080fd5b602061058060246370a0823161050052306105205261051c6104c0515afa6109c557600080fd5b600050610580516104e0526308c379a06105a05260206105c052601a6105e0527f4e6f7420656e6f75676820636f696e732077697468647261776e000000000000610600526105e0506101606102605160028110610a2257600080fd5b60200201516104e0511015610a385760846105bcfd5b60006104e051101515610b1b576102206102605160028110610a5957600080fd5b602002015115610ab8576104c0513b610a7157600080fd5b6104c0513018610a8057600080fd5b60006000604463a9059cbb6107005261014051610720526104e0516107405261071c60006104c0515af1610ab357600080fd5b610b1a565b6104c0513b610ac657600080fd5b6104c0513018610ad557600080fd5b60206106e0604463a9059cbb6106405261014051610660526104e0516106805261065c60006104c0515af1610b0957600080fd5b6000506106e051610b1957600080fd5b5b5b5b5b8151600101808352811415610800575b50506101c051565b635b36389c6000511415610cee5762ffffff5415610b5257600080fd5b600162ffffff553415610b6457600080fd5b6101406000815260008160200152506003543b610b8057600080fd5b6003543018610b8e57600080fd5b602061024060646323b872dd61018052336101a052306101c0526004356101e05261019c60006003545af1610bc257600080fd5b60005061024051610bd257600080fd5b6002543b610bdf57600080fd5b6002543018610bed57600080fd5b600060006064635b36389c61026052600435610280526102a06101408051825280602001518260200152505061027c60006002545af1610c2c57600080fd5b610140610320525b61032051516020610320510161032052610320610320511015610c5657610c34565b638ac5af926103405233610360526103806024803582528060200135826020015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103c0526103c0516103a0516103805161036051600658016107c2565b610300610320525b6103205152602061032051036103205261014061032051101515610ce257610cbf565b600050600062ffffff55005b63e3103273600051141561113e5762ffffff5415610d0b57600080fd5b600162ffffff553415610d1d57600080fd5b6101406001815260018160200152506101806000815260008160200152506003546101c0526101e060048035825280602001358260200152505061022060006002818352015b60006101e06102205160028110610d7957600080fd5b6020020151116101406102205160028110610d9357600080fd5b60200201511615610ea1576102205160028110610daf57600080fd5b600060c052602060c02001543b610dc557600080fd5b6102205160028110610dd657600080fd5b600060c052602060c02001543018610ded57600080fd5b60206102c0600463bd6d894d6102605261027c60006102205160028110610e1357600080fd5b600060c052602060c02001545af1610e2a57600080fd5b6000506102c051610240526101e06102205160028110610e4957600080fd5b6020020151670de0b6b3a76400008082028215828483041417610e6b57600080fd5b80905090509050610240518080610e8157600080fd5b8204905090506101e06102205160028110610e9b57600080fd5b60200201525b5b8151600101808352811415610d63575b50506101c0513b610ec257600080fd5b6101c0513018610ed157600080fd5b602061038060246370a0823161030052336103205261031c6101c0515afa610ef857600080fd5b600050610380516102e0526044356102e0511115610f18576044356102e0525b6101c0513b610f2657600080fd5b6101c0513018610f3557600080fd5b602061046060646323b872dd6103a052336103c052306103e0526102e051610400526103bc60006101c0515af1610f6b57600080fd5b60005061046051610f7b57600080fd5b6002543b610f8857600080fd5b6002543018610f9657600080fd5b60006000606463e3103273610480526104a06101e0805182528060200151826020015250506044356104e05261049c60006002545af1610fd557600080fd5b6101c0513b610fe357600080fd5b6101c0513018610ff257600080fd5b60206105c060246370a0823161054052306105605261055c6101c0515afa61101957600080fd5b6000506105c0516102e0526101c0513b61103257600080fd5b6101c051301861104157600080fd5b6020610680604463a9059cbb6105e05233610600526102e051610620526105fc60006101c0515af161107257600080fd5b6000506106805161108257600080fd5b6101406106a0525b6106a0515160206106a051016106a0526106a06106a05110156110ac5761108a565b638ac5af926106c052336106e0526107006000815260008160200152507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610740526107405161072051610700516106e051600658016107c2565b6106806106a0525b6106a0515260206106a051036106a0526101406106a0511015156111325761110f565b600050600062ffffff55005b60001561124b575b6101c0526101405261016052610180526101a0526101e06101408051825280602001518260200152505061022060006002818352015b6101e0610220516002811061119057600080fd5b602002015161018061022051600281106111a957600080fd5b602002015180820282158284830414176111c257600080fd5b80905090509050670de0b6b3a764000080806111dd57600080fd5b8204905090506101e061022051600281106111f757600080fd5b60200201525b815160010180835281141561117c575b50506040610240525b60006102405111151561122857611244565b602061024051036101e001516020610240510361024052611216565b6101c05156005b60001561154d575b6101a05261014052610160526101805260006101c05261020060006002818352015b6020610200510261016001516101e0526101c080516101e05181818301101561129d57600080fd5b808201905090508152505b8151600101808352811415611275575b50506101c05115156112d35760006000526000516101a05156505b6000610240526101c0516102605261014051600280820282158284830414176112fb57600080fd5b80905090509050610280526102a0600060ff818352015b610260516102c05261030060006002818352015b6020610300510261016001516102e0526102c05161026051808202821582848304141761135257600080fd5b809050905090506102e0516002808202821582848304141761137357600080fd5b80905090509050600181818301101561138b57600080fd5b80820190509050808061139d57600080fd5b8204905090506102c0525b8151600101808352811415611326575b50506102605161024052610280516101c05180820282158284830414176113de57600080fd5b809050905090506102c051600280820282158284830414176113ff57600080fd5b8090509050905081818301101561141557600080fd5b8082019050905061026051808202821582848304141761143457600080fd5b809050905090506102805160018082101561144e57600080fd5b8082039050905061026051808202821582848304141761146d57600080fd5b8090509050905060036102c051808202821582848304141761148e57600080fd5b809050905090508181830110156114a457600080fd5b8082019050905080806114b657600080fd5b82049050905061026052610240516102605111156114fd5760016102605161024051808210156114e557600080fd5b808203905090501115156114f857611539565b611528565b600161024051610260518082101561151457600080fd5b8082039050905011151561152757611539565b5b5b8151600101808352811415611312575b5050610260516000526000516101a0515650005b600015611872575b6101e0526101405261016052610180526101a0526101c0526002610160511260006101605112151661158657600080fd5b6101c0516102005260006102205261014051600280820282158284830414176115ae57600080fd5b809050905090506102405260006102605261028060006002818352015b610160516102805118156115fb5761018061028051600281106115ed57600080fd5b602002015161026052611600565b61167c565b61022080516102605181818301101561161857600080fd5b80820190509050815250610200516101c051808202821582848304141761163e57600080fd5b80905090509050610260516002808202821582848304141761165f57600080fd5b80905090509050808061167157600080fd5b820490509050610200525b81516001018083528114156115cb575b5050610200516101c05180820282158284830414176116aa57600080fd5b8090509050905061024051600280820282158284830414176116cb57600080fd5b8090509050905080806116dd57600080fd5b82049050905061020052610220516101c0516102405180806116fe57600080fd5b82049050905081818301101561171357600080fd5b808201905090506102a05260006102c0526101c0516102e052610300600060ff818352015b6102e0516102c0526102e0516102e051808202821582848304141761175c57600080fd5b809050905090506102005181818301101561177657600080fd5b8082019050905060026102e051808202821582848304141761179757600080fd5b809050905090506102a0518181830110156117b157600080fd5b808201905090506101c051808210156117c957600080fd5b8082039050905080806117db57600080fd5b8204905090506102e0526102c0516102e05111156118225760016102e0516102c0518082101561180a57600080fd5b8082039050905011151561181d5761185e565b61184d565b60016102c0516102e0518082101561183957600080fd5b8082039050905011151561184c5761185e565b5b5b8151600101808352811415611738575b50506102e0516000526000516101e0515650005b600015611faa575b6101c0526101405261016052610180526101a0526101e060018152600181602001525060025461022052610220513b6118b257600080fd5b6102205130186118c157600080fd5b60206102c0600463f446c1d06102605261027c610220515afa6118e357600080fd5b6000506102c05161024052610220513b6118fc57600080fd5b61022051301861190b57600080fd5b6020610360600463ddca3f436103005261031c610220515afa61192d57600080fd5b600050610360516002808202821582848304141761194a57600080fd5b809050905090506004808061195e57600080fd5b8204905090506102e0526102e080516102e051639502f900808202821582848304141761198a57600080fd5b809050905090506402540be40080806119a257600080fd5b8204905090508181830110156119b757600080fd5b808201905090508152506103806001815264e8d4a510008160200152506003543b6119e157600080fd5b60035430186119ef57600080fd5b602061044060046318160ddd6103e0526103fc6003545afa611a1057600080fd5b600050610440516103c0526104606001815264e8d4a5100081602001525060006104a0526104c060006002818352015b6104606104c05160028110611a5457600080fd5b602002018051610220513b611a6857600080fd5b610220513018611a7757600080fd5b6020610560602463065a80d86104e0526104c051610500526104fc610220515afa611aa157600080fd5b600050610560518082028215828483041417611abc57600080fd5b809050905090508152506101e06104c05160028110611ada57600080fd5b602002015115611b65576104606104c05160028110611af857600080fd5b60200201516101806104c05160028110611b1157600080fd5b60200201518082028215828483041417611b2a57600080fd5b80905090509050670de0b6b3a76400008080611b4557600080fd5b8204905090506104606104c05160028110611b5f57600080fd5b60200201525b6104a080516104606104c05160028110611b7e57600080fd5b6020020151818183011015611b9257600080fd5b808201905090508152505b8151600101808352811415611a40575b50506101406105a0525b6105a0515160206105a051016105a0526105a06105a0511015611bd957611bb7565b633aea5be46105c052610240516105e0526106006104608051825280602001518260200152505061062051610600516105e05160065801611253565b610680526105806105a0525b6105a0515260206105a051036105a0526101406105a051101515611c4457611c21565b61068051610580526105805161014051610580518082028215828483041417611c6c57600080fd5b809050905090506103c0518080611c8257600080fd5b82049050905080821015611c9557600080fd5b808203905090506106a0526106c06104608051825280602001518260200152505061070060006002818352015b6000610720526104606107005160028110611cdc57600080fd5b60200201516106a0518082028215828483041417611cf957600080fd5b80905090509050610580518080611d0f57600080fd5b820490509050610740526104606107005160028110611d2d57600080fd5b60200201516107605261016051610700511415611db15761076080516104a051610580516106a05180821015611d6257600080fd5b808203905090508082028215828483041417611d7d57600080fd5b80905090509050610580518080611d9357600080fd5b82049050905080821015611da657600080fd5b808203905090508152505b6107605161074051101515611de557610740516107605180821015611dd557600080fd5b8082039050905061072052611e06565b610760516107405180821015611dfa57600080fd5b80820390509050610720525b6106c06107005160028110611e1a57600080fd5b6020020180516102e051610720518082028215828483041417611e3c57600080fd5b809050905090506402540be4008080611e5457600080fd5b82049050905080821015611e6757600080fd5b808203905090508152505b8151600101808352811415611cc2575b50506106c06101605160028110611e9857600080fd5b60200201516101406107a0525b6107a0515160206107a051016107a0526107a06107a0511015611ec757611ea5565b6304e91cf76107c052610240516107e05261016051610800526108206106c0805182528060200151826020015250506106a05161086052610860516108405161082051610800516107e05160065801611555565b6108c0526107806107a0525b6107a0515260206107a051036107a0526101406107a051101515611f4a57611f27565b6108c05180821015611f5b57600080fd5b8082039050905061078052610780516103806101605160028110611f7e57600080fd5b60200201518080611f8e57600080fd5b82049050905061078052610780516000526000516101c0515650005b63cc2b27d7600051141561218e573415611fc357600080fd5b60605160243580604051901315611fd957600080fd5b8091901215611fe757600080fd5b506101406000815260008160200152506101806001815260018160200152506101c060006002818352015b6101806101c0516002811061202657600080fd5b6020020151156120df576101c0516002811061204157600080fd5b600060c052602060c02001543b61205757600080fd5b6101c0516002811061206857600080fd5b600060c052602060c0200154301861207f57600080fd5b6020610240600463182df0f56101e0526101fc6101c051600281106120a357600080fd5b600060c052602060c02001545afa6120ba57600080fd5b600050610240516101406101c051600281106120d557600080fd5b6020020152612102565b670de0b6b3a76400006101406101c051600281106120fc57600080fd5b60200201525b5b8151600101808352811415612012575b50506101405161016051610180516101a051638594ca16610280526004356102a0526024356102c0526102e061014080518252806020015182602001525050610300516102e0516102c0516102a0516006580161187a565b610360526101a0526101805261016052610140526103605160005260206000f350005b631a4d01d260005114156121a7576000610140526121dd565b63517a55a360005114156121d557606435600281106121c557600080fd5b60206064610140376000506121dd565b60001561274f575b62ffffff54156121ec57600080fd5b600162ffffff5534156121fe57600080fd5b6060516024358060405190131561221457600080fd5b809190121561222257600080fd5b506101606001815260018160200152506101a06000815260008160200152506003546101e05261020060006002818352015b610160610200516002811061226857600080fd5b60200201511561232357610200516002811061228357600080fd5b600060c052602060c02001543b61229957600080fd5b61020051600281106122aa57600080fd5b600060c052602060c020015430186122c157600080fd5b6020610280600463bd6d894d6102205261023c600061020051600281106122e757600080fd5b600060c052602060c02001545af16122fe57600080fd5b600050610280516101a0610200516002811061231957600080fd5b6020020152612346565b670de0b6b3a76400006101a0610200516002811061234057600080fd5b60200201525b5b8151600101808352811415612254575b50506101406102c0525b6102c0515160206102c051016102c0526102c06102c051101561238357612361565b638594ca166102e05260043561030052602435610320526103406101a080518252806020015182602001525050610360516103405161032051610300516006580161187a565b6103c0526102a06102c0525b6102c0515260206102c051036102c0526101406102c0511015156123f8576123d5565b6103c0516102a0526308c379a06103e0526020610400526018610420527f4e6f7420656e6f75676820636f696e732072656d6f766564000000000000000061044052610420506044356102a05110156124525760846103fcfd5b6003543b61245f57600080fd5b600354301861246d57600080fd5b602061054060646323b872dd61048052336104a052306104c0526004356104e05261049c60006003545af16124a157600080fd5b600050610540516124b157600080fd5b6105606000815260008160200152506102a051670de0b6b3a764000080820282158284830414176124e157600080fd5b809050905090506101a0602435600281106124fb57600080fd5b6020020151808061250b57600080fd5b8204905090506105606024356002811061252457600080fd5b60200201526101e0513b61253757600080fd5b6101e051301861254657600080fd5b602061064060246370a082316105c052306105e0526105dc6101e0515afa61256d57600080fd5b600050610640516105a0526002543b61258557600080fd5b600254301861259357600080fd5b60006000606463e310327361066052610680610560805182528060200151826020015250506004356106c05261067c60006002545af16125d257600080fd5b610140610720525b610720515160206107205101610720526107206107205110156125fc576125da565b638ac5af926107405233610760526107806000815260008160200152506024356107c0526107c0516107a0516107805161076051600658016107c2565b610700610720525b610720515260206107205103610720526101406107205110151561266457612641565b600050610140511515612746576101e0513b61267f57600080fd5b6101e051301861268e57600080fd5b60206108c060246370a0823161084052306108605261085c6101e0515afa6126b557600080fd5b6000506108c051610820526105a051610820511115612745576101e0513b6126dc57600080fd5b6101e05130186126eb57600080fd5b6020610980604463a9059cbb6108e0523361090052610820516105a0518082101561271557600080fd5b80820390509050610920526108fc60006101e0515af161273457600080fd5b6000506109805161274457600080fd5b5b5b600062ffffff55005b636c956a54600051141561288c5762ffffff541561276c57600080fd5b600162ffffff55341561277e57600080fd5b6002543b61278b57600080fd5b600254301861279957600080fd5b60206101c06004638da5cb5b6101605261017c6002545afa6127ba57600080fd5b6000506101c051610140526101405133146127d457600080fd5b6003546101e0526101e0513b6127e957600080fd5b6101e05130186127f857600080fd5b6020610340604463a9059cbb6102a052610140516102c0526101e0513b61281e57600080fd5b6101e051301861282d57600080fd5b602061028060246370a0823161020052306102205261021c6101e0515afa61285457600080fd5b600050610280516102e0526102bc60006101e0515af161287357600080fd5b6000506103405161288357600080fd5b600062ffffff55005b6323746eb860005114156128f15734156128a557600080fd5b606051600435806040519013156128bb57600080fd5b80919012156128c957600080fd5b50600435600281106128da57600080fd5b600060c052602060c020015460005260206000f350005b63b739953e600051141561295657341561290a57600080fd5b6060516004358060405190131561292057600080fd5b809190121561292e57600080fd5b506004356002811061293f57600080fd5b600160c052602060c020015460005260206000f350005b637165485d600051141561297d57341561296f57600080fd5b60025460005260206000f350005b63fc0c546a60005114156129a457341561299657600080fd5b60035460005260206000f350005b5b60006000fd5b610199612b4403610199600039610199612b44036000f30000000000000000000000005d3a536e4d6dbd6114cc1ead35777bab948e364300000000000000000000000039aa39c021dfbae8fac545936693ac917d5e75630000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000a2b47e3d5c44877cca798226b7b8118f9bfb7a56000000000000000000000000845838df265dcd2c412a1dc9e959c7d08537f8a2
Deployed Bytecode
0x600436101561000d576129a5565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052630b4c7e4d60005114156107ba5762ffffff54156100be57600080fd5b600162ffffff5534156100d057600080fd5b6101406001815260018160200152506101806000815260008160200152506101c060008152600081602001525061020060006002818352015b6004610200516002811061011c57600080fd5b602002013561022052600061022051111561069d57610180610200516002811061014557600080fd5b6020020151156101f157610200516002811061016057600080fd5b600160c052602060c02001543b61017657600080fd5b610200516002811061018757600080fd5b600160c052602060c0200154301861019e57600080fd5b6000600060646323b872dd6103205233610340523061036052610220516103805261033c600061020051600281106101d557600080fd5b600160c052602060c02001545af16101ec57600080fd5b6102a0565b610200516002811061020257600080fd5b600160c052602060c02001543b61021857600080fd5b610200516002811061022957600080fd5b600160c052602060c0200154301861024057600080fd5b602061030060646323b872dd6102405233610260523061028052610220516102a05261025c6000610200516002811061027857600080fd5b600160c052602060c02001545af161028f57600080fd5b6000506103005161029f57600080fd5b5b61014061020051600281106102b457600080fd5b6020020151156105dc5761020051600281106102cf57600080fd5b600160c052602060c02001543b6102e557600080fd5b61020051600281106102f657600080fd5b600160c052602060c0200154301861030d57600080fd5b6020610540604463095ea7b36104a052610200516002811061032e57600080fd5b600060c052602060c02001546104c052610220516104e0526104bc6000610200516002811061035c57600080fd5b600160c052602060c02001545af161037357600080fd5b60005061054050610200516002811061038b57600080fd5b600060c052602060c02001543b6103a157600080fd5b61020051600281106103b257600080fd5b600060c052602060c020015430186103c957600080fd5b6020610600602463a0712d6861058052610220516105a05261059c600061020051600281106103f757600080fd5b600060c052602060c02001545af161040e57600080fd5b60005061060051610560526000610560511115610471576308c379a0610620526020610640526013610660527f436f756c64206e6f74206d696e7420636f696e000000000000000000000000006106805261066050600061047057608461063cfd5b5b610200516002811061048257600080fd5b600060c052602060c02001543b61049857600080fd5b61020051600281106104a957600080fd5b600060c052602060c020015430186104c057600080fd5b602061074060246370a082316106c052306106e0526106dc61020051600281106104e957600080fd5b600060c052602060c02001545afa61050057600080fd5b600050610740516101c0610200516002811061051b57600080fd5b6020020152610200516002811061053157600080fd5b600060c052602060c02001543b61054757600080fd5b610200516002811061055857600080fd5b600060c052602060c0200154301861056f57600080fd5b6020610800604463095ea7b361076052600254610780526101c0610200516002811061059a57600080fd5b60200201516107a05261077c600061020051600281106105b957600080fd5b600060c052602060c02001545af16105d057600080fd5b6000506108005061069c565b610220516101c061020051600281106105f457600080fd5b6020020152610200516002811061060a57600080fd5b600160c052602060c02001543b61062057600080fd5b610200516002811061063157600080fd5b600160c052602060c0200154301861064857600080fd5b6020610480604463095ea7b36103e0526002546104005261022051610420526103fc6000610200516002811061067d57600080fd5b600160c052602060c02001545af161069457600080fd5b600050610480505b5b5b8151600101808352811415610109575b50506002543b6106bd57600080fd5b60025430186106cb57600080fd5b600060006064630b4c7e4d610820526108406101c0805182528060200151826020015250506044356108805261083c60006002545af161070a57600080fd5b6003543b61071757600080fd5b600354301861072557600080fd5b602061098060246370a0823161090052306109205261091c6003545afa61074b57600080fd5b600050610980516108e0526003543b61076357600080fd5b600354301861077157600080fd5b6020610a40604463a9059cbb6109a052336109c0526108e0516109e0526109bc60006003545af16107a157600080fd5b600050610a40516107b157600080fd5b600062ffffff55005b600015610b35575b6101c0526101405261016052610180526101a0526101e060018152600181602001525061022060008152600081602001525061026060006002818352015b6101a051610260511460006101a051121715610b1c576101e0610260516002811061082a57600080fd5b60200201511561096057610260516002811061084557600080fd5b600060c052602060c020015461028052610280513b61086357600080fd5b61028051301861087257600080fd5b602061034060246370a082316102c052306102e0526102dc610280515afa61089957600080fd5b600050610340516102a0526102a05115156108b357610b1d565b610280513b6108c157600080fd5b6102805130186108d057600080fd5b6020610400602463db006a75610380526102a0516103a05261039c6000610280515af16108fc57600080fd5b6000506104005161036052600061036051111561095f576308c379a0610420526020610440526015610460527f436f756c64206e6f742072656465656d20636f696e00000000000000000000006104805261046050600061095e57608461043cfd5b5b5b610260516002811061097157600080fd5b600160c052602060c02001546104c0526104c0513b61098f57600080fd5b6104c051301861099e57600080fd5b602061058060246370a0823161050052306105205261051c6104c0515afa6109c557600080fd5b600050610580516104e0526308c379a06105a05260206105c052601a6105e0527f4e6f7420656e6f75676820636f696e732077697468647261776e000000000000610600526105e0506101606102605160028110610a2257600080fd5b60200201516104e0511015610a385760846105bcfd5b60006104e051101515610b1b576102206102605160028110610a5957600080fd5b602002015115610ab8576104c0513b610a7157600080fd5b6104c0513018610a8057600080fd5b60006000604463a9059cbb6107005261014051610720526104e0516107405261071c60006104c0515af1610ab357600080fd5b610b1a565b6104c0513b610ac657600080fd5b6104c0513018610ad557600080fd5b60206106e0604463a9059cbb6106405261014051610660526104e0516106805261065c60006104c0515af1610b0957600080fd5b6000506106e051610b1957600080fd5b5b5b5b5b8151600101808352811415610800575b50506101c051565b635b36389c6000511415610cee5762ffffff5415610b5257600080fd5b600162ffffff553415610b6457600080fd5b6101406000815260008160200152506003543b610b8057600080fd5b6003543018610b8e57600080fd5b602061024060646323b872dd61018052336101a052306101c0526004356101e05261019c60006003545af1610bc257600080fd5b60005061024051610bd257600080fd5b6002543b610bdf57600080fd5b6002543018610bed57600080fd5b600060006064635b36389c61026052600435610280526102a06101408051825280602001518260200152505061027c60006002545af1610c2c57600080fd5b610140610320525b61032051516020610320510161032052610320610320511015610c5657610c34565b638ac5af926103405233610360526103806024803582528060200135826020015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103c0526103c0516103a0516103805161036051600658016107c2565b610300610320525b6103205152602061032051036103205261014061032051101515610ce257610cbf565b600050600062ffffff55005b63e3103273600051141561113e5762ffffff5415610d0b57600080fd5b600162ffffff553415610d1d57600080fd5b6101406001815260018160200152506101806000815260008160200152506003546101c0526101e060048035825280602001358260200152505061022060006002818352015b60006101e06102205160028110610d7957600080fd5b6020020151116101406102205160028110610d9357600080fd5b60200201511615610ea1576102205160028110610daf57600080fd5b600060c052602060c02001543b610dc557600080fd5b6102205160028110610dd657600080fd5b600060c052602060c02001543018610ded57600080fd5b60206102c0600463bd6d894d6102605261027c60006102205160028110610e1357600080fd5b600060c052602060c02001545af1610e2a57600080fd5b6000506102c051610240526101e06102205160028110610e4957600080fd5b6020020151670de0b6b3a76400008082028215828483041417610e6b57600080fd5b80905090509050610240518080610e8157600080fd5b8204905090506101e06102205160028110610e9b57600080fd5b60200201525b5b8151600101808352811415610d63575b50506101c0513b610ec257600080fd5b6101c0513018610ed157600080fd5b602061038060246370a0823161030052336103205261031c6101c0515afa610ef857600080fd5b600050610380516102e0526044356102e0511115610f18576044356102e0525b6101c0513b610f2657600080fd5b6101c0513018610f3557600080fd5b602061046060646323b872dd6103a052336103c052306103e0526102e051610400526103bc60006101c0515af1610f6b57600080fd5b60005061046051610f7b57600080fd5b6002543b610f8857600080fd5b6002543018610f9657600080fd5b60006000606463e3103273610480526104a06101e0805182528060200151826020015250506044356104e05261049c60006002545af1610fd557600080fd5b6101c0513b610fe357600080fd5b6101c0513018610ff257600080fd5b60206105c060246370a0823161054052306105605261055c6101c0515afa61101957600080fd5b6000506105c0516102e0526101c0513b61103257600080fd5b6101c051301861104157600080fd5b6020610680604463a9059cbb6105e05233610600526102e051610620526105fc60006101c0515af161107257600080fd5b6000506106805161108257600080fd5b6101406106a0525b6106a0515160206106a051016106a0526106a06106a05110156110ac5761108a565b638ac5af926106c052336106e0526107006000815260008160200152507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610740526107405161072051610700516106e051600658016107c2565b6106806106a0525b6106a0515260206106a051036106a0526101406106a0511015156111325761110f565b600050600062ffffff55005b60001561124b575b6101c0526101405261016052610180526101a0526101e06101408051825280602001518260200152505061022060006002818352015b6101e0610220516002811061119057600080fd5b602002015161018061022051600281106111a957600080fd5b602002015180820282158284830414176111c257600080fd5b80905090509050670de0b6b3a764000080806111dd57600080fd5b8204905090506101e061022051600281106111f757600080fd5b60200201525b815160010180835281141561117c575b50506040610240525b60006102405111151561122857611244565b602061024051036101e001516020610240510361024052611216565b6101c05156005b60001561154d575b6101a05261014052610160526101805260006101c05261020060006002818352015b6020610200510261016001516101e0526101c080516101e05181818301101561129d57600080fd5b808201905090508152505b8151600101808352811415611275575b50506101c05115156112d35760006000526000516101a05156505b6000610240526101c0516102605261014051600280820282158284830414176112fb57600080fd5b80905090509050610280526102a0600060ff818352015b610260516102c05261030060006002818352015b6020610300510261016001516102e0526102c05161026051808202821582848304141761135257600080fd5b809050905090506102e0516002808202821582848304141761137357600080fd5b80905090509050600181818301101561138b57600080fd5b80820190509050808061139d57600080fd5b8204905090506102c0525b8151600101808352811415611326575b50506102605161024052610280516101c05180820282158284830414176113de57600080fd5b809050905090506102c051600280820282158284830414176113ff57600080fd5b8090509050905081818301101561141557600080fd5b8082019050905061026051808202821582848304141761143457600080fd5b809050905090506102805160018082101561144e57600080fd5b8082039050905061026051808202821582848304141761146d57600080fd5b8090509050905060036102c051808202821582848304141761148e57600080fd5b809050905090508181830110156114a457600080fd5b8082019050905080806114b657600080fd5b82049050905061026052610240516102605111156114fd5760016102605161024051808210156114e557600080fd5b808203905090501115156114f857611539565b611528565b600161024051610260518082101561151457600080fd5b8082039050905011151561152757611539565b5b5b8151600101808352811415611312575b5050610260516000526000516101a0515650005b600015611872575b6101e0526101405261016052610180526101a0526101c0526002610160511260006101605112151661158657600080fd5b6101c0516102005260006102205261014051600280820282158284830414176115ae57600080fd5b809050905090506102405260006102605261028060006002818352015b610160516102805118156115fb5761018061028051600281106115ed57600080fd5b602002015161026052611600565b61167c565b61022080516102605181818301101561161857600080fd5b80820190509050815250610200516101c051808202821582848304141761163e57600080fd5b80905090509050610260516002808202821582848304141761165f57600080fd5b80905090509050808061167157600080fd5b820490509050610200525b81516001018083528114156115cb575b5050610200516101c05180820282158284830414176116aa57600080fd5b8090509050905061024051600280820282158284830414176116cb57600080fd5b8090509050905080806116dd57600080fd5b82049050905061020052610220516101c0516102405180806116fe57600080fd5b82049050905081818301101561171357600080fd5b808201905090506102a05260006102c0526101c0516102e052610300600060ff818352015b6102e0516102c0526102e0516102e051808202821582848304141761175c57600080fd5b809050905090506102005181818301101561177657600080fd5b8082019050905060026102e051808202821582848304141761179757600080fd5b809050905090506102a0518181830110156117b157600080fd5b808201905090506101c051808210156117c957600080fd5b8082039050905080806117db57600080fd5b8204905090506102e0526102c0516102e05111156118225760016102e0516102c0518082101561180a57600080fd5b8082039050905011151561181d5761185e565b61184d565b60016102c0516102e0518082101561183957600080fd5b8082039050905011151561184c5761185e565b5b5b8151600101808352811415611738575b50506102e0516000526000516101e0515650005b600015611faa575b6101c0526101405261016052610180526101a0526101e060018152600181602001525060025461022052610220513b6118b257600080fd5b6102205130186118c157600080fd5b60206102c0600463f446c1d06102605261027c610220515afa6118e357600080fd5b6000506102c05161024052610220513b6118fc57600080fd5b61022051301861190b57600080fd5b6020610360600463ddca3f436103005261031c610220515afa61192d57600080fd5b600050610360516002808202821582848304141761194a57600080fd5b809050905090506004808061195e57600080fd5b8204905090506102e0526102e080516102e051639502f900808202821582848304141761198a57600080fd5b809050905090506402540be40080806119a257600080fd5b8204905090508181830110156119b757600080fd5b808201905090508152506103806001815264e8d4a510008160200152506003543b6119e157600080fd5b60035430186119ef57600080fd5b602061044060046318160ddd6103e0526103fc6003545afa611a1057600080fd5b600050610440516103c0526104606001815264e8d4a5100081602001525060006104a0526104c060006002818352015b6104606104c05160028110611a5457600080fd5b602002018051610220513b611a6857600080fd5b610220513018611a7757600080fd5b6020610560602463065a80d86104e0526104c051610500526104fc610220515afa611aa157600080fd5b600050610560518082028215828483041417611abc57600080fd5b809050905090508152506101e06104c05160028110611ada57600080fd5b602002015115611b65576104606104c05160028110611af857600080fd5b60200201516101806104c05160028110611b1157600080fd5b60200201518082028215828483041417611b2a57600080fd5b80905090509050670de0b6b3a76400008080611b4557600080fd5b8204905090506104606104c05160028110611b5f57600080fd5b60200201525b6104a080516104606104c05160028110611b7e57600080fd5b6020020151818183011015611b9257600080fd5b808201905090508152505b8151600101808352811415611a40575b50506101406105a0525b6105a0515160206105a051016105a0526105a06105a0511015611bd957611bb7565b633aea5be46105c052610240516105e0526106006104608051825280602001518260200152505061062051610600516105e05160065801611253565b610680526105806105a0525b6105a0515260206105a051036105a0526101406105a051101515611c4457611c21565b61068051610580526105805161014051610580518082028215828483041417611c6c57600080fd5b809050905090506103c0518080611c8257600080fd5b82049050905080821015611c9557600080fd5b808203905090506106a0526106c06104608051825280602001518260200152505061070060006002818352015b6000610720526104606107005160028110611cdc57600080fd5b60200201516106a0518082028215828483041417611cf957600080fd5b80905090509050610580518080611d0f57600080fd5b820490509050610740526104606107005160028110611d2d57600080fd5b60200201516107605261016051610700511415611db15761076080516104a051610580516106a05180821015611d6257600080fd5b808203905090508082028215828483041417611d7d57600080fd5b80905090509050610580518080611d9357600080fd5b82049050905080821015611da657600080fd5b808203905090508152505b6107605161074051101515611de557610740516107605180821015611dd557600080fd5b8082039050905061072052611e06565b610760516107405180821015611dfa57600080fd5b80820390509050610720525b6106c06107005160028110611e1a57600080fd5b6020020180516102e051610720518082028215828483041417611e3c57600080fd5b809050905090506402540be4008080611e5457600080fd5b82049050905080821015611e6757600080fd5b808203905090508152505b8151600101808352811415611cc2575b50506106c06101605160028110611e9857600080fd5b60200201516101406107a0525b6107a0515160206107a051016107a0526107a06107a0511015611ec757611ea5565b6304e91cf76107c052610240516107e05261016051610800526108206106c0805182528060200151826020015250506106a05161086052610860516108405161082051610800516107e05160065801611555565b6108c0526107806107a0525b6107a0515260206107a051036107a0526101406107a051101515611f4a57611f27565b6108c05180821015611f5b57600080fd5b8082039050905061078052610780516103806101605160028110611f7e57600080fd5b60200201518080611f8e57600080fd5b82049050905061078052610780516000526000516101c0515650005b63cc2b27d7600051141561218e573415611fc357600080fd5b60605160243580604051901315611fd957600080fd5b8091901215611fe757600080fd5b506101406000815260008160200152506101806001815260018160200152506101c060006002818352015b6101806101c0516002811061202657600080fd5b6020020151156120df576101c0516002811061204157600080fd5b600060c052602060c02001543b61205757600080fd5b6101c0516002811061206857600080fd5b600060c052602060c0200154301861207f57600080fd5b6020610240600463182df0f56101e0526101fc6101c051600281106120a357600080fd5b600060c052602060c02001545afa6120ba57600080fd5b600050610240516101406101c051600281106120d557600080fd5b6020020152612102565b670de0b6b3a76400006101406101c051600281106120fc57600080fd5b60200201525b5b8151600101808352811415612012575b50506101405161016051610180516101a051638594ca16610280526004356102a0526024356102c0526102e061014080518252806020015182602001525050610300516102e0516102c0516102a0516006580161187a565b610360526101a0526101805261016052610140526103605160005260206000f350005b631a4d01d260005114156121a7576000610140526121dd565b63517a55a360005114156121d557606435600281106121c557600080fd5b60206064610140376000506121dd565b60001561274f575b62ffffff54156121ec57600080fd5b600162ffffff5534156121fe57600080fd5b6060516024358060405190131561221457600080fd5b809190121561222257600080fd5b506101606001815260018160200152506101a06000815260008160200152506003546101e05261020060006002818352015b610160610200516002811061226857600080fd5b60200201511561232357610200516002811061228357600080fd5b600060c052602060c02001543b61229957600080fd5b61020051600281106122aa57600080fd5b600060c052602060c020015430186122c157600080fd5b6020610280600463bd6d894d6102205261023c600061020051600281106122e757600080fd5b600060c052602060c02001545af16122fe57600080fd5b600050610280516101a0610200516002811061231957600080fd5b6020020152612346565b670de0b6b3a76400006101a0610200516002811061234057600080fd5b60200201525b5b8151600101808352811415612254575b50506101406102c0525b6102c0515160206102c051016102c0526102c06102c051101561238357612361565b638594ca166102e05260043561030052602435610320526103406101a080518252806020015182602001525050610360516103405161032051610300516006580161187a565b6103c0526102a06102c0525b6102c0515260206102c051036102c0526101406102c0511015156123f8576123d5565b6103c0516102a0526308c379a06103e0526020610400526018610420527f4e6f7420656e6f75676820636f696e732072656d6f766564000000000000000061044052610420506044356102a05110156124525760846103fcfd5b6003543b61245f57600080fd5b600354301861246d57600080fd5b602061054060646323b872dd61048052336104a052306104c0526004356104e05261049c60006003545af16124a157600080fd5b600050610540516124b157600080fd5b6105606000815260008160200152506102a051670de0b6b3a764000080820282158284830414176124e157600080fd5b809050905090506101a0602435600281106124fb57600080fd5b6020020151808061250b57600080fd5b8204905090506105606024356002811061252457600080fd5b60200201526101e0513b61253757600080fd5b6101e051301861254657600080fd5b602061064060246370a082316105c052306105e0526105dc6101e0515afa61256d57600080fd5b600050610640516105a0526002543b61258557600080fd5b600254301861259357600080fd5b60006000606463e310327361066052610680610560805182528060200151826020015250506004356106c05261067c60006002545af16125d257600080fd5b610140610720525b610720515160206107205101610720526107206107205110156125fc576125da565b638ac5af926107405233610760526107806000815260008160200152506024356107c0526107c0516107a0516107805161076051600658016107c2565b610700610720525b610720515260206107205103610720526101406107205110151561266457612641565b600050610140511515612746576101e0513b61267f57600080fd5b6101e051301861268e57600080fd5b60206108c060246370a0823161084052306108605261085c6101e0515afa6126b557600080fd5b6000506108c051610820526105a051610820511115612745576101e0513b6126dc57600080fd5b6101e05130186126eb57600080fd5b6020610980604463a9059cbb6108e0523361090052610820516105a0518082101561271557600080fd5b80820390509050610920526108fc60006101e0515af161273457600080fd5b6000506109805161274457600080fd5b5b5b600062ffffff55005b636c956a54600051141561288c5762ffffff541561276c57600080fd5b600162ffffff55341561277e57600080fd5b6002543b61278b57600080fd5b600254301861279957600080fd5b60206101c06004638da5cb5b6101605261017c6002545afa6127ba57600080fd5b6000506101c051610140526101405133146127d457600080fd5b6003546101e0526101e0513b6127e957600080fd5b6101e05130186127f857600080fd5b6020610340604463a9059cbb6102a052610140516102c0526101e0513b61281e57600080fd5b6101e051301861282d57600080fd5b602061028060246370a0823161020052306102205261021c6101e0515afa61285457600080fd5b600050610280516102e0526102bc60006101e0515af161287357600080fd5b6000506103405161288357600080fd5b600062ffffff55005b6323746eb860005114156128f15734156128a557600080fd5b606051600435806040519013156128bb57600080fd5b80919012156128c957600080fd5b50600435600281106128da57600080fd5b600060c052602060c020015460005260206000f350005b63b739953e600051141561295657341561290a57600080fd5b6060516004358060405190131561292057600080fd5b809190121561292e57600080fd5b506004356002811061293f57600080fd5b600160c052602060c020015460005260206000f350005b637165485d600051141561297d57341561296f57600080fd5b60025460005260206000f350005b63fc0c546a60005114156129a457341561299657600080fd5b60035460005260206000f350005b5b60006000fd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005d3a536e4d6dbd6114cc1ead35777bab948e364300000000000000000000000039aa39c021dfbae8fac545936693ac917d5e75630000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000a2b47e3d5c44877cca798226b7b8118f9bfb7a56000000000000000000000000845838df265dcd2c412a1dc9e959c7d08537f8a2
-----Decoded View---------------
Arg [0] : _coins (address[2]): 0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643,0x39AA39c021dfbaE8faC545936693aC917d5E7563
Arg [1] : _underlying_coins (address[2]): 0x6B175474E89094C44Da98b954EedeAC495271d0F,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [2] : _curve (address): 0xA2B47E3D5c44877cca798226B7B8118F9BFb7A56
Arg [3] : _token (address): 0x845838DF265Dcd2c412A1Dc9e959c7d08537f8a2
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000005d3a536e4d6dbd6114cc1ead35777bab948e3643
Arg [1] : 00000000000000000000000039aa39c021dfbae8fac545936693ac917d5e7563
Arg [2] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [3] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [4] : 000000000000000000000000a2b47e3d5c44877cca798226b7b8118f9bfb7a56
Arg [5] : 000000000000000000000000845838df265dcd2c412a1dc9e959c7d08537f8a2
Loading...
Loading
Loading...
Loading
OVERVIEW
Curve.fi's Compound deposit address.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.