📄 IScientistStorage.sol
D-OPEN SOVEREIGN
1/*
2 * Copyright (c) 2026 DataPond D-Library Pty Ltd. ("The Sanctuary")
3 * Non-Profit Public Library — The World Library
4 * 
5 * D-SAFE Certification issued by POND Enterprise.
6 * Published under the D-Open Code Sovereign Licence v1.0 framework
7 * DataPond D-Library All exclusive Right reserved on modifiying the code - CC Attribution to data pond, Non modifiable, Non Commercial.
8 * https://registry.world.bibliotech.com/licence
9 * Source code donated to DataPond D-Library by it's author: data pond.
10 * 
11 * Technical Guardian ("The Shield"): Pond Enterprise Pty Ltd. (ACN 694 747 987)
12 * All liability claims about D-SAFE certification issues coming from the published D-Safe direction must be addressed with Pond Enterprise Pty Ltd.
13 * Code Modification automatically voids the certified liability protection provided by Pond Enterprise.
14 */
15
16// Solidity
17// SPDX-License-Identifier: Apache-2.0
18pragma solidity ^0.8.24;
19
20interface IScientistStorage {
21    // Write API (authorized)
22    function storeBatchStats(
23        uint256[] calldata patches,
24        uint16[] calldata textIndex,
25        string[] calldata textData
26    ) external;
27    function storeNewRegister(uint16 countryCode) external;
28    function storeNewWrite(uint16 countryCode) external;
29
30    function getLastMonthId() external view returns (uint16);
31    function getDeploymentDate() external view returns (uint16, uint8);
32    // Reads (uint8 action for ABI stability)
33    function getStatsRaw(
34        uint8 action,
35        uint8 objectType,
36        uint16 monthId
37    ) external view returns (uint64[] memory hashes, uint32[] memory scores);
38
39    function getStatsSize(
40        uint8 action,
41        uint8 objectType,
42        uint16 monthId
43    ) external view returns (uint16);
44
45    function getMinimumScore(
46        uint8 action,
47        uint8 objectType,
48        uint16 monthId
49    ) external view returns (uint32);
50
51    function loadMonthStat(
52        uint8 action,
53        uint8 objectType,
54        uint16 monthId
55    ) external view returns (uint64[] memory);
56
57    function getStats(
58        uint8 objectType,
59        uint16 monthId
60    )
61        external
62        view
63        returns (
64            uint8[11] memory actions,
65            uint64[][11] memory hashes,
66            uint32[][11] memory scores
67        );
68}
69