VirtualDisk
Source Revision 0xbdf041df…a8f2d4
| Property | Value |
|---|---|
| Source Revision | 0xbdf041df4007555af4305f34fe7fc3700ace4bca5c66929a8bc1e6b4f3a8f2d4 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/8da1e650f7efb81f62bbfe0fdeafdaa5c2491396/solidity/dysnomia/VirtualDisk.sol |
| Source commit | 8da1e650f7efb81f62bbfe0fdeafdaa5c2491396 |
| Source Status | Source snapshot; source hashes do not establish deployed bytecode equivalence. |
| Compiler | solc 0.8.21; optimizer enabled with 200 runs |
| Compiler Configuration | {"evmVersion":"compiler-default","optimizer":{"enabled":true,"runs":200},"version":"0.8.21+commit.d9974bed.Linux.g++"} |
| Compilation Closure Hash | 0xdb673cc3e68816325d65c48b60271b694c40061dd725620db2243e4bdab949d4 |
| Compilation Closure Files | 2 |
| Hash Generated | 2026-09-17T19:13:18.859896+00:00 |
Overview
Section titled “Overview”Stores 256-byte sectors by logical block address, with public reads and owner-controlled writes.
- Kind: Contract
- License: Sharia
- Solidity: ^0.8.21
- Source:
VirtualDisk.sol
Inheritance Chain (C3 Linearized)
Section titled “Inheritance Chain (C3 Linearized)”- self — VirtualDisk
- MultiOwnable
Immediate Parents
Section titled “Immediate Parents”State Variables
Section titled “State Variables”| Variable | Type | Visibility | Mutability | Initial Value | NatSpec |
|---|---|---|---|---|---|
_sectors |
mapping(uint256 => bytes32[8]) |
private | mutable | `` | |
blockCount |
uint256 |
public | mutable | `` |
Events
Section titled “Events”| Event | Parameters | Anonymous | NatSpec |
|---|---|---|---|
SectorUpdated |
uint256 indexed lba, bytes32[8] data | no |
Constructor
Section titled “Constructor”constructor
Section titled “constructor”constructorconstructor
constructor() MultiOwnable(msg.sender)- Modifiers:
MultiOwnable(msg.sender)
Functions
Section titled “Functions”External & Public
Section titled “External & Public”readSector
Section titled “readSector”readSectorfunction
function readSector(uint256 lba) external view returns (bytes32[8] memory sectorData)A callable deployment has not been resolved for this reference.
- Visibility: external
- State Mutability: view
- Parameters: uint256 lba
- Returns: bytes32[8] memory sectorData
- NatSpec: Read a 256-byte sector payload by its LBA.
writeSector
Section titled “writeSector”writeSectorfunction
function writeSector(uint256 lba, bytes32[8] calldata sectorData) external onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: external
- Modifiers:
onlyOwners - Parameters: uint256 lba, bytes32[8] calldata sectorData
- NatSpec: Write a 256-byte sector payload. Only callable by the controller or disk owner.
Inherited Members
Section titled “Inherited Members”Public and external functions below are callable through this contract’s address. Parent links identify where each member is defined.
External & Public Functions
ownerfunction
function owner() external view virtual returns (address)A callable deployment has not been resolved for this reference.
- Visibility: external
- State Mutability: view
- Virtual: yes
- Returns: address
ownerfunction
function owner(address cOwner) public view virtual returns (bool)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Virtual: yes
- Parameters: address cOwner
- Returns: bool
renounceOwnership
Section titled “renounceOwnership”renounceOwnershipfunction
function renounceOwnership(address toRemove) public virtual onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Virtual: yes
- Modifiers:
onlyOwners - Parameters: address toRemove
addOwner
Section titled “addOwner”addOwnerfunction
function addOwner(address newOwner) public virtual onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Virtual: yes
- Modifiers:
onlyOwners - Parameters: address newOwner
Internal Functions
| Function | Signature |
|---|---|
_checkOwner |
function _checkOwner() internal view virtual |
_changeOwnership |
function _changeOwnership(address cOwner, bool cState) internal virtual |
Events
| Event | Parameters |
|---|---|
OwnershipUpdate |
address indexed newOwner, bool indexed state |
Errors
| Error | Parameters |
|---|---|
OwnableUnauthorizedAccount |
address origin, address account, address what |
OwnableInvalidOwner |
address origin, address owner, address what |
Modifiers
| Modifier | Parameters |
|---|---|
onlyOwners |
(none) |
Inherited functions and getters (1)
VirtualDisk.blockCount()Read
A callable deployment has not been resolved for this reference.
Compiled ABI
Section titled “Compiled ABI”The compiled ABI below is produced by solc 0.8.21 from the exact source bytes recorded in Source details. Consumers can paste it directly into ethers/web3/viem.
Click to expand JSON ABI
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "state", "type": "bool" } ], "name": "OwnershipUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "lba", "type": "uint256" }, { "indexed": false, "internalType": "bytes32[8]", "name": "data", "type": "bytes32[8]" } ], "name": "SectorUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "addOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "blockCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "cOwner", "type": "address" } ], "name": "owner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "lba", "type": "uint256" } ], "name": "readSector", "outputs": [ { "internalType": "bytes32[8]", "name": "sectorData", "type": "bytes32[8]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toRemove", "type": "address" } ], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "lba", "type": "uint256" }, { "internalType": "bytes32[8]", "name": "sectorData", "type": "bytes32[8]" } ], "name": "writeSector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }]