Contract 0x9076C96e01F6F13e1eC4832354dF970d245e124F

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa35a9b840725bc9b3767acff2d3cd6fd1d389e0b3939efe90cdd15a80dcfe641Unlock242498322021-12-07 11:43:036 mins ago0x27e9531d81e0d89ce04394e233d406256d66d36a IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.016746878368
0xf15df2c0875b31cbbd562f44fcfbe226d0bcd5b1e7120b0cbf51fb11d50df436Unlock242482432021-12-07 11:20:0929 mins ago0xc7fea0ce6a2ad72e955434a406c093662cfabea5 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.007240640388
0xcea70abc0e290a60a758c0e462173e6b5803d3980c383196583abb1cdfb42c95Unlock242453272021-12-07 10:39:561 hr 9 mins ago0x4e93fa03afbae1d171189be4878a101113499a7f IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.023977469003
0xdb6576e0a7a36596f76574e8c36b237687d1b553cd5fca75c9e9ab0bfa65144aUnlock242421572021-12-07 9:51:041 hr 58 mins ago0xeac9360f031c9702a6b6590adbe9e2015b663ec0 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.006305725041
0xfe837411a6af90c6e525ee294a532853ee4175dc9a4b34051663cbd7f748f7c1Unlock242403542021-12-07 9:23:482 hrs 25 mins ago0xd727c1f4d8ee8933734e9855cd6169a158aca620 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.006283977428
0xc865b7b3c970cef80dcdf06b42789b7df8aaaf29ef9cb438557162b91820f5f4Unlock242383262021-12-07 8:49:522 hrs 59 mins ago0x737d9c3086b7ec2080ebc4b9d30a16a1edcdf234 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.008695685932
0x254648e84d2ea5ef54a05de460975a1b2ac412d1abcf296d9bd56c2ef97a6bfbUnlock242337092021-12-07 7:46:094 hrs 3 mins ago0x0b3452f0f62428ed2178791fc429d09b5cae3b3f IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.00532943832
0xf99990a193de4fc53ce02abcb352a3bdcde94a1ac6152c648b403874e1a8617aUnlock242337052021-12-07 7:46:054 hrs 3 mins ago0x0b3452f0f62428ed2178791fc429d09b5cae3b3f IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.006393945866
0xe438d815868d9b74bfc05d0e1a4544c90bec14620857d1d9d637d065308de306Unlock242316442021-12-07 7:16:304 hrs 33 mins ago0xc47663d375ed5720c7d9bdceea0b22e77045b216 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.00869681222
0x44beebf180a97fc176c7af948f10b764e4f78bd1b328b78a79b3d60669291912Unlock242292282021-12-07 6:43:355 hrs 6 mins ago0x8450a7852495dafe063c3e436d0750698777965c IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.011364321812
0xb5b664b04e444118c914becef9b4699a9cc2b1c6ebfc67238c7abcc5c2f6ebb1Unlock242270152021-12-07 6:11:285 hrs 38 mins ago0x20ac2c094c6f923c6e7b5f7f96e386e5b3206262 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.008641662952
0x47f92710e49251d57e9b9f0c9b7818eb531a74d86e1b399f14b453ba3ad9f77dUnlock242261702021-12-07 6:00:315 hrs 49 mins ago0x4b1718580ea31f34beecfc41a67f9731066d35fa IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.009435807684
0xde78f80bb2a4ee68510296a4d9f0c6ebcaac7a7a72250ca8e9369caca02671efUnlock242217592021-12-07 4:57:426 hrs 51 mins ago0x9833eee8055c425375dadeb12109c4b3ba667d79 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.031329437734
0x1ca32f398dcbae47d397fe89f915ebe102f214881ee89ca51ffa33de7c6a484aUnlock242192312021-12-07 4:18:537 hrs 30 mins ago0xd6a231b64bb1351b209b45d21084efe5f5d3d56c IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.01527838559
0x5912e5e47e7d26db5a6ec3f05bcacbe9964c1161b45dd26af941788443b4e9c1Unlock242190842021-12-07 4:16:127 hrs 33 mins ago0xe69a7233dbe675601c026647bd3e4d56c5890037 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.012381775676
0x89879d7cb30c641e324f913db9d40519a5fd3f8c75d9a6ef80f77d666b5bd2b2Unlock242147572021-12-07 3:13:438 hrs 35 mins ago0x24c9a6464517d6ab5880a6b5e365f375b894e0ff IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.01084921794
0x97b82c67c319a735251b8345650c67ee6e84fec298b20bb06e41568135b9be09Unlock242129662021-12-07 2:47:489 hrs 1 min ago0x098f3969a802a9e40b53ca8a1e9eac5c45841e8e IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.035317353266
0x7e19c239ad8d1897816dcd2f3705502ad0aaf881e90e202e3a3a3f48d9a55974Unlock242083782021-12-07 1:40:4310 hrs 8 mins ago0x3e05c7fffefe9030523c1eb14e50ace5b0da9cf7 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.006399787205
0xbd7ba91ad36a041bddb980c2f6320bbaab78c67750c4e10ade2b180c83f1e3dfUnlock242062662021-12-07 1:05:2210 hrs 44 mins ago0xccb968eece0ec3670e4340af41db699c4c5fcd72 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.006333382729
0x5745cf275e51a7f93d85f14270a116db0869182ca30fb87bbcc960748a05f867Unlock242057432021-12-07 0:57:1410 hrs 52 mins ago0x0ae4cc61196507815eb50e97374539e675200418 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.005633832386
0x57c0079463fa7c14b531499bc2c3957fdaf86aa7bf7dfb9867718ceda16cd7bfUnlock241966472021-12-06 22:47:5613 hrs 1 min ago0x05e5ab383f3c2d423cfd118b83420261ab0990bc IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.007411701479
0xfec4287cdb361faba375cacb1b89b7caab95cbfc63acd9913acf15bdf56ead56Unlock241958192021-12-06 22:36:3313 hrs 13 mins ago0xf26b6b9e35446a719c6b0c3ab9158d6b260cdf80 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.011831908254
0x821afa2db9981071fdcc5323c12ea91a0ee7a01402af2ba3b66e243057a34113Unlock241929372021-12-06 21:54:0413 hrs 55 mins ago0x37ecae1e0840e5684f6510bd9f46296cd9b3ff16 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.008038298639
0x69e70d8f10613fd977150598fedb3f9df46e769e44931511703f25d98e2a9652Unlock241889022021-12-06 20:53:5914 hrs 55 mins ago0x96e2016be42286338ff1e808d61e270fe3c28a0d IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.022298180428
0xa93484cf5dec8f98c50d3988635a020896cf5b646109e3c8f0838426293551f7Unlock241836732021-12-06 19:41:1316 hrs 8 mins ago0x3f67b39d46eaf6369e0b4f1561c2101f455d11d9 IN  0x9076c96e01f6f13e1ec4832354df970d245e124f0 FTM0.01823454518
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x96765c7c7af4fa0d42ea3bc5af259a2155ddf2e20e8c9e7848389ea4a682742a77637322021-05-26 16:24:18194 days 19 hrs ago PaintSwap Finance: Deployer  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArtGallery

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at FtmScan.com on 2021-05-26
*/

// SPDX-License-Identifier: GPL-3.0-or-later Or MIT
pragma solidity >=0.8.0 <0.9.0;

interface IArtGallery {
	function lock (address _painter, uint256 amount) external;
}







interface IBEP20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the token decimals.
     */
    function decimals() external view returns (uint8);

    /**
     * @dev Returns the token symbol.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the token name.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the bep token owner.
     */
    function getOwner() external view returns (address);

    /**
     * @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);

    /**
     * @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 `sender` to `recipient` 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 sender, address recipient, 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);
}







/*
 * @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/2691
        return msg.data;
    }
}


/**
 * @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 () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


contract ArtGallery is IArtGallery, Ownable {
    struct ArtEntry {
        uint256 amount; // How much to lock
        uint256 unlockTime; // When it is unlocked
    }

    // A wrapper around a mapping, enabling FIFO
    struct Collection {
        mapping(uint256 => ArtEntry) queue;
        uint256 first;
        uint256 count;
    }

    IBEP20 private immutable brush;
    uint256 public immutable lockDuration;

    mapping(address => Collection) private lockedUp;

    constructor(address _brush, uint256 _lockDuration) {
        brush = IBEP20(_brush);
        lockDuration = _lockDuration;
    }

    function lock(address _painter, uint256 _amount)
        external
        override
        onlyOwner
    {
        require(_amount > 0);
        Collection storage collection = lockedUp[_painter];
        collection.queue[collection.count] = ArtEntry({
            amount: _amount,
            unlockTime: block.timestamp + lockDuration
        });
        ++collection.count;
    }

    function isUnlockable(uint256 _unlockTime) public view returns (bool) {
        return block.timestamp >= _unlockTime;
    }

    // Always use inspect() first to avoid spending gas without any unlocks
    function unlock() external {
        uint256 unlockedAmount;

        Collection storage collection = lockedUp[msg.sender];
        uint256 count = collection.count;
        while (collection.first < count) {
            ArtEntry storage entry = collection.queue[collection.first];
            if (!isUnlockable(entry.unlockTime)) {
                break;
            }
            unlockedAmount += entry.amount;
            delete collection.queue[collection.first];
            ++collection.first;
        }

        if (unlockedAmount > 0) {
            safeBrushTransfer(msg.sender, unlockedAmount);
        }
    }

    function inspect(address _painter)
        public
        view
        returns (
            uint256 lockedCount, // How many art pieces are locked
            uint256 lockedAmount, // How much is locked in total
            uint256 unlockableCount,
            uint256 unlockableAmount,
            uint256 nextUnlockTime, // 0 if nothing locked; does not represent an immediate unlockable
            uint256 nextUnlockAmount
        )
    {
        Collection storage collection = lockedUp[_painter];
        for (uint256 i = collection.first; i < collection.count; ++i) {
            ArtEntry storage entry = collection.queue[i];
            if (isUnlockable(entry.unlockTime)) {
                ++unlockableCount;
                unlockableAmount += entry.amount;
            } else {
                ++lockedCount;
                lockedAmount += entry.amount;
                if (lockedCount == 1) {
                    nextUnlockTime = entry.unlockTime;
                    nextUnlockAmount = entry.amount;
                }
            }
        }
    }

    // Safe brush transfer function, just in case if rounding error causes the gallery to not have enough BRUSHs.
    function safeBrushTransfer(address _to, uint256 _amount) internal {
        require(_amount > 0);
        uint256 brushBal = brush.balanceOf(address(this));
        if (_amount > brushBal) {
            brush.transfer(_to, brushBal);
        } else {
            brush.transfer(_to, _amount);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_brush","type":"address"},{"internalType":"uint256","name":"_lockDuration","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"_painter","type":"address"}],"name":"inspect","outputs":[{"internalType":"uint256","name":"lockedCount","type":"uint256"},{"internalType":"uint256","name":"lockedAmount","type":"uint256"},{"internalType":"uint256","name":"unlockableCount","type":"uint256"},{"internalType":"uint256","name":"unlockableAmount","type":"uint256"},{"internalType":"uint256","name":"nextUnlockTime","type":"uint256"},{"internalType":"uint256","name":"nextUnlockAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_unlockTime","type":"uint256"}],"name":"isUnlockable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_painter","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405234801561001057600080fd5b5060405161093338038061093383398101604081905261002f9161008b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060609190911b6001600160601b03191660805260a0526100c3565b6000806040838503121561009d578182fd5b82516001600160a01b03811681146100b3578283fd5b6020939093015192949293505050565b60805160601c60a0516108346100ff60003960008181609201526102a801526000818161052c015281816105de015261068601526108346000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610124578063a51270b41461013f578063a69df4b514610163578063f2fde38b1461016b57600080fd5b8063045544431461008d578063065b1c3c146100c7578063282d3fdf14610107578063715018a61461011c575b600080fd5b6100b47f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6100da6100d53660046106e6565b61017e565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016100be565b61011a610115366004610707565b610238565b005b61011a61030a565b6000546040516001600160a01b0390911681526020016100be565b61015361014d366004610750565b42101590565b60405190151581526020016100be565b61011a61037e565b61011a6101793660046106e6565b61041d565b6001600160a01b038116600090815260016020819052604082209081015482918291829182918291905b816002015481101561022d576000818152602083905260409020600181015442106101ec576101d6876107cd565b81549097506101e590876107b5565b955061021c565b6101f5896107cd565b815490995061020490896107b5565b9750886001141561021c576001810154815490955093505b50610226816107cd565b90506101a8565b505091939550919395565b6000546001600160a01b0316331461026b5760405162461bcd60e51b815260040161026290610780565b60405180910390fd5b6000811161027857600080fd5b6001600160a01b0382166000908152600160209081526040918290208251808401909352838352919081016102cd7f0000000000000000000000000000000000000000000000000000000000000000426107b5565b90526002820180546000908152602084815260408220845181559301516001909301929092558054909190610301906107cd565b90915550505050565b6000546001600160a01b031633146103345760405162461bcd60e51b815260040161026290610780565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b33600090815260016020526040812060028101545b8082600101541015610408576001828101546000908152602084905260409020908101544210156103c45750610408565b80546103d090856107b5565b6001808501805460009081526020879052604081208181559092018290558054929650916103fd906107cd565b909155506103939050565b8215610418576104183384610507565b505050565b6000546001600160a01b031633146104475760405162461bcd60e51b815260040161026290610780565b6001600160a01b0381166104ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610262565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000811161051457600080fd5b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561057657600080fd5b505afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190610768565b9050808211156106605760405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb90604401602060405180830381600087803b15801561062257600080fd5b505af1158015610636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065a9190610730565b50505050565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb90604401602060405180830381600087803b15801561062257600080fd5b80356001600160a01b03811681146106e157600080fd5b919050565b6000602082840312156106f7578081fd5b610700826106ca565b9392505050565b60008060408385031215610719578081fd5b610722836106ca565b946020939093013593505050565b600060208284031215610741578081fd5b81518015158114610700578182fd5b600060208284031215610761578081fd5b5035919050565b600060208284031215610779578081fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156107c8576107c86107e8565b500190565b60006000198214156107e1576107e16107e8565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122095b1e3fccf0f0a901a738f52060b267c4e9a6a03af35546a6b26429dcd97c52364736f6c6343000804003300000000000000000000000085dec8c4b2680793661bca91a8f129607571863d00000000000000000000000000000000000000000000000000000000006ebe00

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

00000000000000000000000085dec8c4b2680793661bca91a8f129607571863d00000000000000000000000000000000000000000000000000000000006ebe00

-----Decoded View---------------
Arg [0] : _brush (address): 0x85dec8c4b2680793661bca91a8f129607571863d
Arg [1] : _lockDuration (uint256): 7257600

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000085dec8c4b2680793661bca91a8f129607571863d
Arg [1] : 00000000000000000000000000000000000000000000000000000000006ebe00


Deployed ByteCode Sourcemap

6426:3425:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6820:37;;;;;;;;2951:25:1;;;2939:2;2924:18;6820:37:0;;;;;;;;8320:1089;;;;;;:::i;:::-;;:::i;:::-;;;;3274:25:1;;;3330:2;3315:18;;3308:34;;;;3358:18;;;3351:34;;;;3416:2;3401:18;;3394:34;3459:3;3444:19;;3437:35;3503:3;3488:19;;3481:35;3261:3;3246:19;8320:1089:0;3228:294:1;7061:394:0;;;;;;:::i;:::-;;:::i;:::-;;5870:148;;;:::i;5228:79::-;5266:7;5293:6;5228:79;;-1:-1:-1;;;;;5293:6:0;;;1504:51:1;;1492:2;1477:18;5228:79:0;1459:102:1;7463:126:0;;;;;;:::i;:::-;7551:15;:30;;;7463:126;;;;2010:14:1;;2003:22;1985:41;;1973:2;1958:18;7463:126:0;1940:92:1;7674:638:0;;;:::i;6173:244::-;;;;;;:::i;:::-;;:::i;8320:1089::-;-1:-1:-1;;;;;8816:18:0;;8417:19;8816:18;;;:8;:18;;;;;;;8862:16;;;;8417:19;;;;;;;;;;8816:18;8845:557;8884:10;:16;;;8880:1;:20;8845:557;;;8922:22;8947:19;;;;;;;;;;8998:16;;;;7551:15;:30;8981:410;;9036:17;;;:::i;:::-;9092:12;;9036:17;;-1:-1:-1;9072:32:0;;;;:::i;:::-;;;8981:410;;;9145:13;;;:::i;:::-;9193:12;;9145:13;;-1:-1:-1;9177:28:0;;;;:::i;:::-;;;9228:11;9243:1;9228:16;9224:152;;;9286:16;;;;9344:12;;9286:16;;-1:-1:-1;9344:12:0;-1:-1:-1;9224:152:0;-1:-1:-1;8902:3:0;;;:::i;:::-;;;8845:557;;;;8320:1089;;;;;;;;:::o;7061:394::-;5440:6;;-1:-1:-1;;;;;5440:6:0;3952:10;5440:22;5432:67;;;;-1:-1:-1;;;5432:67:0;;;;;;;:::i;:::-;;;;;;;;;7199:1:::1;7189:7;:11;7181:20;;;::::0;::::1;;-1:-1:-1::0;;;;;7244:18:0;::::1;7212:29;7244:18:::0;;;:8:::1;:18;::::0;;;;;;;;7310:108;;;;::::1;::::0;;;;;;7244:18;7310:108;;::::1;7376:30;7394:12;7376:15;:30;:::i;:::-;7310:108:::0;;7290:16:::1;::::0;::::1;::::0;;7273::::1;:34:::0;;;::::1;::::0;;;;;;:145;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;7429:18;;7290:16;;7273;7429:18:::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;;;7061:394:0:o;5870:148::-;5440:6;;-1:-1:-1;;;;;5440:6:0;3952:10;5440:22;5432:67;;;;-1:-1:-1;;;5432:67:0;;;;;;;:::i;:::-;5977:1:::1;5961:6:::0;;5940:40:::1;::::0;-1:-1:-1;;;;;5961:6:0;;::::1;::::0;5940:40:::1;::::0;5977:1;;5940:40:::1;6008:1;5991:19:::0;;-1:-1:-1;;;;;;5991:19:0::1;::::0;;5870:148::o;7674:638::-;7788:10;7712:22;7779:20;;;:8;:20;;;;;7826:16;;;;7853:344;7879:5;7860:10;:16;;;:24;7853:344;;;7943:16;;;;;7901:22;7926:34;;;;;;;;;;7993:16;;;;7551:15;:30;;7975:77;;8031:5;;;7975:77;8084:12;;8066:30;;;;:::i;:::-;8135:16;;;;;;8118;:34;;;;;;;;;;8111:41;;;;;;;;;8167:18;;8066:30;;-1:-1:-1;8135:16:0;8167:18;;;:::i;:::-;;;;-1:-1:-1;7853:344:0;;-1:-1:-1;7853:344:0;;8213:18;;8209:96;;8248:45;8266:10;8278:14;8248:17;:45::i;:::-;7674:638;;;:::o;6173:244::-;5440:6;;-1:-1:-1;;;;;5440:6:0;3952:10;5440:22;5432:67;;;;-1:-1:-1;;;5432:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6262:22:0;::::1;6254:73;;;::::0;-1:-1:-1;;;6254:73:0;;2239:2:1;6254:73:0::1;::::0;::::1;2221:21:1::0;2278:2;2258:18;;;2251:30;2317:34;2297:18;;;2290:62;-1:-1:-1;;;2368:18:1;;;2361:36;2414:19;;6254:73:0::1;2211:228:1::0;6254:73:0::1;6364:6;::::0;;6343:38:::1;::::0;-1:-1:-1;;;;;6343:38:0;;::::1;::::0;6364:6;::::1;::::0;6343:38:::1;::::0;::::1;6392:6;:17:::0;;-1:-1:-1;;;;;;6392:17:0::1;-1:-1:-1::0;;;;;6392:17:0;;;::::1;::::0;;;::::1;::::0;;6173:244::o;9532:316::-;9627:1;9617:7;:11;9609:20;;;;;;9659:30;;-1:-1:-1;;;9659:30:0;;9683:4;9659:30;;;1504:51:1;9640:16:0;;9659:5;-1:-1:-1;;;;;9659:15:0;;;;1477:18:1;;9659:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9640:49;;9714:8;9704:7;:18;9700:141;;;9739:29;;-1:-1:-1;;;9739:29:0;;-1:-1:-1;;;;;1758:32:1;;;9739:29:0;;;1740:51:1;1807:18;;;1800:34;;;9739:5:0;:14;;;;1713:18:1;;9739:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7674:638;;;:::o;9700:141::-;9801:28;;-1:-1:-1;;;9801:28:0;;-1:-1:-1;;;;;1758:32:1;;;9801:28:0;;;1740:51:1;1807:18;;;1800:34;;;9801:5:0;:14;;;;1713:18:1;;9801:28:0;;;;;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:196::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;:::-;343:39;262:126;-1:-1:-1;;;262:126:1:o;393:264::-;461:6;469;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;647:2;632:18;;;;619:32;;-1:-1:-1;;;480:177:1:o;662:297::-;729:6;782:2;770:9;761:7;757:23;753:32;750:2;;;803:6;795;788:22;750:2;840:9;834:16;893:5;886:13;879:21;872:5;869:32;859:2;;920:6;912;905:22;964:190;1023:6;1076:2;1064:9;1055:7;1051:23;1047:32;1044:2;;;1097:6;1089;1082:22;1044:2;-1:-1:-1;1125:23:1;;1034:120;-1:-1:-1;1034:120:1:o;1159:194::-;1229:6;1282:2;1270:9;1261:7;1257:23;1253:32;1250:2;;;1303:6;1295;1288:22;1250:2;-1:-1:-1;1331:16:1;;1240:113;-1:-1:-1;1240:113:1:o;2444:356::-;2646:2;2628:21;;;2665:18;;;2658:30;2724:34;2719:2;2704:18;;2697:62;2791:2;2776:18;;2618:182::o;3527:128::-;3567:3;3598:1;3594:6;3591:1;3588:13;3585:2;;;3604:18;;:::i;:::-;-1:-1:-1;3640:9:1;;3575:80::o;3660:135::-;3699:3;-1:-1:-1;;3720:17:1;;3717:2;;;3740:18;;:::i;:::-;-1:-1:-1;3787:1:1;3776:13;;3707:88::o;3800:127::-;3861:10;3856:3;3852:20;3849:1;3842:31;3892:4;3889:1;3882:15;3916:4;3913:1;3906:15

Swarm Source

ipfs://95b1e3fccf0f0a901a738f52060b267c4e9a6a03af35546a6b26429dcd97c523
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.