Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
15,000,000 ApeUSD
Holders
97
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3.605893489182195555 ApeUSDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ApeUSD
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.6; interface IApeFinance { function mint(address minter, uint256 mintAmount) external returns (uint256); function redeem( address payable redeemer, uint256 redeemTokens, uint256 redeemAmount ) external returns (uint256); function exchangeRateStored() external view returns (uint); function balanceOf(address) external view returns (uint); } contract ApeUSD { string public constant name = "ApeUSD"; string public constant symbol = "ApeUSD"; uint8 public constant decimals = 18; IApeFinance public apefi; address public gov; address public nextgov; uint public commitgov; uint public constant delay = 1 days; uint public liquidity; constructor() { gov = msg.sender; } modifier g() { require(msg.sender == gov); _; } function setApefi(address _apefi) external g { require(address(apefi) == address(0), 'apefi address already set'); apefi = IApeFinance(_apefi); } function setGov(address _gov) external g { nextgov = _gov; commitgov = block.timestamp + delay; } function acceptGov() external { require(msg.sender == nextgov && commitgov < block.timestamp); gov = nextgov; } function balanceApeFi() public view returns (uint) { return apefi.balanceOf(address(this)); } function balanceUnderlying() public view returns (uint) { uint256 _b = balanceApeFi(); if (_b > 0) { return _b * apefi.exchangeRateStored() / 1e18; } return 0; } function _redeem(uint amount) internal { require(apefi.redeem(payable(address(this)), 0, amount) == 0, "apefi: withdraw failed"); } function profit() external { uint _profit = balanceUnderlying() - liquidity; _redeem(_profit); _transferTokens(address(this), gov, _profit); } function withdraw(uint amount) external g { liquidity -= amount; _redeem(amount); _burn(amount); } function deposit() external { uint _amount = balances[address(this)]; allowances[address(this)][address(apefi)] = _amount; liquidity += _amount; require(apefi.mint(address(this), _amount) == 0, "apefi: supply failed"); } /// @notice Total number of tokens in circulation uint public totalSupply = 0; mapping(address => mapping (address => uint)) internal allowances; mapping(address => uint) internal balances; event Transfer(address indexed from, address indexed to, uint amount); event Approval(address indexed owner, address indexed spender, uint amount); function mint(uint amount) external g { // mint the amount totalSupply += amount; // transfer the amount to the recipient balances[address(this)] += amount; emit Transfer(address(0), address(this), amount); } function burn(uint amount) external g { _burn(amount); } function _burn(uint amount) internal { // burn the amount totalSupply -= amount; // transfer the amount from the recipient balances[address(this)] -= amount; emit Transfer(address(this), address(0), amount); } function allowance(address account, address spender) external view returns (uint) { return allowances[account][spender]; } function approve(address spender, uint amount) external returns (bool) { allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function balanceOf(address account) external view returns (uint) { return balances[account]; } function transfer(address dst, uint amount) external returns (bool) { _transferTokens(msg.sender, dst, amount); return true; } function transferFrom(address src, address dst, uint amount) external returns (bool) { address spender = msg.sender; uint spenderAllowance = allowances[src][spender]; if (spender != src && spenderAllowance != type(uint).max) { uint newAllowance = spenderAllowance - amount; allowances[src][spender] = newAllowance; emit Approval(src, spender, newAllowance); } _transferTokens(src, dst, amount); return true; } function _transferTokens(address src, address dst, uint amount) internal { balances[src] -= amount; balances[dst] += amount; emit Transfer(src, dst, amount); } }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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":"amount","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"acceptGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"apefi","outputs":[{"internalType":"contract IApeFinance","name":"","type":"address"}],"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":[],"name":"balanceApeFi","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"balanceUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"commitgov","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"nextgov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_apefi","type":"address"}],"name":"setApefi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gov","type":"address"}],"name":"setGov","outputs":[],"stateMutability":"nonpayable","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":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600060055534801561001557600080fd5b50600180546001600160a01b03191633179055610d2b806100376000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806366d16cc3116100de578063a0712d6811610097578063cfad57a211610071578063cfad57a21461031e578063d0e30db014610331578063dd62ed3e14610339578063f94e4e801461037257600080fd5b8063a0712d68146102e5578063a3c33904146102f8578063a9059cbb1461030b57600080fd5b806366d16cc31461029a5780636a42b8f8146102a257806370a08231146102ac5780637bc6729b146102d55780638da876c9146102dd57806395d89b411461017857600080fd5b80632196bcd7116101305780632196bcd71461023457806323b872dd1461023d5780632e1a7d4d14610250578063313ce5671461026557806342966c681461027f5780636586a5691461029257600080fd5b806306fdde0314610178578063095ea7b3146101b357806312d43a51146101d657806314b3c1661461020157806318160ddd146102145780631a6865021461022b575b600080fd5b61019d60405180604001604052806006815260200165105c195554d160d21b81525081565b6040516101aa9190610b11565b60405180910390f35b6101c66101c1366004610b82565b610385565b60405190151581526020016101aa565b6001546101e9906001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b6000546101e9906001600160a01b031681565b61021d60055481565b6040519081526020016101aa565b61021d60045481565b61021d60035481565b6101c661024b366004610bac565b6103f1565b61026361025e366004610be8565b6104b8565b005b61026d601281565b60405160ff90911681526020016101aa565b61026361028d366004610be8565b6104fc565b61021d610513565b610263610585565b61021d6201518081565b61021d6102ba366004610c01565b6001600160a01b031660009081526007602052604090205490565b6102636105bf565b61021d610607565b6102636102f3366004610be8565b6106b1565b610263610306366004610c01565b61073f565b6101c6610319366004610b82565b6107d6565b61026361032c366004610c01565b6107ec565b610263610831565b61021d610347366004610c23565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6002546101e9906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103e09086815260200190565b60405180910390a350600192915050565b6001600160a01b03831660008181526006602090815260408083203380855292528220549192909190821480159061042b57506000198114155b156104a157600061043c8583610c6c565b6001600160a01b038881166000818152600660209081526040808320948916808452948252918290208590559051848152939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b6104ac868686610931565b50600195945050505050565b6001546001600160a01b031633146104cf57600080fd5b80600460008282546104e19190610c6c565b909155506104f09050816109df565b6104f981610aa1565b50565b6001546001600160a01b031633146104f057600080fd5b600080546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105809190610c83565b905090565b6000600454610592610607565b61059c9190610c6c565b90506105a7816109df565b6001546104f99030906001600160a01b031683610931565b6002546001600160a01b0316331480156105da575042600354105b6105e357600080fd5b600254600180546001600160a01b0319166001600160a01b03909216919091179055565b600080610612610513565b905080156106a9576000546040805163182df0f560e01b81529051670de0b6b3a7640000926001600160a01b03169163182df0f59160048083019260209291908290030181865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610c83565b6106999083610c9c565b6106a39190610cbb565b91505090565b600091505090565b6001546001600160a01b031633146106c857600080fd5b80600560008282546106da9190610cdd565b909155505030600090815260076020526040812080548392906106fe908490610cdd565b909155505060405181815230906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350565b6001546001600160a01b0316331461075657600080fd5b6000546001600160a01b0316156107b45760405162461bcd60e51b815260206004820152601960248201527f6170656669206164647265737320616c7265616479207365740000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006107e3338484610931565b50600192915050565b6001546001600160a01b0316331461080357600080fd5b600280546001600160a01b0319166001600160a01b03831617905561082b6201518042610cdd565b60035550565b306000908152600760209081526040808320546006835281842084546001600160a01b0316855290925282208190556004805491928392610873908490610cdd565b90915550506000546040516340c10f1960e01b8152306004820152602481018390526001600160a01b03909116906340c10f19906044016020604051808303816000875af11580156108c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ed9190610c83565b156104f95760405162461bcd60e51b8152602060048201526014602482015273185c19599a4e881cdd5c1c1b1e4819985a5b195960621b60448201526064016107ab565b6001600160a01b03831660009081526007602052604081208054839290610959908490610c6c565b90915550506001600160a01b03821660009081526007602052604081208054839290610986908490610cdd565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d291815260200190565b60405180910390a3505050565b60008054604051632b83cccd60e01b81523060048201526024810192909252604482018390526001600160a01b031690632b83cccd906064016020604051808303816000875af1158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b9190610c83565b156104f95760405162461bcd60e51b8152602060048201526016602482015275185c19599a4e881dda5d1a191c985dc819985a5b195960521b60448201526064016107ab565b8060056000828254610ab39190610c6c565b90915550503060009081526007602052604081208054839290610ad7908490610c6c565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610734565b600060208083528351808285015260005b81811015610b3e57858101830151858201604001528201610b22565b81811115610b50576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b7d57600080fd5b919050565b60008060408385031215610b9557600080fd5b610b9e83610b66565b946020939093013593505050565b600080600060608486031215610bc157600080fd5b610bca84610b66565b9250610bd860208501610b66565b9150604084013590509250925092565b600060208284031215610bfa57600080fd5b5035919050565b600060208284031215610c1357600080fd5b610c1c82610b66565b9392505050565b60008060408385031215610c3657600080fd5b610c3f83610b66565b9150610c4d60208401610b66565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015610c7e57610c7e610c56565b500390565b600060208284031215610c9557600080fd5b5051919050565b6000816000190483118215151615610cb657610cb6610c56565b500290565b600082610cd857634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610cf057610cf0610c56565b50019056fea2646970667358221220b239d2809dad9a18fbecda72c9243e200e68cda49d5c575110f93f31f1d4fa8f64736f6c634300080b0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c806366d16cc3116100de578063a0712d6811610097578063cfad57a211610071578063cfad57a21461031e578063d0e30db014610331578063dd62ed3e14610339578063f94e4e801461037257600080fd5b8063a0712d68146102e5578063a3c33904146102f8578063a9059cbb1461030b57600080fd5b806366d16cc31461029a5780636a42b8f8146102a257806370a08231146102ac5780637bc6729b146102d55780638da876c9146102dd57806395d89b411461017857600080fd5b80632196bcd7116101305780632196bcd71461023457806323b872dd1461023d5780632e1a7d4d14610250578063313ce5671461026557806342966c681461027f5780636586a5691461029257600080fd5b806306fdde0314610178578063095ea7b3146101b357806312d43a51146101d657806314b3c1661461020157806318160ddd146102145780631a6865021461022b575b600080fd5b61019d60405180604001604052806006815260200165105c195554d160d21b81525081565b6040516101aa9190610b11565b60405180910390f35b6101c66101c1366004610b82565b610385565b60405190151581526020016101aa565b6001546101e9906001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b6000546101e9906001600160a01b031681565b61021d60055481565b6040519081526020016101aa565b61021d60045481565b61021d60035481565b6101c661024b366004610bac565b6103f1565b61026361025e366004610be8565b6104b8565b005b61026d601281565b60405160ff90911681526020016101aa565b61026361028d366004610be8565b6104fc565b61021d610513565b610263610585565b61021d6201518081565b61021d6102ba366004610c01565b6001600160a01b031660009081526007602052604090205490565b6102636105bf565b61021d610607565b6102636102f3366004610be8565b6106b1565b610263610306366004610c01565b61073f565b6101c6610319366004610b82565b6107d6565b61026361032c366004610c01565b6107ec565b610263610831565b61021d610347366004610c23565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6002546101e9906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103e09086815260200190565b60405180910390a350600192915050565b6001600160a01b03831660008181526006602090815260408083203380855292528220549192909190821480159061042b57506000198114155b156104a157600061043c8583610c6c565b6001600160a01b038881166000818152600660209081526040808320948916808452948252918290208590559051848152939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b6104ac868686610931565b50600195945050505050565b6001546001600160a01b031633146104cf57600080fd5b80600460008282546104e19190610c6c565b909155506104f09050816109df565b6104f981610aa1565b50565b6001546001600160a01b031633146104f057600080fd5b600080546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105809190610c83565b905090565b6000600454610592610607565b61059c9190610c6c565b90506105a7816109df565b6001546104f99030906001600160a01b031683610931565b6002546001600160a01b0316331480156105da575042600354105b6105e357600080fd5b600254600180546001600160a01b0319166001600160a01b03909216919091179055565b600080610612610513565b905080156106a9576000546040805163182df0f560e01b81529051670de0b6b3a7640000926001600160a01b03169163182df0f59160048083019260209291908290030181865afa15801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610c83565b6106999083610c9c565b6106a39190610cbb565b91505090565b600091505090565b6001546001600160a01b031633146106c857600080fd5b80600560008282546106da9190610cdd565b909155505030600090815260076020526040812080548392906106fe908490610cdd565b909155505060405181815230906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350565b6001546001600160a01b0316331461075657600080fd5b6000546001600160a01b0316156107b45760405162461bcd60e51b815260206004820152601960248201527f6170656669206164647265737320616c7265616479207365740000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006107e3338484610931565b50600192915050565b6001546001600160a01b0316331461080357600080fd5b600280546001600160a01b0319166001600160a01b03831617905561082b6201518042610cdd565b60035550565b306000908152600760209081526040808320546006835281842084546001600160a01b0316855290925282208190556004805491928392610873908490610cdd565b90915550506000546040516340c10f1960e01b8152306004820152602481018390526001600160a01b03909116906340c10f19906044016020604051808303816000875af11580156108c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ed9190610c83565b156104f95760405162461bcd60e51b8152602060048201526014602482015273185c19599a4e881cdd5c1c1b1e4819985a5b195960621b60448201526064016107ab565b6001600160a01b03831660009081526007602052604081208054839290610959908490610c6c565b90915550506001600160a01b03821660009081526007602052604081208054839290610986908490610cdd565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d291815260200190565b60405180910390a3505050565b60008054604051632b83cccd60e01b81523060048201526024810192909252604482018390526001600160a01b031690632b83cccd906064016020604051808303816000875af1158015610a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5b9190610c83565b156104f95760405162461bcd60e51b8152602060048201526016602482015275185c19599a4e881dda5d1a191c985dc819985a5b195960521b60448201526064016107ab565b8060056000828254610ab39190610c6c565b90915550503060009081526007602052604081208054839290610ad7908490610c6c565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610734565b600060208083528351808285015260005b81811015610b3e57858101830151858201604001528201610b22565b81811115610b50576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b7d57600080fd5b919050565b60008060408385031215610b9557600080fd5b610b9e83610b66565b946020939093013593505050565b600080600060608486031215610bc157600080fd5b610bca84610b66565b9250610bd860208501610b66565b9150604084013590509250925092565b600060208284031215610bfa57600080fd5b5035919050565b600060208284031215610c1357600080fd5b610c1c82610b66565b9392505050565b60008060408385031215610c3657600080fd5b610c3f83610b66565b9150610c4d60208401610b66565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015610c7e57610c7e610c56565b500390565b600060208284031215610c9557600080fd5b5051919050565b6000816000190483118215151615610cb657610cb6610c56565b500290565b600082610cd857634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610cf057610cf0610c56565b50019056fea2646970667358221220b239d2809dad9a18fbecda72c9243e200e68cda49d5c575110f93f31f1d4fa8f64736f6c634300080b0033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.