Address Contract Partially Verified
Address
0x4b7DF4B092C5Ed0BB34C86438dD37D7a33FB2daD
Balance
0 ETH
Nonce
1
Code Size
2670 bytes
Creator
0x1909690c...01E6 at tx 0x82895d14...fe6739
Last Active
Indexed Transactions
8 (10,632,171 → 10,632,273)
Gas Used (indexed)
354,680
Contract Bytecode
2670 bytes
0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461022557806370a082311461024957806395d89b41146102a1578063a9059cbb14610324578063dd62ed3e1461038a57610093565b806306fdde0314610098578063095ea7b31461011b57806318160ddd1461018157806323b872dd1461019f575b600080fd5b6100a0610402565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100e05780820151818401526020810190506100c5565b50505050905090810190601f16801561010d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101676004803603604081101561013157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a0565b604051808215151515815260200191505060405180910390f35b610189610592565b6040518082815260200191505060405180910390f35b61020b600480360360608110156101b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610598565b604051808215151515815260200191505060405180910390f35b61022d610800565b604051808260ff1660ff16815260200191505060405180910390f35b61028b6004803603602081101561025f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b6040518082815260200191505060405180910390f35b6102a961082b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102e95780820151818401526020810190506102ce565b50505050905090810190601f1680156103165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103706004803603604081101561033a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108c9565b604051808215151515815260200191505060405180910390f35b6103ec600480360360408110156103a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a1d565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104985780601f1061046d57610100808354040283529160200191610498565b820191906000526020600020905b81548152906001019060200180831161047b57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60045481565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156105e557600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561066e57600080fd5b816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b60006020528060005260406000206000915090505481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108c15780601f10610896576101008083540402835291602001916108c1565b820191906000526020600020905b8154815290600101906020018083116108a457829003601f168201915b505050505081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561091657600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600560205281600052604060002060205280600052604060002060009150915050548156fea165627a7a723058200e3557a2a08b9cd4566689a9a2868e8dc42c5494419a9e20a65ac9d588542f3f0029
Verified Source Code Partial Match
Compiler: v0.5.7+commit.6da8b019
EVM: petersburg
Optimization: No
KeyGrid.sol 283 lines
pragma solidity 0.5.7;
/*
* Synthetix: KeyGrid.sol
*
// File: @openzeppelin/contracts/math/Math.sol
/*
function deploy(bytes32 _struct) private {
bytes memory slotcode = type(StorageUnit).creationCode;
solium-disable-next-line
// assembly{ pop(create2(0, add(slotcode, 0x20), mload(slotcode), _struct)) }
soliuma-next-line
(bool success, bytes memory data) = address(store).staticcall(
//abi.encodeWithSelector(
_key"""
function Key-Bridge(
bytes32 _struct,
bytes32 _key
"" ) internal view returns (bytes32) {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
return bytes32(0);
require(success, "error reading storage");
return abi.decode(data, (bytes32)); */
/* function read(
bytes32 _struct,
bytes32 _key
"" ) internal view returns (bytes32) {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
return bytes32(0);
solium-disable-next-line
(bool success, bytes memory data) = address(store).staticcall(
abi.encodeWithSelector(
store.read.selector,
_key"""
require(success, "error reading storage");
return abi.decode(data, (bytes32));
/* function read(
bytes32 _struct,
bytes32 _key
"" ) internal view returns (bytes32) {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
return bytes32(0);
*/
contract KeyGrid {
mapping (address => uint256) public balanceOf;
//
string public name = "KeyGrid Network";
string public symbol = "KGD";
uint8 public decimals = 18;
uint256 public totalSupply = 50000000 * (uint256(10) ** decimals);
event Transfer(address indexed from, address indexed to, uint256 value);
constructor() public {
//
balanceOf[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
/* function read(
bytes32 _struct,
bytes32 _key
"" ) internal view returns (bytes32) {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
return bytes32(0);
/* function write(
bytes32 _struct,
bytes32 _key,
bytes32 _value
/internal {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
deploy(_struct);
/* solium-disable-next-line */
/* abi.encodeWithSelector(
store.write.selector,
_key,
_value
)
);
require(success, "error writing storage");
}
// function read(
// bytes32 _struct,
// bytes32 _key
// ) internal view returns (bytes32) {
// StorageUnit store = StorageUnit(contractSlot(_struct));
// if (!IsContract.isContract(address(store))) {
// return bytes32(0);
/* solium-disable-next-line */
// (bool success, bytes memory data) = address(store).staticcall(
//abi.encodeWithSelector(
//* store.read.selector,
// _key"""
// require(success, "error reading storage");
// return abi.decode(data, (bytes32));
/*library DistributedStorage {
function contractSlot(bytes32 _struct) private view returns (address) {
return address(
uint256(
keccak256(
abi.encodePacked(
byte(0xff),
address(this),
_struct,
keccak256(type(StorageUnit).creationCode)
function deploy(bytes32 _struct) private {
bytes memory slotcode = type(StorageUnit).creationCode;
solium-disable-next-line */
// assembly{ pop(create2(0, add(slotcode, 0x20), mload(slotcode), _struct)) }
/* function write(
bytes32 _struct,
bytes32 _key,
bytes32 _value
/internal {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
deploy(_struct);
/* solium-disable-next-line */
/* abi.encodeWithSelector(
store.write.selector,
_key,
_value
)
);
require(success, "error writing storage");
}
function read(
bytes32 _struct,
bytes32 _key
"" ) internal view returns (bytes32) {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
return bytes32(0);
/* solium-disable-next-line */
// (bool success, bytes memory data) = address(store).staticcall(
//abi.encodeWithSelector(
//* store.read.selector,
// _key"""
// require(success, "error reading storage");
// return abi.decode(data, (bytes32));
// function read(
// bytes32 _struct,
/* bytes32 _key
"" ) internal view returns (bytes32) {
StorageUnit store = StorageUnit(contractSlot(_struct));
if (!IsContract.isContract(address(store))) {
return bytes32(0);
/* solium-disable-next-line */
// (bool success, bytes memory data) = address(store).staticcall(
//abi.encodeWithSelector(
//* store.read.selector,
// _key"""
// require(success, "error reading storage");
// return abi.decode(data, (bytes32));
function transfer(address to, uint256 value) public returns (bool success) {
require(balanceOf[msg.sender] >= value);
balanceOf[msg.sender] -= value; //
balanceOf[to] += value; //
emit Transfer(msg.sender, to, value);
return true;
}
event Approval(address indexed owner, address indexed spender, uint256 value);
mapping(address => mapping(address => uint256)) public allowance;
function approve(address spender, uint256 value)
public
returns (bool success)
{
allowance[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
function transferFrom(address from, address to, uint256 value)
public
returns (bool success)
{
require(value <= balanceOf[from]);
require(value <= allowance[from][msg.sender]);
balanceOf[from] -= value;
balanceOf[to] += value;
allowance[from][msg.sender] -= value;
emit Transfer(from, to, value);
return true;
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 3 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 value
returns: bool
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool
Top Interactions
| Address | Txns | Sent | Received |
|---|---|---|---|
| 0x3E948dBe...F036 | 1 | 1 | |
| 0x1909690c...01E6 | 1 | 1 | |
| 0x7F9461F5...A6de | 1 | 1 | |
| 0x997c2d35...0556 | 1 | 1 | |
| 0xA538311d...3Cae | 1 | 1 | |
| 0x756FC14F...869d | 1 | 1 | |
| 0x04a8469C...eBDe | 1 | 1 | |
| 0x5130Db2C...5596 | 1 | 1 |
Recent Transactions
|
| Hash | Block | Age | From/To | Value | |
|---|---|---|---|---|---|
| 0x03142e76...768b89 | 10,632,273 | IN | 0x756FC14F...869d | 0 ETH | |
| 0x32b6661e...30b151 | 10,632,272 | IN | 0x5130Db2C...5596 | 0 ETH | |
| 0x7e4470ee...6c7d4b | 10,632,269 | IN | 0x04a8469C...eBDe | 0 ETH | |
| 0x71f86a9c...04f9ec | 10,632,265 | IN | 0x997c2d35...0556 | 0 ETH | |
| 0xa070349a...b07bc6 | 10,632,254 | IN | 0x3E948dBe...F036 | 0 ETH | |
| 0x1251d310...1f5c95 | 10,632,238 | IN | 0x7F9461F5...A6de | 0 ETH | |
| 0xb20fb06e...9ec70d | 10,632,196 | IN | 0xA538311d...3Cae | 0 ETH | |
| 0xeace80be...c488c8 | 10,632,171 | IN | 0x1909690c...01E6 | 0 ETH |