ERC-20
Overview
Max Total Supply
0 auraB-50WETH-50YFI
Holders
0
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0 auraB-50WETH-50YFIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xdFe7Be27...34D93688b The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
DepositToken
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";import "@openzeppelin/contracts-0.6/token/ERC20/ERC20.sol";/*** @title DepositToken* @author ConvexFinance* @notice Simply creates a token that can be minted and burned from the operator*/contract DepositToken is ERC20 {using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public operator;/*** @param _operator Booster* @param _lptoken Underlying LP token for deposits
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title ArbitratorVault* @author ConvexFinance* @notice Hold extra reward tokens on behalf of pools that have the same token as a reward (e.g. stkAAVE fro multiple aave pools)* @dev Sits on top of the STASH to basically handle the re-distribution of rewards to multiple stashes.* Because anyone can call gauge.claim_rewards(address) for the convex staking contract, rewards* could be forced to the wrong pool. Hold tokens here and distribute fairly(or at least more fairly),* to both pools at a later timing.*/contract ArbitratorVault{using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public operator;address public immutable depositor;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;interface ICurveGauge {function deposit(uint256) external;function balanceOf(address) external view returns (uint256);function withdraw(uint256) external;function claim_rewards() external;function reward_tokens(uint256) external view returns(address);//v2function rewarded_token() external view returns(address);//v1function lp_token() external view returns(address);}interface ICurveVoteEscrow {function create_lock(uint256, uint256) external;function increase_amount(uint256) external;function increase_unlock_time(uint256) external;function withdraw() external;function smart_wallet_checker() external view returns (address);function commit_smart_wallet_checker(address) external;function apply_smart_wallet_checker() external;}interface IWalletChecker {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;/*** @dev Wrappers over Solidity's arithmetic operations with added overflow* checks.** Arithmetic operations in Solidity wrap on overflow. This can easily result* in bugs, because programmers usually assume that an overflow raises an* error, which is the standard behavior in high level programming languages.* `SafeMath` restores this intuition by reverting the transaction when an* operation overflows.** Using this library instead of the unchecked operations eliminates an entire* class of bugs, so it's recommended to use it always.*/library SafeMath {/*** @dev Returns the addition of two unsigned integers, with an overflow flag.** _Available since v3.4._*/function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {uint256 c = a + b;if (c < a) return (false, 0);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Returns the amount of tokens in existence.*/function totalSupply() external view returns (uint256);/*** @dev Returns the amount of tokens owned by `account`.*/function balanceOf(address account) external view returns (uint256);/*** @dev Moves `amount` tokens from the caller's account to `recipient`.** Returns a boolean value indicating whether the operation succeeded.** Emits a {Transfer} event.*/function transfer(address recipient, uint256 amount) external returns (bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.2 <0.8.0;/*** @dev Collection of functions related to the address type*/library Address {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed* ====*/function isContract(address account) internal view returns (bool) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;import "./IERC20.sol";import "../../math/SafeMath.sol";import "../../utils/Address.sol";/*** @title SafeERC20* @dev Wrappers around ERC20 operations that throw on failure (when the token* contract returns false). Tokens that return no value (and instead revert or* throw on failure) are also supported, non-reverting calls are assumed to be* successful.* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.*/library SafeERC20 {using SafeMath for uint256;using Address for address;function safeTransfer(IERC20 token, address to, uint256 value) internal {_callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));}function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title VoterProxy* @author ConvexFinance* @notice VoterProxy whitelisted in the curve SmartWalletWhitelist that* participates in Curve governance. Also handles all deposits since this is* the address that has the voting power.*/contract VoterProxy {using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public mintr;address public immutable crv;address public immutable crvBpt;address public immutable escrow;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "./DepositToken.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title TokenFactory* @author ConvexFinance* @notice Token factory used to create Deposit Tokens. These are the tokenized* pool deposit tokens e.g cvx3crv*/contract TokenFactory {using Address for address;address public immutable operator;string public namePostfix;string public symbolPrefix;event DepositTokenCreated(address token, address lpToken);/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;import "../../utils/Context.sol";import "./IERC20.sol";import "../../math/SafeMath.sol";/*** @dev Implementation of the {IERC20} interface.** This implementation is agnostic to the way tokens are created. This means* that a supply mechanism has to be added in a derived contract using {_mint}.* For a generic mechanism see {ERC20PresetMinterPauser}.** TIP: For a detailed writeup see our guide* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How* to implement supply mechanisms].** We have followed general OpenZeppelin guidelines: functions revert instead* of returning `false` on failure. This behavior is nonetheless conventional* and does not conflict with the expectations of ERC20 applications.** Additionally, an {Approval} event is emitted on calls to {transferFrom}.* This allows applications to reconstruct the allowance for all accounts just* by listening to said events. Other implementations of the EIP may not emit
123456789101112131415161718192021222324// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;/** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with GSN meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address payable) {return msg.sender;}function _msgData() internal view virtual returns (bytes memory) {this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691return msg.data;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "./interfaces/IProxyFactory.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title StashFactoryV2* @author ConvexFinance* @notice Factory to deploy reward stash contracts that handle extra rewards*/contract StashFactoryV2 {using Address for address;bytes4 private constant rewarded_token = 0x16fa50b1; //rewarded_token()bytes4 private constant reward_tokens = 0x54c49fe9; //reward_tokens(uint256)bytes4 private constant rewards_receiver = 0x01ddabf1; //rewards_receiver(address)address public immutable operator;address public immutable rewardFactory;address public immutable proxyFactory;
123456// SPDX-License-Identifier: MITpragma solidity 0.6.12;interface IProxyFactory {function clone(address _target) external returns(address);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";/*** @title RewardHook* @author ConvexFinance* @notice Example Reward hook for stash* @dev ExtraRewardStash contracts call this hook if it is set. This hook* can be used to pull rewards during a claim. For example pulling* rewards from master chef.*/contract RewardHook{using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public immutable stash;address public immutable rewardToken;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;/***Submitted for verification at Etherscan.io on 2020-07-17*//*____ __ __ __ _/ __/__ __ ___ / /_ / / ___ / /_ (_)__ ___\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ //___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\/___/* Synthetix: VirtualBalanceRewardPool.sol** Docs: https://docs.synthetix.io/*** MIT License* ===========** Copyright (c) 2020 Synthetix** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software and associated documentation files (the "Software"), to deal* in the Software without restriction, including without limitation the rights
1234567891011121314// SPDX-License-Identifier: MITpragma solidity 0.6.12;/*** @dev Standard math utilities missing in the Solidity language.*/library MathUtil {/*** @dev Returns the smallest of two numbers.*/function min(uint256 a, uint256 b) internal pure returns (uint256) {return a < b ? a : b;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;/***Submitted for verification at Etherscan.io on 2020-07-17*//*____ __ __ __ _/ __/__ __ ___ / /_ / / ___ / /_ (_)__ ___\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ //___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\/___/* Synthetix: BaseRewardPool.sol** Docs: https://docs.synthetix.io/*** MIT License* ===========** Copyright (c) 2020 Synthetix** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software and associated documentation files (the "Software"), to deal* in the Software without restriction, including without limitation the rights
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import { BaseRewardPool, IDeposit } from "./BaseRewardPool.sol";import { IERC4626, IERC20Metadata } from "./interfaces/IERC4626.sol";import { IERC20 } from "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import { ReentrancyGuard } from "@openzeppelin/contracts-0.6/utils/ReentrancyGuard.sol";import { SafeERC20 } from "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title BaseRewardPool4626* @notice Simply wraps the BaseRewardPool with the new IERC4626 Vault standard functions.* @dev See https://github.com/fei-protocol/ERC4626/blob/main/src/interfaces/IERC4626.sol#L58* This is not so much a vault as a Reward Pool, therefore asset:share ratio is always 1:1.* To create most utility for this RewardPool, the "asset" has been made to be the crvLP token,* as opposed to the cvxLP token. Therefore, users can easily deposit crvLP, and it will first* go to the Booster and mint the cvxLP before performing the normal staking function.*/contract BaseRewardPool4626 is BaseRewardPool, ReentrancyGuard, IERC4626 {using SafeERC20 for IERC20;/*** @notice The address of the underlying ERC20 token used for* the Vault for accounting, depositing, and withdrawing.*/address public override asset;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import { IERC20Metadata } from "./IERC20Metadata.sol";/// @title ERC4626 interface/// See: https://eips.ethereum.org/EIPS/eip-4626abstract contract IERC4626 is IERC20Metadata {/*////////////////////////////////////////////////////////Events////////////////////////////////////////////////////////*//// @notice `caller` has exchanged `assets` for `shares`, and transferred those `shares` to `owner`event Deposit(address indexed caller,address indexed owner,uint256 assets,uint256 shares);/// @notice `caller` has exchanged `shares`, owned by `owner`, for/// `assets`, and transferred those `assets` to `receiver`.event Withdraw(address indexed caller,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;/*** @dev Contract module that helps prevent reentrant calls to a function.** Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier* available, which can be applied to functions to make sure there are no nested* (reentrant) calls to them.** Note that because there is a single `nonReentrant` guard, functions marked as* `nonReentrant` may not call one another. This can be worked around by making* those functions `private`, and then adding `external` `nonReentrant` entry* points to them.** TIP: If you would like to learn more about reentrancy and alternative ways* to protect against it, check out our blog post* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].*/abstract contract ReentrancyGuard {// Booleans are more expensive than uint256 or any type that takes up a full// word because each write operation emits an extra SLOAD to first read the// slot's contents, replace the bits taken up by the boolean, and then write// back. This is the compiler's defense against contract upgrades and// pointer aliasing, and it cannot be disabled.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import { IERC20 } from "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";/*** @dev Interface for the optional metadata functions from the ERC20 standard.** _Available since v4.1._*/interface IERC20Metadata is IERC20 {/*** @dev Returns the name of the token.*/function name() external view returns (string memory);/*** @dev Returns the symbol of the token.*/function symbol() external view returns (string memory);/*** @dev Returns the decimals places of the token.*/function decimals() external view returns (uint8);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "./BaseRewardPool4626.sol";import "./VirtualBalanceRewardPool.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title RewardFactory* @author ConvexFinance* @notice Used to deploy reward pools when a new pool is added to the Booster* contract. This contract deploys two types of reward pools:* - BaseRewardPool handles CRV rewards for guages* - VirtualBalanceRewardPool for extra rewards*/contract RewardFactory {using Address for address;address public immutable operator;address public immutable crv;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "./interfaces/IGaugeController.sol";/*** @title PoolManagerV3* @author ConvexFinance* @notice Pool Manager v3* PoolManagerV3 calls addPool on PoolManagerShutdownProxy which calls* addPool on PoolManagerProxy which calls addPool on Booster.* PoolManager-ception* @dev Add pools to the Booster contract*/contract PoolManagerV3{address public immutable pools;address public immutable gaugeController;address public operator;bool public protectAddPool;/*** @param _pools Currently PoolManagerSecondaryProxy* @param _gaugeController Curve gauge controller e.g: (0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB)
12345678910// SPDX-License-Identifier: MITpragma solidity 0.6.12;interface IGaugeController {function get_gauge_weight(address _gauge) external view returns(uint256);function vote_user_slopes(address,address) external view returns(uint256,uint256,uint256);//slope,power,endfunction vote_for_gauge_weights(address,uint256) external;function add_gauge(address,int128,uint256) external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "./interfaces/IGaugeController.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";/*** @title PoolManagerSecondaryProxy* @author ConvexFinance* @notice Basically a PoolManager that has a better shutdown and calls addPool on PoolManagerProxy.* Immutable pool manager proxy to enforce that when a pool is shutdown, the proper number* of lp tokens are returned to the booster contract for withdrawal.*/contract PoolManagerSecondaryProxy{using SafeMath for uint256;address public immutable gaugeController;address public immutable pools;address public immutable booster;address public owner;address public operator;bool public isShutdown;mapping(address => bool) public usedMap;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";/*** @title PoolManagerProxy* @author ConvexFinance* @notice Immutable pool manager proxy to enforce that there are no multiple pools of the same gauge* as well as new lp tokens are not gauge tokens* @dev Called by PoolManagerShutdownProxy*/contract PoolManagerProxy{address public immutable pools;address public owner;address public operator;/*** @param _pools Contract can call addPool currently Booster* @param _owner Contract owner currently multisig*/constructor(address _pools,address _owner) public {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "./interfaces/IRewardHook.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title ExtraRewardStashV3* @author ConvexFinance* @notice ExtraRewardStash for pools added to the Booster to handle extra rewards* that aren't CRV that can be claimed from a gauge.* - v3.0: Support for curve gauge reward redirect* The Booster contract has a function called setGaugeRedirect. This function calls set_rewards_receiver* On the Curve Guage. This tells the Gauge where to send rewards. The Booster crafts the calldata for this* transaction and then calls execute on the VoterProxy which executes this transaction on the Curve Gauge* - v3.1: Support for arbitrary token rewards outside of gauge rewards add* reward hook to pull rewards during claims* - v3.2: Move constuctor to init function for proxy creation*/contract ExtraRewardStashV3 {using SafeERC20 for IERC20;
1234567// SPDX-License-Identifier: MITpragma solidity 0.6.12;interface IRewardHook {function onRewardClaim() external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.6.0 <0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.*/constructor () internal {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import { ReentrancyGuard } from "@openzeppelin/contracts-0.6/utils/ReentrancyGuard.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";import "@openzeppelin/contracts-0.6/utils/Context.sol";import "@openzeppelin/contracts-0.6/access/Ownable.sol";import "./interfaces/IRewarder.sol";/*** @title ConvexMasterChef* @author ConvexFinance* @notice Masterchef can distribute rewards to n pools over x time* @dev There are some caveats with this usage - once it's turned on it can't be turned off,* and thus it can over complicate the distribution of these rewards.* To kick things off, just transfer CVX here and add some pools - rewards will be distributed* pro-rata based on the allocation points in each pool vs the total alloc.*/contract ConvexMasterChef is Ownable, ReentrancyGuard {using SafeMath for uint256;using SafeERC20 for IERC20;// Info of each user.
1234567891011// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";interface IRewarder {using SafeERC20 for IERC20;function onReward(uint256 pid, address user, address recipient, uint256 sushiAmount, uint256 newLpAmount) external;function pendingTokens(uint256 pid, address user, uint256 sushiAmount) external view returns (IERC20[] memory, uint256[] memory);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";import "@openzeppelin/contracts-0.6/token/ERC20/ERC20.sol";/*** @title cvxCrvToken* @author ConvexFinance* @notice Dumb ERC20 token that allows the operator (crvDepositor) to mint and burn tokens*/contract cvxCrvToken is ERC20 {using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public operator;constructor(string memory _nameArg, string memory _symbolArg)publicERC20(
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title CrvDepositor* @author ConvexFinance* @notice This is the entry point for CRV > cvxCRV wrapping. It accepts CRV, sends to 'staker'* for depositing into Curves VotingEscrow, and then mints cvxCRV at 1:1 via the 'minter' (cCrv) minus* the lockIncentive (initially 1%) which is used to basically compensate users who call the `lock` function on Curves* system (larger depositors would likely want to lock).*/contract CrvDepositor{using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public immutable crvBpt;address public immutable escrow;uint256 private constant MAXTIME = 1 * 364 * 86400;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./Interfaces.sol";import "@openzeppelin/contracts-0.6/math/SafeMath.sol";import "@openzeppelin/contracts-0.6/token/ERC20/IERC20.sol";import "@openzeppelin/contracts-0.6/utils/Address.sol";import "@openzeppelin/contracts-0.6/token/ERC20/SafeERC20.sol";/*** @title Booster* @author ConvexFinance* @notice Main deposit contract; keeps track of pool info & user deposits; distributes rewards.* @dev They say all paths lead to Rome, and the cvxBooster is no different. This is where it all goes down.* It is responsible for tracking all the pools, it collects rewards from all pools and redirects it.*/contract Booster{using SafeERC20 for IERC20;using Address for address;using SafeMath for uint256;address public immutable crv;address public immutable voteOwnership;address public immutable voteParameter;uint256 public lockIncentive = 825; //incentive to crv stakers
12345678910111213141516171819{"optimizer": {"enabled": true,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_lptoken","type":"address"},{"internalType":"string","name":"_namePostfix","type":"string"},{"internalType":"string","name":"_symbolPrefix","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200149538038062001495833981810160405260808110156200003757600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006357600080fd5b9083019060208201858111156200007957600080fd5b82516401000000008111828201881017156200009457600080fd5b82525081516020918201929091019080838360005b83811015620000c3578181015183820152602001620000a9565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b9083019060208201858111156200012b57600080fd5b82516401000000008111828201881017156200014657600080fd5b82525081516020918201929091019080838360005b83811015620001755781810151838201526020016200015b565b50505050905090810190601f168015620001a35780820380516001836020036101000a031916815260200191505b50604052505050826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015620001e457600080fd5b505afa158015620001f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200022357600080fd5b81019080805160405193929190846401000000008211156200024457600080fd5b9083019060208201858111156200025a57600080fd5b82516401000000008111828201881017156200027557600080fd5b82525081516020918201929091019080838360005b83811015620002a45781810151838201526020016200028a565b50505050905090810190601f168015620002d25780820380516001836020036101000a031916815260200191505b50604052505050826040516020018083805190602001908083835b602083106200030e5780518252601f199092019160209182019101620002ed565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310620003585780518252601f19909201916020918201910162000337565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405281846001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620003c857600080fd5b505afa158015620003dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200040757600080fd5b81019080805160405193929190846401000000008211156200042857600080fd5b9083019060208201858111156200043e57600080fd5b82516401000000008111828201881017156200045957600080fd5b82525081516020918201929091019080838360005b83811015620004885781810151838201526020016200046e565b50505050905090810190601f168015620004b65780820380516001836020036101000a031916815260200191505b506040525050506040516020018083805190602001908083835b60208310620004f15780518252601f199092019160209182019101620004d0565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106200053b5780518252601f1990920191602091820191016200051a565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052816003908051906020019062000588929190620005dc565b5080516200059e906004906020840190620005dc565b5050600580546001600160a01b0390961661010002610100600160a81b031960ff199097166012179690961695909517909455506200067892505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200061f57805160ff19168380011785556200064f565b828001600101855582156200064f579182015b828111156200064f57825182559160200191906001019062000632565b506200065d92915062000661565b5090565b5b808211156200065d576000815560010162000662565b610e0d80620006886000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063570ca7351161008c5780639dc29fac116100665780639dc29fac146102c6578063a457c2d7146102f2578063a9059cbb1461031e578063dd62ed3e1461034a576100ea565b8063570ca7351461027457806370a082311461029857806395d89b41146102be576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a57806340c10f1914610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f7610378565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b03813516906020013561040e565b604080519115158252519081900360200190f35b6101b461042b565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610431565b6102046104b8565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b0381351690602001356104c1565b6102726004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561050f565b005b61027c61056f565b604080516001600160a01b039092168252519081900360200190f35b6101b4600480360360208110156102ae57600080fd5b50356001600160a01b0316610583565b6100f761059e565b610272600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356105ff565b6101986004803603604081101561030857600080fd5b506001600160a01b03813516906020013561065b565b6101986004803603604081101561033457600080fd5b506001600160a01b0381351690602001356106c3565b6101b46004803603604081101561036057600080fd5b506001600160a01b03813581169160200135166106d7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050905090565b600061042261041b610702565b8484610706565b50600192915050565b60025490565b600061043e8484846107f2565b6104ae8461044a610702565b6104a985604051806060016040528060288152602001610d21602891396001600160a01b038a16600090815260016020526040812090610488610702565b6001600160a01b03168152602081019190915260400160002054919061094d565b610706565b5060019392505050565b60055460ff1690565b60006104226104ce610702565b846104a985600160006104df610702565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906109e4565b60055461010090046001600160a01b03163314610561576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b61056b8282610a45565b5050565b60055461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104045780601f106103d957610100808354040283529160200191610404565b60055461010090046001600160a01b03163314610651576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b61056b8282610b35565b6000610422610668610702565b846104a985604051806060016040528060258152602001610db36025913960016000610692610702565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061094d565b60006104226106d0610702565b84846107f2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661074b5760405162461bcd60e51b8152600401808060200182810382526024815260200180610d8f6024913960400191505060405180910390fd5b6001600160a01b0382166107905760405162461bcd60e51b8152600401808060200182810382526022815260200180610cd96022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108375760405162461bcd60e51b8152600401808060200182810382526025815260200180610d6a6025913960400191505060405180910390fd5b6001600160a01b03821661087c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c946023913960400191505060405180910390fd5b610887838383610c31565b6108c481604051806060016040528060268152602001610cfb602691396001600160a01b038616600090815260208190526040902054919061094d565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108f390826109e4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109dc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109a1578181015183820152602001610989565b50505050905090810190601f1680156109ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a3e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610aa0576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610aac60008383610c31565b600254610ab990826109e4565b6002556001600160a01b038216600090815260208190526040902054610adf90826109e4565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610b7a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d496021913960400191505060405180910390fd5b610b8682600083610c31565b610bc381604051806060016040528060228152602001610cb7602291396001600160a01b038516600090815260208190526040902054919061094d565b6001600160a01b038316600090815260208190526040902055600254610be99082610c36565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b600082821115610c8d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122048b75eb7a2bd11bf2d5d396064457733b1d839331486d583881ca1034e18054c64736f6c634300060c00330000000000000000000000007818a1da7bd1e64c199029e86ba244a9798eee1000000000000000000000000006df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d2041757261204465706f7369740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046175726100000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063570ca7351161008c5780639dc29fac116100665780639dc29fac146102c6578063a457c2d7146102f2578063a9059cbb1461031e578063dd62ed3e1461034a576100ea565b8063570ca7351461027457806370a082311461029857806395d89b41146102be576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a57806340c10f1914610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f7610378565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b03813516906020013561040e565b604080519115158252519081900360200190f35b6101b461042b565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610431565b6102046104b8565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b0381351690602001356104c1565b6102726004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561050f565b005b61027c61056f565b604080516001600160a01b039092168252519081900360200190f35b6101b4600480360360208110156102ae57600080fd5b50356001600160a01b0316610583565b6100f761059e565b610272600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356105ff565b6101986004803603604081101561030857600080fd5b506001600160a01b03813516906020013561065b565b6101986004803603604081101561033457600080fd5b506001600160a01b0381351690602001356106c3565b6101b46004803603604081101561036057600080fd5b506001600160a01b03813581169160200135166106d7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050905090565b600061042261041b610702565b8484610706565b50600192915050565b60025490565b600061043e8484846107f2565b6104ae8461044a610702565b6104a985604051806060016040528060288152602001610d21602891396001600160a01b038a16600090815260016020526040812090610488610702565b6001600160a01b03168152602081019190915260400160002054919061094d565b610706565b5060019392505050565b60055460ff1690565b60006104226104ce610702565b846104a985600160006104df610702565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906109e4565b60055461010090046001600160a01b03163314610561576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b61056b8282610a45565b5050565b60055461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104045780601f106103d957610100808354040283529160200191610404565b60055461010090046001600160a01b03163314610651576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b61056b8282610b35565b6000610422610668610702565b846104a985604051806060016040528060258152602001610db36025913960016000610692610702565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061094d565b60006104226106d0610702565b84846107f2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661074b5760405162461bcd60e51b8152600401808060200182810382526024815260200180610d8f6024913960400191505060405180910390fd5b6001600160a01b0382166107905760405162461bcd60e51b8152600401808060200182810382526022815260200180610cd96022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108375760405162461bcd60e51b8152600401808060200182810382526025815260200180610d6a6025913960400191505060405180910390fd5b6001600160a01b03821661087c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c946023913960400191505060405180910390fd5b610887838383610c31565b6108c481604051806060016040528060268152602001610cfb602691396001600160a01b038616600090815260208190526040902054919061094d565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108f390826109e4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109dc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109a1578181015183820152602001610989565b50505050905090810190601f1680156109ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a3e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610aa0576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610aac60008383610c31565b600254610ab990826109e4565b6002556001600160a01b038216600090815260208190526040902054610adf90826109e4565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610b7a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d496021913960400191505060405180910390fd5b610b8682600083610c31565b610bc381604051806060016040528060228152602001610cb7602291396001600160a01b038516600090815260208190526040902054919061094d565b6001600160a01b038316600090815260208190526040902055600254610be99082610c36565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b600082821115610c8d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122048b75eb7a2bd11bf2d5d396064457733b1d839331486d583881ca1034e18054c64736f6c634300060c0033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.