neo_solidity/solidity/
solidity_docs.rs

1/// Natspec documentation extracted from Solidity source comments
2#[derive(Debug, Clone, Default)]
3pub struct NatspecDoc {
4    /// @title - Contract title
5    pub title: Option<String>,
6    /// @author - Contract/function author
7    pub author: Option<String>,
8    /// @notice - Human-readable description for end users
9    pub notice: Option<String>,
10    /// @dev - Technical details for developers
11    pub dev: Option<String>,
12    /// @param descriptions - key is parameter name, value is description
13    pub params: Vec<(String, String)>,
14    /// @return descriptions
15    pub returns: Vec<String>,
16    /// @custom tags
17    pub custom: Vec<(String, String)>,
18}
19
20impl From<NatspecDocIR> for NatspecDoc {
21    fn from(ir: NatspecDocIR) -> Self {
22        NatspecDoc {
23            title: ir.title,
24            author: ir.author,
25            notice: ir.notice,
26            dev: ir.dev,
27            params: ir.params,
28            returns: ir.returns,
29            custom: ir.custom,
30        }
31    }
32}
33