ETH Price: $3,040.94 (+1.98%)
Gas: 14 Gwei

Contract

0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Instadapp (INST) (@$2.13)
Transaction Hash
Method
Block
From
To
Value
Delegate197860762024-05-03 0:41:2312 hrs ago1714696883IN
Instadapp: INST Token
0 ETH0.000246764.61487546
Approve197838232024-05-02 17:06:5919 hrs ago1714669619IN
Instadapp: INST Token
0 ETH0.0007257513.99646098
Approve197833102024-05-02 15:23:5921 hrs ago1714663439IN
Instadapp: INST Token
0 ETH0.0008254615.93779256
Approve197737982024-05-01 7:30:232 days ago1714548623IN
Instadapp: INST Token
0 ETH0.0009753618.86333115
Approve197731192024-05-01 5:13:472 days ago1714540427IN
Instadapp: INST Token
0 ETH0.000333166.42515779
Approve197715612024-05-01 0:00:232 days ago1714521623IN
Instadapp: INST Token
0 ETH0.000309685.97921178
Approve197670142024-04-30 8:44:233 days ago1714466663IN
Instadapp: INST Token
0 ETH0.000488189.44360521
Approve197658442024-04-30 4:49:353 days ago1714452575IN
Instadapp: INST Token
0 ETH0.000323986.26573923
Approve197639552024-04-29 22:30:233 days ago1714429823IN
Instadapp: INST Token
0 ETH0.000438478.45604472
Approve197632472024-04-29 20:07:593 days ago1714421279IN
Instadapp: INST Token
0 ETH0.0007869715.19469937
Transfer197597582024-04-29 8:24:114 days ago1714379051IN
Instadapp: INST Token
0 ETH0.00050618.50324412
Approve197595372024-04-29 7:39:474 days ago1714376387IN
Instadapp: INST Token
0 ETH0.000263078.85804904
Approve197569182024-04-28 22:52:594 days ago1714344779IN
Instadapp: INST Token
0 ETH0.000250254.84102568
Transfer197557012024-04-28 18:48:114 days ago1714330091IN
Instadapp: INST Token
0 ETH0.0009153714.23450839
Approve197541722024-04-28 13:39:474 days ago1714311587IN
Instadapp: INST Token
0 ETH0.000369027.13687723
Approve197531772024-04-28 10:19:355 days ago1714299575IN
Instadapp: INST Token
0 ETH0.000465579.01453277
Approve197487272024-04-27 19:23:115 days ago1714245791IN
Instadapp: INST Token
0 ETH0.000293715.68295874
Approve197482062024-04-27 17:38:115 days ago1714239491IN
Instadapp: INST Token
0 ETH0.000263315.09239761
Transfer197479522024-04-27 16:47:115 days ago1714236431IN
Instadapp: INST Token
0 ETH0.0005936914
Transfer197478932024-04-27 16:35:235 days ago1714235723IN
Instadapp: INST Token
0 ETH0.000385846
Transfer197474432024-04-27 15:04:475 days ago1714230287IN
Instadapp: INST Token
0 ETH0.0006524810.14634099
Approve197463632024-04-27 11:26:596 days ago1714217219IN
Instadapp: INST Token
0 ETH0.000208736.53245455
Approve197463592024-04-27 11:26:116 days ago1714217171IN
Instadapp: INST Token
0 ETH0.000380317.33442038
Approve197451472024-04-27 7:20:596 days ago1714202459IN
Instadapp: INST Token
0 ETH0.000290075.61913457
Approve197409202024-04-26 17:09:476 days ago1714151387IN
Instadapp: INST Token
0 ETH0.000328476.33466226
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InstaToken

Compiler Version
v0.7.3+commit.9bfce1f6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : TokenDelegator.sol
pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2;

import { TokenDelegatorStorage, TokenEvents } from "./TokenInterfaces.sol";

contract InstaToken is TokenDelegatorStorage, TokenEvents {
    constructor(
        address account,
        address implementation_,
        uint initialSupply_,
        uint mintingAllowedAfter_,
        bool transferPaused_
    ) {
        require(implementation_ != address(0), "TokenDelegator::constructor invalid address");
        delegateTo(
            implementation_,
            abi.encodeWithSignature(
                "initialize(address,uint256,uint256,bool)",
                account,
                initialSupply_,
                mintingAllowedAfter_,
                transferPaused_
            )
        );

        implementation = implementation_;

        emit NewImplementation(address(0), implementation);
    }

    /**
     * @notice Called by the admin to update the implementation of the delegator
     * @param implementation_ The address of the new implementation for delegation
     */
    function _setImplementation(address implementation_) external isMaster {
        require(implementation_ != address(0), "TokenDelegator::_setImplementation: invalid implementation address");

        address oldImplementation = implementation;
        implementation = implementation_;

        emit NewImplementation(oldImplementation, implementation);
    }

    /**
     * @notice Internal method to delegate execution to another contract
     * @dev It returns to the external caller whatever the implementation returns or forwards reverts
     * @param callee The contract to delegatecall
     * @param data The raw data to delegatecall
     */
    function delegateTo(address callee, bytes memory data) internal {
        (bool success, bytes memory returnData) = callee.delegatecall(data);
        assembly {
            if eq(success, 0) {
                revert(add(returnData, 0x20), returndatasize())
            }
        }
    }

    /**
     * @dev Delegates execution to an implementation contract.
     * It returns to the external caller whatever the implementation returns
     * or forwards reverts.
     */
    fallback () external payable {
        // delegate all other functions to current implementation
        (bool success, ) = implementation.delegatecall(msg.data);

        assembly {
            let free_mem_ptr := mload(0x40)
            returndatacopy(free_mem_ptr, 0, returndatasize())

            switch success
            case 0 { revert(free_mem_ptr, returndatasize()) }
            default { return(free_mem_ptr, returndatasize()) }
        }
    }
}

File 3 of 2 : TokenInterfaces.sol
pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2;

interface IndexInterface {
    function master() external view returns (address);
}

contract TokenEvents {
    
    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    /// @notice An event thats emitted when the minter changes
    event MinterChanged(address indexed oldMinter, address indexed newMinter);

    /// @notice The standard EIP-20 transfer event
    event Transfer(address indexed from, address indexed to, uint256 amount);

    /// @notice The standard EIP-20 approval event
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /// @notice Emitted when implementation is changed
    event NewImplementation(address oldImplementation, address newImplementation);

    /// @notice An event thats emitted when the token transfered is paused
    event TransferPaused(address indexed minter);

    /// @notice An event thats emitted when the token transfered is unpaused
    event TransferUnpaused(address indexed minter);

    /// @notice An event thats emitted when the token symbol is changed
    event ChangedSymbol(string oldSybmol, string newSybmol);

    /// @notice An event thats emitted when the token name is changed
    event ChangedName(string oldName, string newName);
}

contract TokenDelegatorStorage {
    /// @notice InstaIndex contract
    IndexInterface constant public instaIndex = IndexInterface(0x2971AdFa57b20E5a416aE5a708A8655A9c74f723);

    /// @notice Active brains of Token
    address public implementation;

    /// @notice EIP-20 token name for this token
    string public name = "Instadapp";

    /// @notice EIP-20 token symbol for this token
    string public symbol = "INST";

    /// @notice Total number of tokens in circulation
    uint public totalSupply;

    /// @notice EIP-20 token decimals for this token
    uint8 public constant decimals = 18;

    modifier isMaster() {
        require(instaIndex.master() == msg.sender, "Tkn::isMaster: msg.sender not master");
        _;
    }
}

/**
 * @title Storage for Token Delegate
 * @notice For future upgrades, do not change TokenDelegateStorageV1. Create a new
 * contract which implements TokenDelegateStorageV1 and following the naming convention
 * TokenDelegateStorageVX.
 */
contract TokenDelegateStorageV1 is TokenDelegatorStorage {
    /// @notice The timestamp after which minting may occur
    uint public mintingAllowedAfter;

    /// @notice token transfer pause state
    bool public transferPaused;

    // Allowance amounts on behalf of others
    mapping (address => mapping (address => uint96)) internal allowances;

    // Official record of token balances for each account
    mapping (address => uint96) internal balances;

    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint96 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint) public nonces;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"uint256","name":"initialSupply_","type":"uint256"},{"internalType":"uint256","name":"mintingAllowedAfter_","type":"uint256"},{"internalType":"bool","name":"transferPaused_","type":"bool"}],"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":false,"internalType":"string","name":"oldName","type":"string"},{"indexed":false,"internalType":"string","name":"newName","type":"string"}],"name":"ChangedName","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"oldSybmol","type":"string"},{"indexed":false,"internalType":"string","name":"newSybmol","type":"string"}],"name":"ChangedSymbol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldMinter","type":"address"},{"indexed":true,"internalType":"address","name":"newMinter","type":"address"}],"name":"MinterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"NewImplementation","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"TransferPaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"TransferUnpaused","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"name":"_setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"instaIndex","outputs":[{"internalType":"contract IndexInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}]

60c060405260096080819052680496e737461646170760bc1b60a090815261002a91600191906101da565b5060408051808201909152600480825263125394d560e21b6020909201918252610056916002916101da565b5034801561006357600080fd5b506040516109c13803806109c183398101604081905261008291610289565b6001600160a01b0384166100b15760405162461bcd60e51b81526004016100a890610362565b60405180910390fd5b6100ff84868585856040516024016100cc949392919061033a565b60408051601f198184030181529190526020810180516001600160e01b039081166334aef83760e01b1790915261016316565b600080546001600160a01b0319166001600160a01b03868116919091178083556040517fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a936101519390921690610320565b60405180910390a150505050506103ad565b60006060836001600160a01b03168360405161017f91906102e7565b600060405180830381855af49150503d80600081146101ba576040519150601f19603f3d011682016040523d82523d6000602084013e6101bf565b606091505b509150915060008214156101d4573d60208201fd5b50505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061021b57805160ff1916838001178555610248565b82800160010185558215610248579182015b8281111561024857825182559160200191906001019061022d565b50610254929150610258565b5090565b5b808211156102545760008155600101610259565b80516001600160a01b038116811461028457600080fd5b919050565b600080600080600060a086880312156102a0578081fd5b6102a98661026d565b94506102b76020870161026d565b93506040860151925060608601519150608086015180151581146102d9578182fd5b809150509295509295909350565b60008251815b8181101561030757602081860181015185830152016102ed565b818111156103155782828501525b509190910192915050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03949094168452602084019290925260408301521515606082015260800190565b6020808252602b908201527f546f6b656e44656c656761746f723a3a636f6e7374727563746f7220696e766160408201526a6c6964206164647265737360a81b606082015260800190565b610605806103bc6000396000f3fe6080604052600436106100705760003560e01c80635c60da1b1161004e5780635c60da1b1461015a57806395d89b411461017c578063a41098bf14610191578063bb913f41146101a657610070565b806306fdde03146100eb57806318160ddd14610116578063313ce56714610138575b600080546040516001600160a01b03909116906100909083903690610463565b600060405180830381855af49150503d80600081146100cb576040519150601f19603f3d011682016040523d82523d6000602084013e6100d0565b606091505b505090506040513d6000823e8180156100e7573d82f35b3d82fd5b3480156100f757600080fd5b506101006101c8565b60405161010d91906104a1565b60405180910390f35b34801561012257600080fd5b5061012b610255565b60405161010d91906105a0565b34801561014457600080fd5b5061014d61025b565b60405161010d91906105a9565b34801561016657600080fd5b5061016f610260565b60405161010d9190610473565b34801561018857600080fd5b5061010061026f565b34801561019d57600080fd5b5061016f6102c7565b3480156101b257600080fd5b506101c66101c1366004610424565b6102df565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561024d5780601f106102225761010080835404028352916020019161024d565b820191906000526020600020905b81548152906001019060200180831161023057829003601f168201915b505050505081565b60035481565b601281565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561024d5780601f106102225761010080835404028352916020019161024d565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b336001600160a01b0316732971adfa57b20e5a416ae5a708a8655a9c74f7236001600160a01b031663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561033657600080fd5b505afa15801561034a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036e9190610447565b6001600160a01b03161461039d5760405162461bcd60e51b81526004016103949061055c565b60405180910390fd5b6001600160a01b0381166103c35760405162461bcd60e51b8152600401610394906104f4565b600080546001600160a01b038381166001600160a01b031983161792839055604051918116927fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a926104189285921690610487565b60405180910390a15050565b600060208284031215610435578081fd5b8135610440816105b7565b9392505050565b600060208284031215610458578081fd5b8151610440816105b7565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b818110156104cd578581018301518582016040015282016104b1565b818111156104de5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526042908201527f546f6b656e44656c656761746f723a3a5f736574496d706c656d656e7461746960408201527f6f6e3a20696e76616c696420696d706c656d656e746174696f6e206164647265606082015261737360f01b608082015260a00190565b60208082526024908201527f546b6e3a3a69734d61737465723a206d73672e73656e646572206e6f74206d6160408201526339ba32b960e11b606082015260800190565b90815260200190565b60ff91909116815260200190565b6001600160a01b03811681146105cc57600080fd5b5056fea264697066735822122074bc32cb9e5d16037640c248eea0a737b9df31782067aff0720bf127027e861864736f6c63430007030033000000000000000000000000b1dc62ec38e6e3857a887210c38418e4a17da5b200000000000000000000000031de2088f38ed7f8a4231de03973814eda1f877300000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000000000000000000659200800000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100705760003560e01c80635c60da1b1161004e5780635c60da1b1461015a57806395d89b411461017c578063a41098bf14610191578063bb913f41146101a657610070565b806306fdde03146100eb57806318160ddd14610116578063313ce56714610138575b600080546040516001600160a01b03909116906100909083903690610463565b600060405180830381855af49150503d80600081146100cb576040519150601f19603f3d011682016040523d82523d6000602084013e6100d0565b606091505b505090506040513d6000823e8180156100e7573d82f35b3d82fd5b3480156100f757600080fd5b506101006101c8565b60405161010d91906104a1565b60405180910390f35b34801561012257600080fd5b5061012b610255565b60405161010d91906105a0565b34801561014457600080fd5b5061014d61025b565b60405161010d91906105a9565b34801561016657600080fd5b5061016f610260565b60405161010d9190610473565b34801561018857600080fd5b5061010061026f565b34801561019d57600080fd5b5061016f6102c7565b3480156101b257600080fd5b506101c66101c1366004610424565b6102df565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561024d5780601f106102225761010080835404028352916020019161024d565b820191906000526020600020905b81548152906001019060200180831161023057829003601f168201915b505050505081565b60035481565b601281565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561024d5780601f106102225761010080835404028352916020019161024d565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b336001600160a01b0316732971adfa57b20e5a416ae5a708a8655a9c74f7236001600160a01b031663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561033657600080fd5b505afa15801561034a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036e9190610447565b6001600160a01b03161461039d5760405162461bcd60e51b81526004016103949061055c565b60405180910390fd5b6001600160a01b0381166103c35760405162461bcd60e51b8152600401610394906104f4565b600080546001600160a01b038381166001600160a01b031983161792839055604051918116927fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a926104189285921690610487565b60405180910390a15050565b600060208284031215610435578081fd5b8135610440816105b7565b9392505050565b600060208284031215610458578081fd5b8151610440816105b7565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b818110156104cd578581018301518582016040015282016104b1565b818111156104de5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526042908201527f546f6b656e44656c656761746f723a3a5f736574496d706c656d656e7461746960408201527f6f6e3a20696e76616c696420696d706c656d656e746174696f6e206164647265606082015261737360f01b608082015260a00190565b60208082526024908201527f546b6e3a3a69734d61737465723a206d73672e73656e646572206e6f74206d6160408201526339ba32b960e11b606082015260800190565b90815260200190565b60ff91909116815260200190565b6001600160a01b03811681146105cc57600080fd5b5056fea264697066735822122074bc32cb9e5d16037640c248eea0a737b9df31782067aff0720bf127027e861864736f6c63430007030033

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

000000000000000000000000b1dc62ec38e6e3857a887210c38418e4a17da5b200000000000000000000000031de2088f38ed7f8a4231de03973814eda1f877300000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000000000000000000659200800000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : account (address): 0xb1DC62EC38E6E3857a887210C38418E4A17Da5B2
Arg [1] : implementation_ (address): 0x31de2088f38ed7F8a4231dE03973814edA1f8773
Arg [2] : initialSupply_ (uint256): 100000000000000000000000000
Arg [3] : mintingAllowedAfter_ (uint256): 1704067200
Arg [4] : transferPaused_ (bool): False

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000b1dc62ec38e6e3857a887210c38418e4a17da5b2
Arg [1] : 00000000000000000000000031de2088f38ed7f8a4231de03973814eda1f8773
Arg [2] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000065920080
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Instadapp is an open source and non-custodial middleware platform for decentralized finance applications.

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.