Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 501 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 21856094 | 4 hrs ago | IN | 0 ETH | 0.00023487 | ||||
Mint | 21851812 | 18 hrs ago | IN | 0 ETH | 0.00055931 | ||||
Mint | 21850827 | 21 hrs ago | IN | 0 ETH | 0.00021942 | ||||
Mint | 21849775 | 25 hrs ago | IN | 0 ETH | 0.0002047 | ||||
Mint | 21845667 | 39 hrs ago | IN | 0 ETH | 0.00039925 | ||||
Mint | 21843628 | 46 hrs ago | IN | 0 ETH | 0.00047298 | ||||
Mint | 21843411 | 46 hrs ago | IN | 0 ETH | 0.0003572 | ||||
Mint | 21842313 | 2 days ago | IN | 0 ETH | 0.00036535 | ||||
Mint | 21842110 | 2 days ago | IN | 0 ETH | 0.00026671 | ||||
Mint | 21837878 | 2 days ago | IN | 0 ETH | 0.00041108 | ||||
Mint | 21836204 | 2 days ago | IN | 0 ETH | 0.00027461 | ||||
Mint | 21836082 | 2 days ago | IN | 0 ETH | 0.00038801 | ||||
Mint | 21835923 | 3 days ago | IN | 0 ETH | 0.00052628 | ||||
Mint | 21835497 | 3 days ago | IN | 0 ETH | 0.00030359 | ||||
Mint | 21835274 | 3 days ago | IN | 0 ETH | 0.00041515 | ||||
Mint | 21835089 | 3 days ago | IN | 0 ETH | 0.0003952 | ||||
Mint | 21834759 | 3 days ago | IN | 0 ETH | 0.00037896 | ||||
Mint | 21834629 | 3 days ago | IN | 0 ETH | 0.00037487 | ||||
Mint | 21834628 | 3 days ago | IN | 0 ETH | 0.00054862 | ||||
Mint | 21834346 | 3 days ago | IN | 0 ETH | 0.00023928 | ||||
Mint | 21834220 | 3 days ago | IN | 0 ETH | 0.00040438 | ||||
Mint | 21833789 | 3 days ago | IN | 0 ETH | 0.00037226 | ||||
Mint | 21828796 | 4 days ago | IN | 0 ETH | 0.00041561 | ||||
Mint | 21822265 | 4 days ago | IN | 0 ETH | 0.0002228 | ||||
Mint | 21821872 | 4 days ago | IN | 0 ETH | 0.00027827 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
21856422 | 3 hrs ago | 0 ETH | |||||
21856422 | 3 hrs ago | 0 ETH | |||||
21856422 | 3 hrs ago | 0 ETH | |||||
21856422 | 3 hrs ago | 0 ETH | |||||
21856422 | 3 hrs ago | 0 ETH | |||||
21856422 | 3 hrs ago | 0 ETH | |||||
21856352 | 3 hrs ago | 0 ETH | |||||
21856352 | 3 hrs ago | 0 ETH | |||||
21856352 | 3 hrs ago | 0 ETH | |||||
21856352 | 3 hrs ago | 0 ETH | |||||
21856352 | 3 hrs ago | 0 ETH | |||||
21856352 | 3 hrs ago | 0 ETH | |||||
21856138 | 4 hrs ago | 0 ETH | |||||
21856138 | 4 hrs ago | 0 ETH | |||||
21856138 | 4 hrs ago | 0 ETH | |||||
21856138 | 4 hrs ago | 0 ETH | |||||
21856138 | 4 hrs ago | 0 ETH | |||||
21856138 | 4 hrs ago | 0 ETH | |||||
21856094 | 4 hrs ago | 0 ETH | |||||
21856094 | 4 hrs ago | 0 ETH | |||||
21856094 | 4 hrs ago | 0 ETH | |||||
21856094 | 4 hrs ago | 0 ETH | |||||
21856094 | 4 hrs ago | 0 ETH | |||||
21856090 | 4 hrs ago | 0 ETH | |||||
21856090 | 4 hrs ago | 0 ETH |
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]
[{"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 | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.