[INFO] fetching crate sn_transfers 0.20.3...
[INFO] documenting sn_transfers-0.20.3 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate sn_transfers 0.20.3 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate sn_transfers 0.20.3
[INFO] finished tweaking crates.io crate sn_transfers 0.20.3
[INFO] tweaked toml for crates.io crate sn_transfers 0.20.3 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sn_transfers 0.20.3 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 320 packages to highest compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.8.2)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding lazy_static v1.4.0 (available: v1.5.0)
[INFO] [stderr]       Adding libp2p v0.54.1 (available: v0.56.0)
[INFO] [stderr]       Adding pprof v0.13.0 (available: v0.15.0)
[INFO] [stderr]       Adding rand v0.8.8 (available: v0.10.2)
[INFO] [stderr]       Adding secrecy v0.8.0 (available: v0.10.3)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.20)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c
[INFO] running `Command { std: "docker" "start" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling match-lookup v0.1.3
[INFO] [stderr]     Checking const-str v0.4.3
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking base45 v3.2.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]     Checking multihash v0.19.5
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bitvec v1.1.1
[INFO] [stderr]    Compiling blst v0.3.17
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking base256emoji v1.0.2
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking byte-slice-cast v1.2.3
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling custom_debug_derive v0.6.2
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking hex_fmt v0.3.0
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking custom_debug v0.6.2
[INFO] [stderr]     Checking rmp v0.8.15
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]     Checking pairing v0.22.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.19
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking data-encoding-macro v0.1.21
[INFO] [stderr]     Checking multibase v0.9.3
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking libp2p-identity v0.2.14
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking serde_test v1.0.177
[INFO] [stderr]     Checking blstrs v0.6.2
[INFO] [stderr]     Checking rmp-serde v1.3.1
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking asynchronous-codec v0.7.0
[INFO] [stderr]     Checking futures-bounded v0.2.4
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking rw-stream-sink v0.4.0
[INFO] [stderr]     Checking multistream-select v0.13.0
[INFO] [stderr]     Checking quick-protobuf-codec v0.3.1
[INFO] [stderr]     Checking blsttc v8.0.2
[INFO] [stderr]     Checking xor_name v5.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking multiaddr v0.18.2
[INFO] [stderr]     Checking libp2p-core v0.42.0
[INFO] [stderr]     Checking libp2p-swarm v0.45.1
[INFO] [stderr]     Checking libp2p-kad v0.46.2
[INFO] [stderr]     Checking libp2p-allow-block-list v0.4.0
[INFO] [stderr]     Checking libp2p-identify v0.45.0
[INFO] [stderr]     Checking libp2p-connection-limits v0.4.0
[INFO] [stderr]     Checking libp2p v0.54.1
[INFO] [stderr]  Documenting sn_transfers v0.20.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unclosed HTML tag `Sha512`
[INFO] [stdout]    --> src/wallet/encryption.rs:148:47
[INFO] [stdout]     |
[INFO] [stdout] 148 | /// Encrypts secret key using pbkdf2 with HMAC<Sha512>.
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 148 | /// Encrypts secret key using pbkdf2 with `HMAC<Sha512>`.
[INFO] [stdout]     |                                           +            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/cashnote.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / pub struct CashNote {
[INFO] [stdout] 62 | |     /// The parent spends of this CashNote. These are assumed to fetched from the Network.
[INFO] [stdout] 63 | |     pub parent_spends: BTreeSet<SignedSpend>,
[INFO] [stdout] 64 | |     /// This is the MainPubkey of the owner of this CashNote
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |     pub derivation_index: DerivationIndex,
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `Represents a CashNote (CashNote).`
[INFO] [stdout]    = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/cashnote.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / pub struct CashNote {
[INFO] [stdout] 62 | |     /// The parent spends of this CashNote. These are assumed to fetched from the Network.
[INFO] [stdout] 63 | |     pub parent_spends: BTreeSet<SignedSpend>,
[INFO] [stdout] 64 | |     /// This is the MainPubkey of the owner of this CashNote
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |     pub derivation_index: DerivationIndex,
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Represents a CashNote (CashNote).`
[INFO] [stdout]    = help: ends near `Represents a CashNote (CashNote).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/unique_keys.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct DerivationIndex(pub [u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `DerivedSecretKey from the MainSecretKey of that MainPubkey.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/unique_keys.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct DerivationIndex(pub [u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `This is used to generate a new UniquePubkey`
[INFO] [stdout]    = help: ends near `This is used to generate a new UniquePubkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/unique_keys.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct DerivedSecretKey(SerdeSecret<SecretKey>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Types used in the public API`
[INFO] [stdout]     = help: ends near `Like with the keys to your house or a safe, this is not something you share publicly.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/unique_keys.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct DerivedSecretKey(SerdeSecret<SecretKey>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `This is the key that unlocks the value of a CashNote.`
[INFO] [stdout]     = help: ends near `This is the key that unlocks the value of a CashNote.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/hash.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Hash([u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `sha3 256 hash used for Spend Reasons, Transaction hashes, anything hash related in this crate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/hash.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Hash([u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `sha3 256 hash used for Spend Reasons, Transaction hashes, anything hash related in this crate`
[INFO] [stdout]    = help: ends near `sha3 256 hash used for Spend Reasons, Transaction hashes, anything hash related in this crate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/unique_keys.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct MainPubkey(pub PublicKey);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Types used in the public API`
[INFO] [stdout]     = help: ends near `This is the MainPubkey to which tokens are send.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/unique_keys.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct MainPubkey(pub PublicKey);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `This is the MainPubkey to which tokens are send.`
[INFO] [stdout]     = help: ends near `This is the MainPubkey to which tokens are send.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/unique_keys.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct MainSecretKey(SerdeSecret<SecretKey>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Types used in the public API`
[INFO] [stdout]     = help: ends near `and not shared with anyone.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/unique_keys.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct MainSecretKey(SerdeSecret<SecretKey>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A CashNote MainSecretKey is held by anyone who wants to`
[INFO] [stdout]     = help: ends near `A CashNote MainSecretKey is held by anyone who wants to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/nano.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NanoTokens(u64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `An amount in SNT Nanos. 10^9 Nanos = 1 SNT.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/nano.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NanoTokens(u64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `An amount in SNT Nanos. 10^9 Nanos = 1 SNT.`
[INFO] [stdout]    = help: ends near `An amount in SNT Nanos. 10^9 Nanos = 1 SNT.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/signed_spend.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / pub struct SignedSpend {
[INFO] [stdout] 29 | |     /// The Spend, together with the owner's signature over it, constitutes the SignedSpend.
[INFO] [stdout] 30 | |     pub spend: Spend,
[INFO] [stdout] 31 | |     /// The DerivedSecretKey's signature over the Spend, proving the owner's commitment to the Spend.
[INFO] [stdout] 32 | |     #[debug(skip)]
[INFO] [stdout] 33 | |     pub derived_key_sig: Signature,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near ``Spend`s refer to their ancestors and descendants, forming a directed acyclic graph that starts from Genesis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/signed_spend.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / pub struct SignedSpend {
[INFO] [stdout] 29 | |     /// The Spend, together with the owner's signature over it, constitutes the SignedSpend.
[INFO] [stdout] 30 | |     pub spend: Spend,
[INFO] [stdout] 31 | |     /// The DerivedSecretKey's signature over the Spend, proving the owner's commitment to the Spend.
[INFO] [stdout] 32 | |     #[debug(skip)]
[INFO] [stdout] 33 | |     pub derived_key_sig: Signature,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near ``SignedSpend`s are the core of the Network's transaction system.`
[INFO] [stdout]    = help: ends near ``SignedSpend`s are the core of the Network's transaction system.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/signed_spend.rs:206:1
[INFO] [stdout]     |
[INFO] [stdout] 206 | / pub struct Spend {
[INFO] [stdout] 207 | |     /// UniquePubkey of input CashNote that this SignedSpend is proving to be spent.
[INFO] [stdout] 208 | |     pub unique_pubkey: UniquePubkey,
[INFO] [stdout] 209 | |     /// Reason why this CashNote was spent.
[INFO] [stdout] ...   |
[INFO] [stdout] 216 | |     pub royalties: Vec<DerivationIndex>,
[INFO] [stdout] 217 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Types used in the public API`
[INFO] [stdout]     = help: ends near `A Spend's value is equal to the total value of given to its descendants.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/cashnotes/signed_spend.rs:206:1
[INFO] [stdout]     |
[INFO] [stdout] 206 | / pub struct Spend {
[INFO] [stdout] 207 | |     /// UniquePubkey of input CashNote that this SignedSpend is proving to be spent.
[INFO] [stdout] 208 | |     pub unique_pubkey: UniquePubkey,
[INFO] [stdout] 209 | |     /// Reason why this CashNote was spent.
[INFO] [stdout] ...   |
[INFO] [stdout] 216 | |     pub royalties: Vec<DerivationIndex>,
[INFO] [stdout] 217 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Represents a spent UniquePubkey on the Network.`
[INFO] [stdout]     = help: ends near `Represents a spent UniquePubkey on the Network.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/address.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct SpendAddress(XorName);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `This is used to check if a CashNote is spent, note that the actual CashNote is not stored on the Network.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/address.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct SpendAddress(XorName);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The address of a SignedSpend in the network.`
[INFO] [stdout]    = help: ends near `The address of a SignedSpend in the network.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/spend_reason.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub enum SpendReason {
[INFO] [stdout] 20 | |     #[default]
[INFO] [stdout] 21 | |     None,
[INFO] [stdout] 22 | |     /// Reference to network data
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     BetaRewardTracking(DiscordNameCipher),
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `The attached metadata or reason for which a Spend was spent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/spend_reason.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub enum SpendReason {
[INFO] [stdout] 20 | |     #[default]
[INFO] [stdout] 21 | |     None,
[INFO] [stdout] 22 | |     /// Reference to network data
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     BetaRewardTracking(DiscordNameCipher),
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The attached metadata or reason for which a Spend was spent`
[INFO] [stdout]    = help: ends near `The attached metadata or reason for which a Spend was spent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/unique_keys.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct UniquePubkey(PublicKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Types used in the public API`
[INFO] [stdout]    = help: ends near `It is the equivalent to using a different key for each transaction in bitcoin.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cashnotes/unique_keys.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct UniquePubkey(PublicKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `A Unique Public Key is the unique identifier of a CashNote and its SignedSpend on the Network when it is spent.`
[INFO] [stdout]    = help: ends near `A Unique Public Key is the unique identifier of a CashNote and its SignedSpend on the Network when it is spent.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / pub fn calculate_royalties_fee(store_cost: NanoTokens) -> NanoTokens {
[INFO] [stdout] 49 | |     let fees_amount = std::cmp::max(
[INFO] [stdout] 50 | |         MIN_ROYALTY_FEE,
[INFO] [stdout] 51 | |         ((store_cost.as_nano() as f64 * 0.15) / 0.85) as u64,
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |     NanoTokens::from(fees_amount)
[INFO] [stdout] 55 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Utilities exposed`
[INFO] [stdout]    = help: ends near `Network royalties fee is expected to be 15% of the payment amount, i.e. 85% of store cost + 15% royalties fees.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / pub fn calculate_royalties_fee(store_cost: NanoTokens) -> NanoTokens {
[INFO] [stdout] 49 | |     let fees_amount = std::cmp::max(
[INFO] [stdout] 50 | |         MIN_ROYALTY_FEE,
[INFO] [stdout] 51 | |         ((store_cost.as_nano() as f64 * 0.15) / 0.85) as u64,
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |     NanoTokens::from(fees_amount)
[INFO] [stdout] 55 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Based on the given store cost, it calculates what's the expected amount to be paid as network royalties.`
[INFO] [stdout]    = help: ends near `Based on the given store cost, it calculates what's the expected amount to be paid as network royalties.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/genesis.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | / pub fn create_first_cash_note_from_key(
[INFO] [stdout] 200 | |     first_cash_note_key: &MainSecretKey,
[INFO] [stdout] 201 | | ) -> GenesisResult<CashNote> {
[INFO] [stdout] 202 | |     let main_pubkey = first_cash_note_key.main_pubkey();
[INFO] [stdout] ...   |
[INFO] [stdout] 224 | |     Ok(genesis_cash_note)
[INFO] [stdout] 225 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Utilities exposed`
[INFO] [stdout]     = help: ends near `This is useful in tests.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/genesis.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | / pub fn create_first_cash_note_from_key(
[INFO] [stdout] 200 | |     first_cash_note_key: &MainSecretKey,
[INFO] [stdout] 201 | | ) -> GenesisResult<CashNote> {
[INFO] [stdout] 202 | |     let main_pubkey = first_cash_note_key.main_pubkey();
[INFO] [stdout] ...   |
[INFO] [stdout] 224 | |     Ok(genesis_cash_note)
[INFO] [stdout] 225 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Create a first CashNote given any key (i.e. not specifically the hard coded genesis key).`
[INFO] [stdout]     = help: ends near `Create a first CashNote given any key (i.e. not specifically the hard coded genesis key).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/genesis.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | / pub fn get_genesis_sk() -> MainSecretKey {
[INFO] [stdout] 138 | |     match SecretKey::from_hex(&GENESIS_SK_STR) {
[INFO] [stdout] 139 | |         Ok(sk) => MainSecretKey::new(sk),
[INFO] [stdout] 140 | |         Err(err) => panic!("Failed to parse genesis SK: {err:?}"),
[INFO] [stdout] 141 | |     }
[INFO] [stdout] 142 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Utilities exposed`
[INFO] [stdout]     = help: ends near `Returns genesis SK (normally for testing purpose).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/genesis.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | / pub fn get_genesis_sk() -> MainSecretKey {
[INFO] [stdout] 138 | |     match SecretKey::from_hex(&GENESIS_SK_STR) {
[INFO] [stdout] 139 | |         Ok(sk) => MainSecretKey::new(sk),
[INFO] [stdout] 140 | |         Err(err) => panic!("Failed to parse genesis SK: {err:?}"),
[INFO] [stdout] 141 | |     }
[INFO] [stdout] 142 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Returns genesis SK (normally for testing purpose).`
[INFO] [stdout]     = help: ends near `Returns genesis SK (normally for testing purpose).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/genesis.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / pub fn is_genesis_spend(spend: &SignedSpend) -> bool {
[INFO] [stdout] 146 | |     let bytes = spend.spend.to_bytes_for_signing();
[INFO] [stdout] 147 | |     spend.spend.unique_pubkey == *GENESIS_SPEND_UNIQUE_KEY
[INFO] [stdout] 148 | |         && GENESIS_SPEND_UNIQUE_KEY.verify(&spend.derived_key_sig, bytes)
[INFO] [stdout] 149 | |         && spend.spend.amount() == NanoTokens::from(GENESIS_CASHNOTE_AMOUNT)
[INFO] [stdout] 150 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Utilities exposed`
[INFO] [stdout]     = help: ends near `Return if provided Spend is genesis spend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/genesis.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / pub fn is_genesis_spend(spend: &SignedSpend) -> bool {
[INFO] [stdout] 146 | |     let bytes = spend.spend.to_bytes_for_signing();
[INFO] [stdout] 147 | |     spend.spend.unique_pubkey == *GENESIS_SPEND_UNIQUE_KEY
[INFO] [stdout] 148 | |         && GENESIS_SPEND_UNIQUE_KEY.verify(&spend.derived_key_sig, bytes)
[INFO] [stdout] 149 | |         && spend.spend.amount() == NanoTokens::from(GENESIS_CASHNOTE_AMOUNT)
[INFO] [stdout] 150 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Return if provided Spend is genesis spend.`
[INFO] [stdout]     = help: ends near `Return if provided Spend is genesis spend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub enum Error {
[INFO] [stdout] 66 | |     /// Error occurred when creating the Genesis CashNote.
[INFO] [stdout] 67 | |     #[error("Genesis CashNote error:: {0}")]
[INFO] [stdout] 68 | |     GenesisCashNoteError(String),
[INFO] [stdout] ...  |
[INFO] [stdout] 74 | |     WalletError(String),
[INFO] [stdout] 75 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Utilities exposed`
[INFO] [stdout]    = help: ends near `Main error type for the crate.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub enum Error {
[INFO] [stdout] 66 | |     /// Error occurred when creating the Genesis CashNote.
[INFO] [stdout] 67 | |     #[error("Genesis CashNote error:: {0}")]
[INFO] [stdout] 68 | |     GenesisCashNoteError(String),
[INFO] [stdout] ...  |
[INFO] [stdout] 74 | |     WalletError(String),
[INFO] [stdout] 75 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Main error type for the crate.`
[INFO] [stdout]    = help: ends near `Main error type for the crate.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /// Utilities exposed
[INFO] [stdout]    |     ^ starts here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: ends near ` a source transaction, as there was nothing before it.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const GENESIS_INPUT_DERIVATION_INDEX: DerivationIndex = DerivationIndex([0u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Utilities exposed`
[INFO] [stdout]    = help: ends near `The input derivation index for the genesis Spend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const GENESIS_INPUT_DERIVATION_INDEX: DerivationIndex = DerivationIndex([0u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The input derivation index for the genesis Spend.`
[INFO] [stdout]    = help: ends near `The input derivation index for the genesis Spend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const GENESIS_OUTPUT_DERIVATION_INDEX: DerivationIndex = DerivationIndex([1u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Utilities exposed`
[INFO] [stdout]    = help: ends near `The output derivation index for the genesis Spend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const GENESIS_OUTPUT_DERIVATION_INDEX: DerivationIndex = DerivationIndex([1u8; 32]);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The output derivation index for the genesis Spend.`
[INFO] [stdout]    = help: ends near `The output derivation index for the genesis Spend.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /// Utilities exposed
[INFO] [stdout]    |     ^ starts here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: ends near ` This is the unique key for the genesis Spend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const TOTAL_SUPPLY: u64 = u32::MAX as u64 * u64::pow(10, 9);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Utilities exposed`
[INFO] [stdout]    = help: ends near `Total supply of tokens that will eventually exist in the network: 4,294,967,295 * 10^9 = 4,294,967,295,000,000,000.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/genesis.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const TOTAL_SUPPLY: u64 = u32::MAX as u64 * u64::pow(10, 9);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Total supply of tokens that will eventually exist in the network: 4,294,967,295 * 10^9 = 4,294,967,295,000,000,000.`
[INFO] [stdout]    = help: ends near `Total supply of tokens that will eventually exist in the network: 4,294,967,295 * 10^9 = 4,294,967,295,000,000,000.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `sn_transfers`
[INFO] running `Command { std: "docker" "inspect" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c", kill_on_drop: false }`
[INFO] [stdout] c9dd34d17e64acf82a18699276389aa9206daf0705578dbaf31b7193d9e61e0c
