Skip to content

Commit ba23475

Browse files
committed
docs: Generate storage diagrams
1 parent 5562ea5 commit ba23475

File tree

10 files changed

+2530
-1115
lines changed

10 files changed

+2530
-1115
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@ build/*.json
2020
contracts/hardhat-dependency-compiler/
2121
deployments/*hardhat*
2222
deployments/dev-*
23+
24+
# Flattened Solidity file used to generate diagrams.
25+
flatten.sol

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ This repository contains the smart contract implementation of iExec's PoCo proto
2020

2121
- [Contracts and Actors Architecture](./docs/README.md#contracts-and-actors-architecture)
2222
- [State diagrams](./docs/Statuses.md)
23-
- [Storage diagram (Boost)](./docs/uml/storage-IexecPocoBoostDelegate.svg)
2423
- [Nominal workflow sequence](./docs/README.md#nominal)
2524
- [Nominal workflow sequence w/ TEE](./docs/README.md#nominaltee)
2625
- [Boost workflow sequence](./docs/README.md#boost)
26+
- Storage diagrams
27+
- [Diamond storage](./docs/uml/storage-diagram-diamond.svg)
28+
- [PoCo storage](./docs/uml/storage-diagram-poco.svg)
2729
- UML classes related to:
2830
- [IexecPocoDelegates](./docs/uml/class-uml-IexecPocoDelegates.svg)
2931
- [IexecPocoBoostDelegate](./docs/uml/class-uml-IexecPocoBoostDelegate.svg)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// SPDX-FileCopyrightText: 2025 IEXEC BLOCKCHAIN TECH <contact@iex.ec>
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
pragma solidity ^0.8.0;
5+
6+
import {LibDiamond} from "@mudgen/diamond-1/contracts/libraries/LibDiamond.sol";
7+
import {PocoStorageLib} from "../../libs/PocoStorageLib.v8.sol";
8+
9+
// /!\ These contracts are only used to generate storage diagrams, they are not meant
10+
// to be deployed or used in any way.
11+
// PocoStorageLib and LibDiamond use namespaced storage which makes sol2uml unable to
12+
// generate diagrams directly, so these contracts provide their structs to sol2uml.
13+
14+
contract DiamondStorageDiagram {
15+
LibDiamond.DiamondStorage diamondStorage;
16+
}
17+
18+
contract PocoStorageDiagram {
19+
PocoStorageLib.PocoStorage pocoStorage;
20+
}

docs/uml/storage-IexecPocoBoostDelegate.svg

Lines changed: 0 additions & 245 deletions
This file was deleted.
Lines changed: 108 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)