Feature Tip: Add private address tag to any address under My Name Tag !
InstaDapp was rebranded and is now known as Fluid. This token's displayed name and symbol does not match its contract's Name and Symbol function.
Overview
Max Total Supply
100,000,000 FLUID
Holders
11,111 ( -0.036%)
Market
Price
$2.07 @ 0.001047 ETH (-0.64%)
Onchain Market Cap
$207,000,000.00
Circulating Supply Market Cap
$163,002,595.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
160,945.6507029813 FLUIDValue
$333,157.50 ( ~168.5840 Eth) [0.1609%]Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
InstaToken
Compiler Version
v0.7.3+commit.9bfce1f6
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
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()) }
}
}
}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;
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
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
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.
Add Token to MetaMask (Web3)