Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 779 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 22280406 | 17 hrs ago | IN | 0 ETH | 0.00025304 | ||||
Mint | 22280404 | 17 hrs ago | IN | 0 ETH | 0.00025435 | ||||
Mint | 22280302 | 17 hrs ago | IN | 0 ETH | 0.00030986 | ||||
Mint | 22275430 | 33 hrs ago | IN | 0 ETH | 0.00047427 | ||||
Mint | 22274147 | 38 hrs ago | IN | 0 ETH | 0.00018329 | ||||
Mint | 22271609 | 46 hrs ago | IN | 0 ETH | 0.00010293 | ||||
Mint | 22266777 | 2 days ago | IN | 0 ETH | 0.00043938 | ||||
Mint | 22266775 | 2 days ago | IN | 0 ETH | 0.00048334 | ||||
Mint | 22260443 | 3 days ago | IN | 0 ETH | 0.0001919 | ||||
Mint | 22258886 | 3 days ago | IN | 0 ETH | 0.00025451 | ||||
Mint | 22257880 | 3 days ago | IN | 0 ETH | 0.00024799 | ||||
Mint | 22253782 | 4 days ago | IN | 0 ETH | 0.00069812 | ||||
Mint | 22253778 | 4 days ago | IN | 0 ETH | 0.0005698 | ||||
Mint | 22251801 | 4 days ago | IN | 0 ETH | 0.00028115 | ||||
Mint | 22251669 | 4 days ago | IN | 0 ETH | 0.00017167 | ||||
Mint | 22246270 | 5 days ago | IN | 0 ETH | 0.00075446 | ||||
Mint | 22246088 | 5 days ago | IN | 0 ETH | 0.00070101 | ||||
Mint | 22244381 | 5 days ago | IN | 0 ETH | 0.00020136 | ||||
Mint | 22242997 | 5 days ago | IN | 0 ETH | 0.0003675 | ||||
Mint | 22242557 | 5 days ago | IN | 0 ETH | 0.00026517 | ||||
Mint | 22242220 | 6 days ago | IN | 0 ETH | 0.00026757 | ||||
Mint | 22242169 | 6 days ago | IN | 0 ETH | 0.00022217 | ||||
Mint | 22237453 | 6 days ago | IN | 0 ETH | 0.00020916 | ||||
Mint | 22235987 | 6 days ago | IN | 0 ETH | 0.00020865 | ||||
Mint | 22235353 | 6 days ago | IN | 0 ETH | 0.00037457 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Minimal Proxy Contract for 0xeba9a8fdd2539d33e070c66afc1127478ba78054
Contract Name:
Token Minter
Compiler Version
vyper:0.3.1
Contract Source Code (Vyper language format)
# @version 0.3.1 """ @title Token Minter @author Curve Finance @license MIT """ # Original idea and credit: # Curve Finance's Token Minter # https://resources.curve.fi/base-features/understanding-gauges # https://github.com/curvefi/curve-dao-contracts/blob/master/contracts/Minter.vy # This contract is an almost-identical fork of Curve's contract interface LiquidityGauge: # Presumably, other gauges will provide the same interfaces def integrate_fraction(addr: address) -> uint256: view def user_checkpoint(addr: address) -> bool: nonpayable interface MERC20: def mint(_to: address, _value: uint256) -> bool: nonpayable interface GaugeController: def gauge_types(addr: address) -> int128: view event Minted: recipient: indexed(address) gauge: address minted: uint256 token: public(address) controller: public(address) # user -> gauge -> value minted: public(HashMap[address, HashMap[address, uint256]]) # minter -> user -> can mint? allowed_to_mint_for: public(HashMap[address, HashMap[address, bool]]) @external def initialize(_token: address, _controller: address): assert self.token == ZERO_ADDRESS, "already initialized" self.token = _token self.controller = _controller @internal def _mint_for(gauge_addr: address, _for: address): assert GaugeController(self.controller).gauge_types(gauge_addr) >= 0 # dev: gauge is not added LiquidityGauge(gauge_addr).user_checkpoint(_for) total_mint: uint256 = LiquidityGauge(gauge_addr).integrate_fraction(_for) to_mint: uint256 = total_mint - self.minted[_for][gauge_addr] if to_mint != 0: MERC20(self.token).mint(_for, to_mint) self.minted[_for][gauge_addr] = total_mint log Minted(_for, gauge_addr, total_mint) @external @nonreentrant('lock') def mint(gauge_addr: address): """ @notice Mint everything which belongs to `msg.sender` and send to them @param gauge_addr `LiquidityGauge` address to get mintable amount from """ self._mint_for(gauge_addr, msg.sender) @external @nonreentrant('lock') def mint_many(gauge_addrs: address[8]): """ @notice Mint everything which belongs to `msg.sender` across multiple gauges @param gauge_addrs List of `LiquidityGauge` addresses """ for i in range(8): if gauge_addrs[i] == ZERO_ADDRESS: break self._mint_for(gauge_addrs[i], msg.sender) @external @nonreentrant('lock') def mint_for(gauge_addr: address, _for: address): """ @notice Mint tokens for `_for` @dev Only possible when `msg.sender` has been approved via `toggle_approve_mint` @param gauge_addr `LiquidityGauge` address to get mintable amount from @param _for Address to mint to """ if self.allowed_to_mint_for[msg.sender][_for]: self._mint_for(gauge_addr, _for) @external def toggle_approve_mint(minting_user: address): """ @notice allow `minting_user` to mint for `msg.sender` @param minting_user Address to toggle permission for """ self.allowed_to_mint_for[minting_user][msg.sender] = not self.allowed_to_mint_for[minting_user][msg.sender]
Contract ABI
API[{"name":"Minted","inputs":[{"name":"recipient","type":"address","indexed":true},{"name":"gauge","type":"address","indexed":false},{"name":"minted","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"function","name":"initialize","inputs":[{"name":"_token","type":"address"},{"name":"_controller","type":"address"}],"outputs":[],"gas":76092},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"gauge_addr","type":"address"}],"outputs":[],"gas":112502},{"stateMutability":"nonpayable","type":"function","name":"mint_many","inputs":[{"name":"gauge_addrs","type":"address[8]"}],"outputs":[],"gas":499362},{"stateMutability":"nonpayable","type":"function","name":"mint_for","inputs":[{"name":"gauge_addr","type":"address"},{"name":"_for","type":"address"}],"outputs":[],"gas":115095},{"stateMutability":"nonpayable","type":"function","name":"toggle_approve_mint","inputs":[{"name":"minting_user","type":"address"}],"outputs":[],"gas":38081},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2610},{"stateMutability":"view","type":"function","name":"controller","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2640},{"stateMutability":"view","type":"function","name":"minted","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3202},{"stateMutability":"view","type":"function","name":"allowed_to_mint_for","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"bool"}],"gas":3232}]
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 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.