Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | Amount | ||
|---|---|---|---|---|---|---|
| 21293857 | 3 secs ago | 0 ETH | ||||
| 21293852 | 13 secs ago | 0 ETH | ||||
| 21293847 | 23 secs ago | 0 ETH | ||||
| 21293842 | 33 secs ago | 0 ETH | ||||
| 21293839 | 39 secs ago | 0 ETH | ||||
| 21293827 | 1 min ago | 0 ETH | ||||
| 21293822 | 1 min ago | 0 ETH | ||||
| 21293817 | 1 min ago | 0 ETH | ||||
| 21293807 | 1 min ago | 0 ETH | ||||
| 21293803 | 1 min ago | 0 ETH | ||||
| 21293799 | 1 min ago | 0 ETH | ||||
| 21293796 | 2 mins ago | 0 ETH | ||||
| 21293793 | 2 mins ago | 0 ETH | ||||
| 21293787 | 2 mins ago | 0 ETH | ||||
| 21293782 | 2 mins ago | 0 ETH | ||||
| 21293777 | 2 mins ago | 0 ETH | ||||
| 21293772 | 2 mins ago | 0 ETH | ||||
| 21293767 | 3 mins ago | 0 ETH | ||||
| 21293762 | 3 mins ago | 0 ETH | ||||
| 21293757 | 3 mins ago | 0 ETH | ||||
| 21293752 | 3 mins ago | 0 ETH | ||||
| 21293749 | 3 mins ago | 0 ETH | ||||
| 21293742 | 3 mins ago | 0 ETH | ||||
| 21293732 | 4 mins ago | 0 ETH | ||||
| 21293727 | 4 mins ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
AccessControl
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: Copyright (c) 2024-2025 Schelling Point Labs Inc.
pragma solidity ^0.8.28;
// ___ __ __ _ __ __ __
// / _ )/ /__ ____/ /__ ___ ___ ___ ___ ___ / |/ /__ / /__ _____ ____/ /__
// / _ / / _ \/ __/ '_/(_-</ -_) _ \(_-</ -_) / / -_) __/ |/|/ / _ \/ __/ '_/
// /____/_/\___/\__/_/\_\/___/\__/_//_/___/\__/ /_/|_/\__/\__/|__,__/\___/_/ /_/\_\
// _____ ____ ___ ___ ___ ________
// / __/ | / / |/ / / _ | / _ \/ __/ __/
// / _/ | |/ / /|_/ / / __ |/ // / _/_\ \
// /___/ |___/_/ /_/ /_/ |_/____/_/ /___/
//
// Website: https://blocksense.network/
// Git Repository: https://github.com/blocksense-network/blocksense
/// @title AccessControl
/// @author Aneta Tsvetkova
/// @notice Contract that manages access control when writing to the dataFeedStore storage
contract AccessControl {
address internal immutable OWNER;
constructor(address owner_) {
OWNER = owner_;
}
fallback() external {
address _owner = OWNER;
// no selector is passed
// whether read or write operation will be executed is determined by the caller
assembly {
let _caller := caller()
// function setAdmins(bytes) external {
// bytes: <address1 (20b)><isAdmin1 (1b)>...<addressN><isAdminN>
if eq(_caller, _owner) {
let length := calldatasize()
for {
let pointer := 0
} lt(pointer, length) {
pointer := add(pointer, 21)
} {
let metadata := calldataload(pointer)
let admin := and(
metadata,
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
)
let isAdmin := byte(20, metadata)
sstore(admin, isAdmin)
}
return(0, 0)
}
// function checkAdminRole(address caller) external view returns (bool) {
let admin := calldataload(0)
mstore(0, sload(admin))
return(0, 0x20)
}
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"nonpayable","type":"fallback"}]Contract Creation Code
60a0604052348015600f57600080fd5b5060405161012c38038061012c833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805160aa61008260003960006012015260aa6000f3fe6080604052348015600f57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000338181036065573660005b818110156063578035601481901a6bffffffffffffffffffffffff1990911655601501603c565b005b50600035805460005260206000f3fea264697066735822122027946863766b970abf88d8835d243175f1a5efecf5c3a26e02de48df592a4b9064736f6c634300081c003300000000000000000000000053adbdaa3ee8725de80bf97173b1f1a0a48036de
Deployed Bytecode
0x6080604052348015600f57600080fd5b507f00000000000000000000000053adbdaa3ee8725de80bf97173b1f1a0a48036de338181036065573660005b818110156063578035601481901a6bffffffffffffffffffffffff1990911655601501603c565b005b50600035805460005260206000f3fea264697066735822122027946863766b970abf88d8835d243175f1a5efecf5c3a26e02de48df592a4b9064736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000053adbdaa3ee8725de80bf97173b1f1a0a48036de
-----Decoded View---------------
Arg [0] : owner_ (address): 0x53AdbDAA3EE8725De80Bf97173B1f1A0a48036De
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000053adbdaa3ee8725de80bf97173b1f1a0a48036de
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.