Overview
ETH Balance
ETH Value
$0.00Latest 25 from a total of 354 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deposit_and_stak... | 3600512 | 44 days ago | IN | 0 ETH | 0.00001172 | ||||
| Deposit_and_stak... | 2781294 | 107 days ago | IN | 0 ETH | 0.00001017 | ||||
| Deposit_and_stak... | 2780199 | 107 days ago | IN | 0 ETH | 0.00000877 | ||||
| Deposit_and_stak... | 2779979 | 107 days ago | IN | 0 ETH | 0.00000805 | ||||
| Deposit_and_stak... | 2742195 | 110 days ago | IN | 0 ETH | 0.00000999 | ||||
| Deposit_and_stak... | 2742041 | 110 days ago | IN | 0 ETH | 0.00001 | ||||
| Deposit_and_stak... | 2687835 | 114 days ago | IN | 0 ETH | 0.00001051 | ||||
| Deposit_and_stak... | 2687498 | 114 days ago | IN | 0 ETH | 0.00000881 | ||||
| Deposit_and_stak... | 2646425 | 117 days ago | IN | 0 ETH | 0.00000987 | ||||
| Deposit_and_stak... | 2646355 | 117 days ago | IN | 0 ETH | 0.00000987 | ||||
| Deposit_and_stak... | 2597888 | 121 days ago | IN | 0 ETH | 0.0000087 | ||||
| Deposit_and_stak... | 2595816 | 121 days ago | IN | 0 ETH | 0.00033542 | ||||
| Deposit_and_stak... | 2595543 | 121 days ago | IN | 0 ETH | 0.0000087 | ||||
| Deposit_and_stak... | 2582657 | 122 days ago | IN | 0 ETH | 0.0000403 | ||||
| Deposit_and_stak... | 2582578 | 122 days ago | IN | 0 ETH | 0.0000403 | ||||
| Deposit_and_stak... | 2574867 | 123 days ago | IN | 0 ETH | 0.00000967 | ||||
| Deposit_and_stak... | 2553613 | 124 days ago | IN | 0 ETH | 0.0000087 | ||||
| Deposit_and_stak... | 2498152 | 128 days ago | IN | 0 ETH | 0.00001065 | ||||
| Deposit_and_stak... | 2491812 | 128 days ago | IN | 0 ETH | 0.00008955 | ||||
| Deposit_and_stak... | 2488386 | 128 days ago | IN | 0 ETH | 0.0000512 | ||||
| Deposit_and_stak... | 1902747 | 148 days ago | IN | 0 ETH | 0.00006879 | ||||
| Deposit_and_stak... | 1801004 | 151 days ago | IN | 0 ETH | 0.00004576 | ||||
| Deposit_and_stak... | 1733722 | 154 days ago | IN | 0 ETH | 0.00004878 | ||||
| Deposit_and_stak... | 1733680 | 154 days ago | IN | 0 ETH | 0.00003655 | ||||
| Deposit_and_stak... | 1683756 | 155 days ago | IN | 0 ETH | 0.00004978 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CurveDeposit&StakeZap
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# pragma version 0.3.10
# pragma evm-version paris
"""
@title CurveDeposit&StakeZap
@custom:version 1.0.0
@author Curve.Fi
@license Copyright (c) Curve.Fi, 2020-2024 - all rights reserved
@notice A zap to add liquidity to pool and deposit into gauge in one transaction
"""
version: public(constant(String[8])) = "1.0.0"
# External Contracts
from vyper.interfaces import ERC20
interface Pool2:
def add_liquidity(amounts: uint256[2], min_mint_amount: uint256): nonpayable
interface Pool3:
def add_liquidity(amounts: uint256[3], min_mint_amount: uint256): nonpayable
interface StableSwap:
def add_liquidity(_amounts: DynArray[uint256, MAX_COINS], _min_mint_amount: uint256): nonpayable
interface MetaZap:
def add_liquidity(pool: address, _amounts: DynArray[uint256, MAX_COINS], _min_mint_amount: uint256): nonpayable
interface Gauge:
def deposit(lp_token_amount: uint256, addr: address): nonpayable
MAX_COINS: constant(uint256) = 9
@external
@nonreentrant('lock')
def deposit_and_stake(
deposit: address,
lp_token: address,
gauge: address,
n_coins: uint256,
coins: DynArray[address, MAX_COINS],
amounts: DynArray[uint256, MAX_COINS],
min_mint_amount: uint256,
use_dynarray: bool,
pool: address = empty(address),
) -> uint256:
"""
@notice Deposit coins into pool and stake obtained LP tokens into gauge.
Zap address should be passed to `deposit` arg in case of meta-pool deposit with underlying coins.
@param deposit Zap address for meta-pool deposit with underlying coins, pool address for other cases
@param lp_token The address of LP token
@param gauge The address of gauge
@param n_coins The number of tokens (underlying or wrapped for meta-pools)
@param coins List of addresses of coins (underlying or wrapped for meta-pools)
@param amounts List of amounts of coins to deposit (underlying or wrapped for meta-pools)
@param min_mint_amount Minimum amount of LP tokens to mint from the deposit
@param use_dynarray True - plain stable, meta stable with underlying coins
False - twocrypto, tricrypto, meta stable with wrapped coins
@param pool The address of meta-pool in case of deposit with underlying coins
@return Amount of LP tokens staked into gauge
"""
assert n_coins >= 2, 'n_coins must be >=2'
assert n_coins <= MAX_COINS, 'n_coins must be <=MAX_COINS'
# Ensure allowance for swap or zap
for i in range(n_coins, bound=MAX_COINS):
if amounts[i] == 0 or ERC20(coins[i]).allowance(self, deposit) > 0:
continue
ERC20(coins[i]).approve(deposit, max_value(uint256), default_return_value=True)
# Ensure allowance for gauge
if ERC20(lp_token).allowance(self, gauge) == 0:
ERC20(lp_token).approve(gauge, max_value(uint256))
# Transfer coins from owner
for i in range(n_coins, bound=MAX_COINS):
if amounts[i] > 0:
assert ERC20(coins[i]).transferFrom(msg.sender, self, amounts[i], default_return_value=True)
# Deposit into pool
if pool != empty(address): # meta-pool deposit with underlying coins, deposit is zap here
MetaZap(deposit).add_liquidity(pool, amounts, min_mint_amount)
elif use_dynarray: # plain stable pool
StableSwap(deposit).add_liquidity(amounts, min_mint_amount)
else:
if n_coins == 2: # twocrypto or meta-pool deposit with wrapped coins
Pool2(deposit).add_liquidity([amounts[0], amounts[1]], min_mint_amount)
elif n_coins == 3: # tricrypto
Pool3(deposit).add_liquidity([amounts[0], amounts[1], amounts[2]], min_mint_amount)
else:
raise "Wrong arguments"
# Stake into gauge
lp_token_amount: uint256 = ERC20(lp_token).balanceOf(self)
assert lp_token_amount > 0 # dev: swap-token mismatch
Gauge(gauge).deposit(lp_token_amount, msg.sender)
return lp_token_amountContract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"stateMutability":"nonpayable","type":"function","name":"deposit_and_stake","inputs":[{"name":"deposit","type":"address"},{"name":"lp_token","type":"address"},{"name":"gauge","type":"address"},{"name":"n_coins","type":"uint256"},{"name":"coins","type":"address[]"},{"name":"amounts","type":"uint256[]"},{"name":"min_mint_amount","type":"uint256"},{"name":"use_dynarray","type":"bool"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"deposit_and_stake","inputs":[{"name":"deposit","type":"address"},{"name":"lp_token","type":"address"},{"name":"gauge","type":"address"},{"name":"n_coins","type":"uint256"},{"name":"coins","type":"address[]"},{"name":"amounts","type":"uint256[]"},{"name":"min_mint_amount","type":"uint256"},{"name":"use_dynarray","type":"bool"},{"name":"pool","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string"}]}]Contract Creation Code
6108c6610011610000396108c6610000f360003560e01c60026003820660011b6108c001601e39600051565b6354fd4d5081186108b557346108bb5760208060805260056040527f312e302e3000000000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f36108b5565b6210d5a781186108b557610144361034176108bb576000610340526100e8566108b5565b63c0c702dc81186108b557610164361034176108bb57610104358060a01c6108bb57610340525b6004358060a01c6108bb576040526024358060a01c6108bb576060526044358060a01c6108bb5760805260843560040160098135116108bb578035600081600981116108bb57801561015b57905b8060051b6020850101358060a01c6108bb578160051b60c00152600101818118610136575b50508060a052505060a43560040160098135116108bb57803560208160051b0180836101e03750505060e4358060011c6108bb57610320526000546002146108bb57600260005560026064351015610213576013610360527f6e5f636f696e73206d757374206265203e3d32000000000000000000000000006103805261036050610360518061038001601f826000031636823750506308c379a061032052602061034052601f19601f61036051011660440161033cfd5b6009606435111561028457601b610360527f6e5f636f696e73206d757374206265203c3d4d41585f434f494e5300000000006103805261036050610360518061038001601f826000031636823750506308c379a061032052602061034052601f19601f61036051011660440161033cfd5b6000606435600981116108bb5780156103ca57905b8061036052610360516101e0518110156108bb5760051b61020001516102c0576001610317565b6103605160a0518110156108bb5760051b60c0015163dd62ed3e61038052306103a0526040516103c0526020610380604461039c845afa610306573d600060003e3d6000fd5b60203d106108bb5761038090505115155b15610321576103bf565b6103605160a0518110156108bb5760051b60c0015163095ea7b3610380526040516103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103c0526020610380604461039c6000855af1610389573d600060003e3d6000fd5b3d6103a057803b156108bb5760016103e0526103b9565b60203d106108bb57610380518060011c6108bb576103e0525b6103e050505b600101818118610299575b505060605163dd62ed3e6103605230610380526080516103a0526020610360604461037c845afa610400573d600060003e3d6000fd5b60203d106108bb576103609050516104865760605163095ea7b36103c0526080516103e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104005260206103c060446103dc6000855af1610468573d600060003e3d6000fd5b60203d106108bb576103c0518060011c6108bb576104205261042050505b6000606435600981116108bb57801561056457905b8061036052610360516101e0518110156108bb5760051b610200015115610559576103605160a0518110156108bb5760051b60c001516323b872dd61038052336103a052306103c052610360516101e0518110156108bb5760051b61020001516103e0526020610380606461039c6000855af161051d573d600060003e3d6000fd5b3d61053457803b156108bb5760016104005261054d565b60203d106108bb57610380518060011c6108bb57610400525b610400905051156108bb575b60010181811861049b575b505061034051156106115760405163fd9de6316103605260606103405161038052806103a052806103800160006101e0518083528060051b600082600981116108bb5780156105cd57905b8060051b61020001518160051b6020880101526001018181186105af575b5050820160200191505090508101905060c4356103c05250803b156108bb5760006103606101a461037c6000855af161060b573d600060003e3d6000fd5b50610822565b6103205161078c5760026064351861069157604051630b4c7e4d610360526101e051156108bb57600060051b61020001516103805260026101e051106108bb57600160051b61020001516103a05260c4356103c052803b156108bb576000610360606461037c6000855af161068b573d600060003e3d6000fd5b50610822565b60036064351861072257604051634515cef3610360526101e051156108bb57600060051b61020001516103805260026101e051106108bb57600160051b61020001516103a05260036101e051106108bb57600260051b61020001516103c05260c4356103e052803b156108bb576000610360608461037c6000855af161071c573d600060003e3d6000fd5b50610822565b600f610360527f57726f6e6720617267756d656e747300000000000000000000000000000000006103805261036050610360518061038001601f826000031636823750506308c379a061032052602061034052601f19601f61036051011660440161033cfd610822565b60405163b72df5de6103605260408061038052806103800160006101e0518083528060051b600082600981116108bb5780156107e257905b8060051b61020001518160051b6020880101526001018181186107c4575b5050820160200191505090508101905060c4356103a05250803b156108bb57600061036061018461037c6000855af1610820573d600060003e3d6000fd5b505b6060516370a0823161038052306103a0526020610380602461039c845afa61084f573d600060003e3d6000fd5b60203d106108bb576103809050516103605261036051156108bb57608051636e553f6561038052610360516103a052336103c052803b156108bb576000610380604461039c6000855af16108a8573d600060003e3d6000fd5b5060206103606003600055f35b60006000fd5b600080fd009d00c1001a841908c6810600a16576797065728300030a0014
Deployed Bytecode
0x60003560e01c60026003820660011b6108c001601e39600051565b6354fd4d5081186108b557346108bb5760208060805260056040527f312e302e3000000000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f36108b5565b6210d5a781186108b557610144361034176108bb576000610340526100e8566108b5565b63c0c702dc81186108b557610164361034176108bb57610104358060a01c6108bb57610340525b6004358060a01c6108bb576040526024358060a01c6108bb576060526044358060a01c6108bb5760805260843560040160098135116108bb578035600081600981116108bb57801561015b57905b8060051b6020850101358060a01c6108bb578160051b60c00152600101818118610136575b50508060a052505060a43560040160098135116108bb57803560208160051b0180836101e03750505060e4358060011c6108bb57610320526000546002146108bb57600260005560026064351015610213576013610360527f6e5f636f696e73206d757374206265203e3d32000000000000000000000000006103805261036050610360518061038001601f826000031636823750506308c379a061032052602061034052601f19601f61036051011660440161033cfd5b6009606435111561028457601b610360527f6e5f636f696e73206d757374206265203c3d4d41585f434f494e5300000000006103805261036050610360518061038001601f826000031636823750506308c379a061032052602061034052601f19601f61036051011660440161033cfd5b6000606435600981116108bb5780156103ca57905b8061036052610360516101e0518110156108bb5760051b61020001516102c0576001610317565b6103605160a0518110156108bb5760051b60c0015163dd62ed3e61038052306103a0526040516103c0526020610380604461039c845afa610306573d600060003e3d6000fd5b60203d106108bb5761038090505115155b15610321576103bf565b6103605160a0518110156108bb5760051b60c0015163095ea7b3610380526040516103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103c0526020610380604461039c6000855af1610389573d600060003e3d6000fd5b3d6103a057803b156108bb5760016103e0526103b9565b60203d106108bb57610380518060011c6108bb576103e0525b6103e050505b600101818118610299575b505060605163dd62ed3e6103605230610380526080516103a0526020610360604461037c845afa610400573d600060003e3d6000fd5b60203d106108bb576103609050516104865760605163095ea7b36103c0526080516103e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104005260206103c060446103dc6000855af1610468573d600060003e3d6000fd5b60203d106108bb576103c0518060011c6108bb576104205261042050505b6000606435600981116108bb57801561056457905b8061036052610360516101e0518110156108bb5760051b610200015115610559576103605160a0518110156108bb5760051b60c001516323b872dd61038052336103a052306103c052610360516101e0518110156108bb5760051b61020001516103e0526020610380606461039c6000855af161051d573d600060003e3d6000fd5b3d61053457803b156108bb5760016104005261054d565b60203d106108bb57610380518060011c6108bb57610400525b610400905051156108bb575b60010181811861049b575b505061034051156106115760405163fd9de6316103605260606103405161038052806103a052806103800160006101e0518083528060051b600082600981116108bb5780156105cd57905b8060051b61020001518160051b6020880101526001018181186105af575b5050820160200191505090508101905060c4356103c05250803b156108bb5760006103606101a461037c6000855af161060b573d600060003e3d6000fd5b50610822565b6103205161078c5760026064351861069157604051630b4c7e4d610360526101e051156108bb57600060051b61020001516103805260026101e051106108bb57600160051b61020001516103a05260c4356103c052803b156108bb576000610360606461037c6000855af161068b573d600060003e3d6000fd5b50610822565b60036064351861072257604051634515cef3610360526101e051156108bb57600060051b61020001516103805260026101e051106108bb57600160051b61020001516103a05260036101e051106108bb57600260051b61020001516103c05260c4356103e052803b156108bb576000610360608461037c6000855af161071c573d600060003e3d6000fd5b50610822565b600f610360527f57726f6e6720617267756d656e747300000000000000000000000000000000006103805261036050610360518061038001601f826000031636823750506308c379a061032052602061034052601f19601f61036051011660440161033cfd610822565b60405163b72df5de6103605260408061038052806103800160006101e0518083528060051b600082600981116108bb5780156107e257905b8060051b61020001518160051b6020880101526001018181186107c4575b5050820160200191505090508101905060c4356103a05250803b156108bb57600061036061018461037c6000855af1610820573d600060003e3d6000fd5b505b6060516370a0823161038052306103a0526020610380602461039c845afa61084f573d600060003e3d6000fd5b60203d106108bb576103809050516103605261036051156108bb57608051636e553f6561038052610360516103a052336103c052803b156108bb576000610380604461039c6000855af16108a8573d600060003e3d6000fd5b5060206103606003600055f35b60006000fd5b600080fd009d00c1001a
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
Multichain Portfolio | 35 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.