ETH Price: $3,329.89 (-4.40%)
Gas: 3 Gwei

Contract

0x8864187b257e0fB3BD74054b72D9c1834e76d712
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x61010060185062242023-11-05 13:52:35262 days ago1699192355IN
 Create: DropMinter
0 ETH0.0095949833

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DropMinter

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 4 : DropMinter.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import "./interfaces/ITokenMinter.sol";
import "./interfaces/IClaimCallback.sol";
import "./interfaces/ITokenLocker.sol";

contract DropMinter is IClaimCallback{

    address public immutable convexproxy;
    address public immutable cvxprisma;
    address public immutable airdrop;
    address public immutable locker;
    event ConvertDrop(address indexed _address, uint256 _amount);

    constructor(address _proxy, address _cvxprisma, address _drop, address _locker){
        convexproxy = _proxy;
        cvxprisma = _cvxprisma;
        airdrop = _drop;
        locker = _locker;
    }

    function claimCallback(address _claimant, address _receiver, uint256 _amount) external returns (bool success){
        require(msg.sender == airdrop, "!drop");
        require(_receiver == convexproxy, "!receiver");
        _amount *= ITokenLocker(locker).lockToTokenRatio();
        ITokenMinter(cvxprisma).mint(_claimant, _amount);
        emit ConvertDrop(_claimant,_amount);
        return true;
    }

}

File 2 of 4 : ITokenMinter.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface ITokenMinter{
    function mint(address,uint256) external;
    function burn(address,uint256) external;
    function setOperator(address _operator, bool _active) external;
}

File 3 of 4 : ITokenLocker.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

interface ITokenLocker {
    struct LockData {
        uint amount;
        uint weeksToUnlock;
    }

    function lock(address _account, uint256 _amount, uint256 _weeks) external returns (bool);
    function withdrawExpiredLocks(uint256 _weeks) external returns (bool);
    function withdrawWithPenalty(uint amountToWithdraw) external returns (uint);

    function getAccountBalances(address account) external view returns (uint256 locked, uint256 unlocked);
    function getAccountActiveLocks(
        address account,
        uint minWeeks
    ) external view returns (LockData[] memory lockData, uint frozenAmount);

    function getAccountWeightAt(address account, uint week) external view returns (uint256);

    function getTotalWeightAt(uint week) external view returns (uint256);

    function getWithdrawWithPenaltyAmounts(address account, uint amountToWithdraw) external view returns (uint amountWithdrawn, uint penaltyAmountPaid);

    function lockToTokenRatio() external view returns (uint256);

    function freeze() external;
}

File 4 of 4 : IClaimCallback.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

interface IClaimCallback {
    function claimCallback(address claimant, address receiver, uint256 amount) external returns (bool success);
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "paris",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_proxy","type":"address"},{"internalType":"address","name":"_cvxprisma","type":"address"},{"internalType":"address","name":"_drop","type":"address"},{"internalType":"address","name":"_locker","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ConvertDrop","type":"event"},{"inputs":[],"name":"airdrop","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_claimant","type":"address"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claimCallback","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"convexproxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cvxprisma","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"locker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

61010060405234801561001157600080fd5b506040516105523803806105528339810160408190526100309161006e565b6001600160a01b0393841660805291831660a052821660c0521660e0526100c2565b80516001600160a01b038116811461006957600080fd5b919050565b6000806000806080858703121561008457600080fd5b61008d85610052565b935061009b60208601610052565b92506100a960408601610052565b91506100b760608601610052565b905092959194509250565b60805160a05160c05160e05161043e61011460003960008181610116015261020e01526000818160cc0152610145015260008181606101526102c101526000818160a501526101a1015261043e6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632abb7e661461005c578063373ae285146100a05780633884d635146100c7578063b398e227146100ee578063d7b96d4e14610111575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6101016100fc366004610388565b610138565b6040519015158152602001610097565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461019f5760405162461bcd60e51b815260206004820152600560248201526402164726f760dc1b60448201526064015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461020c5760405162461bcd60e51b815260206004820152600960248201526810b932b1b2b4bb32b960b91b6044820152606401610196565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c5438b1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028e91906103c4565b61029890836103dd565b6040516340c10f1960e01b81526001600160a01b038681166004830152602482018390529193507f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b15801561030757600080fd5b505af115801561031b573d6000803e3d6000fd5b50505050836001600160a01b03167fd77b612e7f918350129550d01898be758f73ecc90e1f2675fe675f6346e6bc098360405161035a91815260200190565b60405180910390a25060019392505050565b80356001600160a01b038116811461038357600080fd5b919050565b60008060006060848603121561039d57600080fd5b6103a68461036c565b92506103b46020850161036c565b9150604084013590509250925092565b6000602082840312156103d657600080fd5b5051919050565b808202811582820484141761040257634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212206f797107f36c743e24b1bd36d71e30c7075e12f623017b420789d7d9b264503564736f6c634300081300330000000000000000000000008ad7a9e2b3cd9214f36cb871336d8ab34ddfdd5b00000000000000000000000034635280737b5bfe6c7dc2fc3065d60d66e781850000000000000000000000003ea03249b4d68be92a8eda027c5ac12e6e419bee0000000000000000000000003f78544364c3eccdce4d9c89a630aea26122829d

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632abb7e661461005c578063373ae285146100a05780633884d635146100c7578063b398e227146100ee578063d7b96d4e14610111575b600080fd5b6100837f00000000000000000000000034635280737b5bfe6c7dc2fc3065d60d66e7818581565b6040516001600160a01b0390911681526020015b60405180910390f35b6100837f0000000000000000000000008ad7a9e2b3cd9214f36cb871336d8ab34ddfdd5b81565b6100837f0000000000000000000000003ea03249b4d68be92a8eda027c5ac12e6e419bee81565b6101016100fc366004610388565b610138565b6040519015158152602001610097565b6100837f0000000000000000000000003f78544364c3eccdce4d9c89a630aea26122829d81565b6000336001600160a01b037f0000000000000000000000003ea03249b4d68be92a8eda027c5ac12e6e419bee161461019f5760405162461bcd60e51b815260206004820152600560248201526402164726f760dc1b60448201526064015b60405180910390fd5b7f0000000000000000000000008ad7a9e2b3cd9214f36cb871336d8ab34ddfdd5b6001600160a01b0316836001600160a01b03161461020c5760405162461bcd60e51b815260206004820152600960248201526810b932b1b2b4bb32b960b91b6044820152606401610196565b7f0000000000000000000000003f78544364c3eccdce4d9c89a630aea26122829d6001600160a01b031663c5438b1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028e91906103c4565b61029890836103dd565b6040516340c10f1960e01b81526001600160a01b038681166004830152602482018390529193507f00000000000000000000000034635280737b5bfe6c7dc2fc3065d60d66e78185909116906340c10f1990604401600060405180830381600087803b15801561030757600080fd5b505af115801561031b573d6000803e3d6000fd5b50505050836001600160a01b03167fd77b612e7f918350129550d01898be758f73ecc90e1f2675fe675f6346e6bc098360405161035a91815260200190565b60405180910390a25060019392505050565b80356001600160a01b038116811461038357600080fd5b919050565b60008060006060848603121561039d57600080fd5b6103a68461036c565b92506103b46020850161036c565b9150604084013590509250925092565b6000602082840312156103d657600080fd5b5051919050565b808202811582820484141761040257634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212206f797107f36c743e24b1bd36d71e30c7075e12f623017b420789d7d9b264503564736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000008ad7a9e2b3cd9214f36cb871336d8ab34ddfdd5b00000000000000000000000034635280737b5bfe6c7dc2fc3065d60d66e781850000000000000000000000003ea03249b4d68be92a8eda027c5ac12e6e419bee0000000000000000000000003f78544364c3eccdce4d9c89a630aea26122829d

-----Decoded View---------------
Arg [0] : _proxy (address): 0x8ad7a9e2B3Cd9214f36Cb871336d8ab34DdFdD5b
Arg [1] : _cvxprisma (address): 0x34635280737b5BFe6c7DC2FC3065D60d66e78185
Arg [2] : _drop (address): 0x3ea03249B4D68Be92a8eda027C5ac12e6E419BEE
Arg [3] : _locker (address): 0x3f78544364c3eCcDCe4d9C89a630AEa26122829d

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000008ad7a9e2b3cd9214f36cb871336d8ab34ddfdd5b
Arg [1] : 00000000000000000000000034635280737b5bfe6c7dc2fc3065d60d66e78185
Arg [2] : 0000000000000000000000003ea03249b4d68be92a8eda027c5ac12e6e419bee
Arg [3] : 0000000000000000000000003f78544364c3eccdce4d9c89a630aea26122829d


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.