From cbb0aa0494f6cf44c0accafa9f73a9e771f06d6f Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Sun, 20 Oct 2024 21:59:37 -0400 Subject: [PATCH] docs: authored blobs audit report --- README.md | 1 + docs/audit/informal-systems-authored-blobs.pdf | Bin 0 -> 21393 bytes 2 files changed, 1 insertion(+) create mode 100644 docs/audit/informal-systems-authored-blobs.pdf diff --git a/README.md b/README.md index 8d94c06884..d5570a2b8d 100644 --- a/README.md +++ b/README.md @@ -174,3 +174,4 @@ Package-specific READMEs aim to explain implementation details for developers th | 2023/9/15 | [Informal Systems](https://informal.systems/) | [v1.0.0-rc6](https://github.com/celestiaorg/celestia-app/releases/tag/v1.0.0-rc6) | [informal-systems.pdf](docs/audit/informal-systems.pdf) | | 2023/10/17 | [Binary Builders](https://binary.builders/) | [v1.0.0-rc10](https://github.com/celestiaorg/celestia-app/releases/tag/v1.0.0-rc10) | [binary-builders.pdf](docs/audit/binary-builders.pdf) | | 2024/7/1 | [Informal Systems](https://informal.systems/) | [v2.0.0-rc1](https://github.com/celestiaorg/celestia-app/releases/tag/v2.0.0-rc1) | [informal-systems-v2.pdf](docs/audit/informal-systems-v2.pdf) | +| 2024/9/20 | [Informal Systems](https://informal.systems/) | [306c58745d135d31c3777a1af2f58d50adbd32c8](https://github.com/celestiaorg/celestia-app/commit/306c58745d135d31c3777a1af2f58d50adbd32c8) | [informal-systems-authored-blobs.pdf](docs/audit/informal-systems-authored-blobs.pdf) | diff --git a/docs/audit/informal-systems-authored-blobs.pdf b/docs/audit/informal-systems-authored-blobs.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b2ac02776a28cf5fb47d5d81bfe2cd573aa40bfd GIT binary patch literal 21393 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 N2!oK2x}gTc{{bvryKw*j literal 0 HcmV?d00001