Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,773 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Redeem | 19429770 | 115 days ago | IN | 0 ETH | 0.0042944 | ||||
Redeem | 19299887 | 133 days ago | IN | 0 ETH | 0.0031967 | ||||
Redeem | 19229095 | 143 days ago | IN | 0 ETH | 0.00197905 | ||||
Redeem | 19018242 | 172 days ago | IN | 0 ETH | 0.00205716 | ||||
Redeem | 18070827 | 305 days ago | IN | 0 ETH | 0.00151997 | ||||
Redeem | 17403191 | 399 days ago | IN | 0 ETH | 0.00295772 | ||||
Redeem | 17397549 | 400 days ago | IN | 0 ETH | 0.00153721 | ||||
Redeem | 17054029 | 448 days ago | IN | 0 ETH | 0.00224174 | ||||
Redeem | 16978968 | 459 days ago | IN | 0 ETH | 0.0024328 | ||||
Redeem | 16885745 | 472 days ago | IN | 0 ETH | 0.00205444 | ||||
Redeem | 16863496 | 475 days ago | IN | 0 ETH | 0.00114991 | ||||
Redeem | 16655224 | 504 days ago | IN | 0 ETH | 0.00047905 | ||||
Redeem | 16591931 | 513 days ago | IN | 0 ETH | 0.00343391 | ||||
Redeem | 16479941 | 529 days ago | IN | 0 ETH | 0.00234717 | ||||
Redeem | 16312148 | 552 days ago | IN | 0 ETH | 0.00114346 | ||||
Redeem | 16242028 | 562 days ago | IN | 0 ETH | 0.00109299 | ||||
Redeem | 16218691 | 565 days ago | IN | 0 ETH | 0.00101421 | ||||
Redeem | 16095887 | 582 days ago | IN | 0 ETH | 0.000264 | ||||
Redeem | 16061849 | 587 days ago | IN | 0 ETH | 0.00092189 | ||||
Redeem | 16050555 | 589 days ago | IN | 0 ETH | 0.00086153 | ||||
Redeem | 16036421 | 591 days ago | IN | 0 ETH | 0.00102881 | ||||
Redeem | 16013954 | 594 days ago | IN | 0 ETH | 0.00095577 | ||||
Redeem | 16011865 | 594 days ago | IN | 0 ETH | 0.00172741 | ||||
Redeem | 15707200 | 637 days ago | IN | 0 ETH | 0.00177505 | ||||
Redeem | 15579990 | 654 days ago | IN | 0 ETH | 0.0005293 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
aCNVRedemption
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-01 */ // SPDX-License-Identifier: WTFPL pragma solidity >=0.8.0; /** ██████╗ ██████╗ ███╗ ██╗ ██████╗ █████╗ ██╗ ██╗██████╗ ██╔════╝██╔═══██╗████╗ ██║██╔════╝██╔══██╗██║ ██║╚════██╗ ██║ ██║ ██║██╔██╗ ██║██║ ███████║██║ ██║ █████╔╝ ██║ ██║ ██║██║╚██╗██║██║ ██╔══██║╚██╗ ██╔╝ ╚═══██╗ ╚██████╗╚██████╔╝██║ ╚████║╚██████╗██║ ██║ ╚████╔╝ ██████╔╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ Concave */ // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol) /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } contract aCNVRedemption { event Redemption(address indexed redeemer, uint256 output); /* -------------------------------------------------------------------------- */ /* STORAGE */ /* -------------------------------------------------------------------------- */ IERC20 public constant CNV = IERC20(0x000000007a58f5f58E697e51Ab0357BC9e260A04); IERC20 public constant aCNV = IERC20(0x6Ff0106D34FEEe8A8aCF2e7b9168480f86B82E2f); mapping(address => bool) hasRedeemed; /* -------------------------------------------------------------------------- */ /* REDEEM LOGIC */ /* -------------------------------------------------------------------------- */ // @notice This contract is minted aCNV's totalSupply at CNV launch, // redemption rate is 1:1 function redeem(address to) external returns (uint256 output) { require(hasRedeemed[msg.sender] == false, "!ALREADY_REDEEMED"); output = aCNV.balanceOf(msg.sender); hasRedeemed[msg.sender] = true; CNV.transfer(to, output); emit Redemption(msg.sender, output); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"redeemer","type":"address"},{"indexed":false,"internalType":"uint256","name":"output","type":"uint256"}],"name":"Redemption","type":"event"},{"inputs":[],"name":"CNV","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aCNV","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"output","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506102fb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634b3c58281461004657806395a2251f1461007e578063d51a020b1461009f575b600080fd5b610061736ff0106d34feee8a8acf2e7b9168480f86b82e2f81565b6040516001600160a01b0390911681526020015b60405180910390f35b61009161008c36600461025a565b6100b6565b604051908152602001610075565b6100616f7a58f5f58e697e51ab0357bc9e260a0481565b3360009081526020819052604081205460ff161561010e5760405162461bcd60e51b8152602060048201526011602482015270085053149150511657d491511151535151607a1b604482015260640160405180910390fd5b6040516370a0823160e01b8152336004820152736ff0106d34feee8a8acf2e7b9168480f86b82e2f906370a0823190602401602060405180830381865afa15801561015d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610181919061028a565b3360009081526020819052604090819020805460ff191660011790555163a9059cbb60e01b81526001600160a01b0384166004820152602481018290529091506f7a58f5f58e697e51ab0357bc9e260a049063a9059cbb906044016020604051808303816000875af11580156101fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021f91906102a3565b5060405181815233907fe6c82503aaaa3db78b70f183901ae8668918f895b3982b2c851cf2ffe0c6c6399060200160405180910390a2919050565b60006020828403121561026c57600080fd5b81356001600160a01b038116811461028357600080fd5b9392505050565b60006020828403121561029c57600080fd5b5051919050565b6000602082840312156102b557600080fd5b8151801515811461028357600080fdfea26469706673582212208de303bf1169fce7abd9842a96174a68cc9945b30d1be1eadd306e472eb66cb864736f6c634300080b0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100415760003560e01c80634b3c58281461004657806395a2251f1461007e578063d51a020b1461009f575b600080fd5b610061736ff0106d34feee8a8acf2e7b9168480f86b82e2f81565b6040516001600160a01b0390911681526020015b60405180910390f35b61009161008c36600461025a565b6100b6565b604051908152602001610075565b6100616f7a58f5f58e697e51ab0357bc9e260a0481565b3360009081526020819052604081205460ff161561010e5760405162461bcd60e51b8152602060048201526011602482015270085053149150511657d491511151535151607a1b604482015260640160405180910390fd5b6040516370a0823160e01b8152336004820152736ff0106d34feee8a8acf2e7b9168480f86b82e2f906370a0823190602401602060405180830381865afa15801561015d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610181919061028a565b3360009081526020819052604090819020805460ff191660011790555163a9059cbb60e01b81526001600160a01b0384166004820152602481018290529091506f7a58f5f58e697e51ab0357bc9e260a049063a9059cbb906044016020604051808303816000875af11580156101fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021f91906102a3565b5060405181815233907fe6c82503aaaa3db78b70f183901ae8668918f895b3982b2c851cf2ffe0c6c6399060200160405180910390a2919050565b60006020828403121561026c57600080fd5b81356001600160a01b038116811461028357600080fd5b9392505050565b60006020828403121561029c57600080fd5b5051919050565b6000602082840312156102b557600080fd5b8151801515811461028357600080fdfea26469706673582212208de303bf1169fce7abd9842a96174a68cc9945b30d1be1eadd306e472eb66cb864736f6c634300080b0033
Deployed Bytecode Sourcemap
3860:1271:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4308:80;;4345:42;4308:80;;;;;-1:-1:-1;;;;;191:32:1;;;173:51;;161:2;146:18;4308:80:0;;;;;;;;4807:321;;;;;;:::i;:::-;;:::i;:::-;;;672:25:1;;;660:2;645:18;4807:321:0;526:177:1;4220:79:0;;4256:42;4220:79;;4807:321;4902:10;4853:14;4890:23;;;;;;;;;;;;;:32;4882:62;;;;-1:-1:-1;;;4882:62:0;;910:2:1;4882:62:0;;;892:21:1;949:2;929:18;;;922:30;-1:-1:-1;;;968:18:1;;;961:47;1025:18;;4882:62:0;;;;;;;;4966:26;;-1:-1:-1;;;4966:26:0;;4981:10;4966:26;;;173:51:1;4345:42:0;;4966:14;;146:18:1;;4966:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5017:10;5005:11;:23;;;;;;;;;;;;:30;;-1:-1:-1;;5005:30:0;5031:4;5005:30;;;5048:24;-1:-1:-1;;;5048:24:0;;-1:-1:-1;;;;;1643:32:1;;5048:24:0;;;1625:51:1;1692:18;;;1685:34;;;;;-1:-1:-1;4256:42:0;;5048:12;;1598:18:1;;5048:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5090:30:0;;672:25:1;;;5101:10:0;;5090:30;;660:2:1;645:18;5090:30:0;;;;;;;4807:321;;;:::o;235:286:1:-;294:6;347:2;335:9;326:7;322:23;318:32;315:52;;;363:1;360;353:12;315:52;389:23;;-1:-1:-1;;;;;441:31:1;;431:42;;421:70;;487:1;484;477:12;421:70;510:5;235:286;-1:-1:-1;;;235:286:1:o;1262:184::-;1332:6;1385:2;1373:9;1364:7;1360:23;1356:32;1353:52;;;1401:1;1398;1391:12;1353:52;-1:-1:-1;1424:16:1;;1262:184;-1:-1:-1;1262:184:1:o;1730:277::-;1797:6;1850:2;1838:9;1829:7;1825:23;1821:32;1818:52;;;1866:1;1863;1856:12;1818:52;1898:9;1892:16;1951:5;1944:13;1937:21;1930:5;1927:32;1917:60;;1973:1;1970;1963:12
Swarm Source
ipfs://8de303bf1169fce7abd9842a96174a68cc9945b30d1be1eadd306e472eb66cb8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $9 | 2,060.4893 | $18,544.4 |
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.