Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
f165932
Changed from camelCase to snake_case in eth_plugin_handler
apaillier-ledger Dec 9, 2025
7e2ff0a
Now sets the parameter size for the plugins
apaillier-ledger Dec 9, 2025
bd4a8cd
Updated ERC-20 Ragger tests
apaillier-ledger Dec 9, 2025
6adcfba
Adapted ERC-20 internal plugin to use the parameter size
apaillier-ledger Dec 9, 2025
b1491eb
Updated Ragger tests snapshots
apaillier-ledger Dec 9, 2025
09861d7
Replaced some memset calls by explicit_bzero
apaillier-ledger Dec 9, 2025
6eda733
Replaced some hardcoded values by macros
apaillier-ledger Dec 9, 2025
cb0d09a
Merge pull request #919 from LedgerHQ/fix/apa/erc20_extra_data_length
apaillier-ledger Dec 10, 2025
1769c6d
Fixed debug contracts setting impacting GCS flows
apaillier-ledger Dec 11, 2025
b2e3016
Merge pull request #921 from LedgerHQ/fix/apa/gcs_with_debug_contract…
apaillier-ledger Dec 11, 2025
e5b7ac9
Merge remote-tracking branch 'origin/master' into develop
apaillier-ledger Dec 16, 2025
5331051
Moved array of internal plugins to eth_plugin_handler.c
apaillier-ledger Dec 15, 2025
663084c
Removed need for NULL entry at the end of the internal plugins array
apaillier-ledger Dec 16, 2025
4775fab
Removed unused internal plugin available check
apaillier-ledger Dec 16, 2025
d4764d6
Moved more global variables into the internal plugins
apaillier-ledger Dec 15, 2025
8877cf4
Added ETH2 test
apaillier-ledger Dec 16, 2025
7738785
Added an address matching into the internal plugin matching loop
apaillier-ledger Dec 16, 2025
5e2b9a4
Changed to proper type in internal plugins "entrypoint" call function
apaillier-ledger Dec 16, 2025
9b13e68
Merge pull request #923 from LedgerHQ/ref/apa/internal_plugins
apaillier-ledger Dec 18, 2025
666571d
Increased plugin's value length to 100 bytes
apaillier-ledger Dec 17, 2025
60589f3
Implemented EIP-7002 as a new internal plugin
apaillier-ledger Dec 15, 2025
b9e1c4a
Added EIP-7002 Ragger tests
apaillier-ledger Dec 18, 2025
7985d34
B2CA-2207: Support Gated signing (#903)
cedelavergne-ledger Dec 19, 2025
e9226b3
Merge pull request #924 from LedgerHQ/feat/apa/eip7002_support
apaillier-ledger Dec 19, 2025
ca71eb9
Changed strlcat to strlcpy in EIP-7002 internal plugin
apaillier-ledger Dec 19, 2025
5082062
Removed useless call to GET_ETH2_PK from EIP-7002 Ragger tests
apaillier-ledger Dec 19, 2025
195e01d
Changed to more realistic TX value in EIP-7002 Ragger tests
apaillier-ledger Dec 19, 2025
e9ca5d0
Merge pull request #926 from LedgerHQ/clean/apa/eip7002
apaillier-ledger Dec 19, 2025
5c7d0fe
Adapt generic fuzzer (#910)
cedelavergne-ledger Dec 19, 2025
4b13973
Implemented EIP-7251 as a new internal plugin
apaillier-ledger Dec 19, 2025
fb2956b
Added EIP-7251 Ragger tests
apaillier-ledger Dec 19, 2025
4028041
Adapted fuzzing build
apaillier-ledger Dec 19, 2025
c04eafb
Added fuzzing mock for cx_bn_alloc
apaillier-ledger Jan 6, 2026
ee3bcdf
Merge pull request #930 from LedgerHQ/fix/apa/fuzzing
apaillier-ledger Jan 6, 2026
109795b
Added support for other proxy delegation types
apaillier-ledger Jan 5, 2026
52c509c
Merge pull request #929 from LedgerHQ/feat/apa/proxy_improvements
apaillier-ledger Jan 6, 2026
815f976
Merge pull request #927 from LedgerHQ/feat/apa/eip7251
apaillier-ledger Jan 13, 2026
df37ae7
Implemented doubly linked list
apaillier-ledger Jan 12, 2026
626825a
Added a new insert_before function to list
apaillier-ledger Jan 19, 2026
3fd71ef
Added a new empty function to list/flist
apaillier-ledger Jan 19, 2026
0d66b40
Added a new remove_if function to list/flist
apaillier-ledger Jan 19, 2026
a6a7d87
Added a new unique function to list/flist
apaillier-ledger Jan 19, 2026
da87a7d
Added a new reverse function to list/flist
apaillier-ledger Jan 19, 2026
aecfc2c
Added an initial Doxygen config
apaillier-ledger Jan 16, 2026
64fe038
Made TX context list doubly linked
apaillier-ledger Jan 19, 2026
b40743c
Made 712 hashing context list doubly linked
apaillier-ledger Jan 19, 2026
2141325
Merge pull request #931 from LedgerHQ/feat/apa/ll_improvements
apaillier-ledger Jan 20, 2026
32ada3d
Added missing static to insert_after_internal function
apaillier-ledger Jan 20, 2026
bf430a7
Fixed remove_if list/flist functions always returning 0
apaillier-ledger Jan 20, 2026
8da05f1
Added missing @return documentation for remove_if list/flist functions
apaillier-ledger Jan 20, 2026
ab3a985
Merge pull request #932 from LedgerHQ/fix/apa/ll
apaillier-ledger Jan 20, 2026
acd74f5
No longer sets a TX context as the current one after creation
apaillier-ledger Jan 12, 2026
af39676
Removed confusing >>> prefix from some debug prints
apaillier-ledger Jan 7, 2026
fbf4a73
Added GCS support for empty transactions anywhere in a batch
apaillier-ledger Jan 7, 2026
eb171b9
Added GCS empty TX ragger test
apaillier-ledger Jan 20, 2026
bfef86d
Added GCS complex batch ragger test
apaillier-ledger Jan 20, 2026
a00f77a
Enable MultiSig (Safe) on all devices
cedelavergne-ledger Jan 21, 2026
5e86077
Add new snapshots
cedelavergne-ledger Jan 21, 2026
23c84d6
Merge pull request #934 from LedgerHQ/cev/B2CA-2515_safe-on-nano
cedelavergne-ledger Jan 21, 2026
e0301ed
Merge pull request #933 from LedgerHQ/feat/apa/improve_batch_tx
apaillier-ledger Jan 22, 2026
d87c562
Moved the .eth check on trusted names and applied it only on ENS
apaillier-ledger Jan 22, 2026
dab2703
Removed hardcoded fallback public keys for trusted names
apaillier-ledger Jan 22, 2026
823c84c
Loosened non-ENS trusted names characters restrictions
apaillier-ledger Jan 22, 2026
c762891
Removed unused valid property in trusted name struct
apaillier-ledger Jan 22, 2026
798d28f
Changed trusted name implementation so that they are all kept in a li…
apaillier-ledger Jan 22, 2026
3c2bf2c
Changed get_trusted_name to return the s_trusted_name struct instead …
apaillier-ledger Jan 29, 2026
ad8d39a
Moved calls to trusted_name_cleanup to reset_app_context
apaillier-ledger Jan 29, 2026
5fad25d
Merge pull request #936 from LedgerHQ/feat/apa/trusted_name_improvements
apaillier-ledger Jan 29, 2026
b833c81
Changed GCS enum value implementation so that they are all kept in a …
apaillier-ledger Jan 29, 2026
fa2066b
Moved all the enum_value_cleanup calls to reset_app_context
apaillier-ledger Jan 30, 2026
cba2145
Replaced get_matching_enum_name function by get_matching_enum
apaillier-ledger Jan 30, 2026
ac7f19c
Improved a GCS Ragger test by adding an Enum formatter
apaillier-ledger Jan 30, 2026
b4575b3
Merge pull request #937 from LedgerHQ/feat/apa/gcs_enum_improvements
apaillier-ledger Jan 30, 2026
afb97b7
Fixed crash in free when given NULL
apaillier-ledger Feb 2, 2026
5d2890c
Removed useless NULL checks before free
apaillier-ledger Feb 2, 2026
37e134e
Merge pull request #938 from LedgerHQ/fix/apa/free_on_null
apaillier-ledger Feb 2, 2026
be5ac62
Added trusted name matching to GCS batch empty transactions
apaillier-ledger Feb 3, 2026
c7711fd
Updated Ragger GCS complex batch test
apaillier-ledger Feb 3, 2026
5eae165
Merge pull request #940 from LedgerHQ/feat/apa/gcs_batch_empty_tx_tru…
apaillier-ledger Feb 3, 2026
532da00
Added an extra data parameter to add_to_field_table GCS UI function
apaillier-ledger Feb 3, 2026
f230f2e
Simplified UI GCS cleanup calls
apaillier-ledger Jan 29, 2026
054b50a
Added GCS UI handling of trusted name extra data
apaillier-ledger Feb 2, 2026
e9ee72d
Added GCS UI handling of token_amount extra data
apaillier-ledger Feb 2, 2026
b9773e1
Added GCS UI handling of token extra data
apaillier-ledger Feb 2, 2026
0d4d836
Added GCS UI handling of NFT extra data
apaillier-ledger Feb 2, 2026
64d1bd3
Fixed asset found print
apaillier-ledger Jan 29, 2026
09056f2
Added GCS UI handling of enum extra data
apaillier-ledger Feb 2, 2026
0ae3603
Updated Ragger tests snapshots
apaillier-ledger Feb 2, 2026
ad11a14
Merge pull request #939 from LedgerHQ/feat/apa/gcs_ui_extra_data
apaillier-ledger Feb 3, 2026
18a0b75
Fix APDU decoding tool
cedelavergne-ledger Jan 30, 2026
815cd86
Add helper function to get Network name (string) from chain_id
cedelavergne-ledger Jan 27, 2026
b351658
Fix missing compilation flag for Gating
cedelavergne-ledger Feb 5, 2026
4853c3a
deactivate Gating support
cedelavergne-ledger Feb 5, 2026
d539d97
deactivate Gating support - snapshots
cedelavergne-ledger Feb 5, 2026
7bbb37d
Merge pull request #941 from LedgerHQ/cev/deactivate_gating
cedelavergne-ledger Feb 5, 2026
0344e64
Added back the derivation path 45'/* for Ethereum app
apaillier-ledger Feb 5, 2026
8ced1fc
Merge pull request #943 from LedgerHQ/feat/apa/allow_45_path
apaillier-ledger Feb 6, 2026
3691b62
Added TRUSTED_NAME TLV spec
apaillier-ledger Feb 5, 2026
737502a
Added new TrustedName Python serializable class
apaillier-ledger Feb 4, 2026
a25392d
Migrated to using the new TrustedName serializable class
apaillier-ledger Feb 4, 2026
67507d9
Removed old trusted name methods from the Python client
apaillier-ledger Feb 4, 2026
9723196
Removed unused entries in FieldTag enum from the Python client
apaillier-ledger Feb 4, 2026
a277e76
Moved trusted name's NFT ID into an union
apaillier-ledger Feb 4, 2026
3994873
Added an error print to get_public_key
apaillier-ledger Feb 5, 2026
0681168
Added handling of the new owner field in trusted name struct
apaillier-ledger Feb 3, 2026
1c2ca48
Added Ragger tests for the new trusted name field
apaillier-ledger Feb 5, 2026
d4fb82c
Merge pull request #942 from LedgerHQ/fix/apa/mab
apaillier-ledger Feb 6, 2026
c947671
Added more error handling in EIP-712's path_set_root function
apaillier-ledger Feb 6, 2026
41e2af1
Added network field in EIP-712 filtered flow
apaillier-ledger Feb 6, 2026
3faf79b
Updated Ragger tests snapshots
apaillier-ledger Feb 6, 2026
d39bfc6
Merge pull request #944 from LedgerHQ/feat/apa/eip712_show_network
apaillier-ledger Feb 6, 2026
90ce5a8
Add helper function to get current tx chain_id
cedelavergne-ledger Jan 30, 2026
86dd415
Add CHAIN_ID container path
cedelavergne-ledger Jan 26, 2026
2494d77
Add NETWORK formatter
cedelavergne-ledger Jan 27, 2026
58ce008
Add support for field visibility
cedelavergne-ledger Jan 27, 2026
60adec6
Apply visibility to PARAM_TYPE_RAW (uint, addr, bytes)
cedelavergne-ledger Jan 27, 2026
841fb63
Apply visibility to PARAM_TYPE_TRUSTED_NAME (address)
cedelavergne-ledger Jan 30, 2026
aab647a
Fix linter
cedelavergne-ledger Jan 30, 2026
5887077
Update client
cedelavergne-ledger Jan 30, 2026
4ffac91
Add GCS tests
cedelavergne-ledger Jan 30, 2026
e312834
Add new snapshots
cedelavergne-ledger Feb 2, 2026
44cc63a
Update unit-test framework
cedelavergne-ledger Feb 3, 2026
40f5f03
Align fuzzer
cedelavergne-ledger Feb 4, 2026
ea79f77
Merge pull request #935 from LedgerHQ/cev/B2CA-2477_formatters
cedelavergne-ledger Feb 9, 2026
faec7d4
Added check on parameter size in ERC-20 internal plugin
apaillier-ledger Feb 13, 2026
56d9ceb
Added extra checks in EIP7251 internal plugin
apaillier-ledger Feb 13, 2026
a0b95a7
Added extra checks in EIP7002 internal plugin
apaillier-ledger Feb 13, 2026
5a1d6a8
Switched to strnlen in trusted name
apaillier-ledger Feb 13, 2026
b046678
Added extra checks in ETH2 internal plugin
apaillier-ledger Feb 13, 2026
8c8c87e
Fixed potential memory leak in GCS nested calldata
apaillier-ledger Feb 13, 2026
48f7714
Improved RLP elements parsing
apaillier-ledger Feb 13, 2026
9a9918c
Merge pull request #950 from LedgerHQ/fix/apa/security_review
apaillier-ledger Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 19 additions & 7 deletions .clusterfuzzlite/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,29 @@
FROM ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest AS LITE_BUILDER
FROM ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest AS app-builder

# Base image with clang toolchain
FROM gcr.io/oss-fuzz-base/base-builder:v1

# Copy the project's source code.
COPY . $SRC/app-ethereum
COPY --from=LITE_BUILDER /opt/ledger-secure-sdk $SRC/app-ethereum/BOLOS_SDK
# Install additional package dependencies.
RUN pip3 install --break-system-packages --no-cache-dir pillow>=3.4.0
RUN apt update && apt install -y ninja-build zip libbsd-dev pkg-config

# Add the ethereum-plugin-sdk submodule
RUN git clone https://github.com/LedgerHQ/ethereum-plugin-sdk.git $SRC/app-ethereum/ethereum-plugin-sdk
# Copy the project's source code.
COPY . /app
COPY --from=app-builder /opt/flex-secure-sdk /ledger-secure-sdk

# Working directory for build.sh
WORKDIR $SRC/app-ethereum
WORKDIR /app

# Add the ethereum-plugin-sdk submodule (clone only if not exists)
RUN if [ ! -d "/app/ethereum-plugin-sdk/.git" ]; then \
git config --global url."https://github.com/".insteadOf git@github.com: && \
git config --global url."https://".insteadOf git:// && \
(git submodule update --init --recursive || \
git clone https://github.com/LedgerHQ/ethereum-plugin-sdk.git /app/ethereum-plugin-sdk); \
else \
echo "ethereum-plugin-sdk already exists, skipping clone"; \
fi


# Copy build.sh into $SRC dir.
COPY ./.clusterfuzzlite/build.sh $SRC/
23 changes: 20 additions & 3 deletions .clusterfuzzlite/build.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
#!/bin/bash -eu

# build fuzzers
export BOLOS_SDK=/ledger-secure-sdk

# build fuzzers using the docker images.
pushd tests/fuzzing
cmake -DBOLOS_SDK=$(pwd)/../../BOLOS_SDK -B build -S .
cmake -S . -B build -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Debug \
-G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=On \
-DBOLOS_SDK="${BOLOS_SDK}" -DTARGET=flex \
-DAPP_BUILD_PATH=/app

# Generates .zip for initial corpus in clusterFuzz
for dir in harness/*; do
if [ -d "${dir}" ]; then
fuzzer_name=$(basename "${dir}")
zip_name="${fuzzer_name}_seed_corpus.zip"
echo "Zipping corpus from ${dir} into ${zip_name}"

(cd "${dir}" && zip -q -r "${zip_name}" .)

mv "${dir}/${zip_name}" "${OUT}"
fi
done
cmake --build build
mv ./build/fuzzer "${OUT}"
mv ./build/fuzz_* "${OUT}"
popd
18 changes: 18 additions & 0 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Unit testing with Codecov coverage checking

on:
workflow_dispatch:
push:
branches:
- develop
- master
pull_request:

jobs:
job_unit_test:
name: Call Ledger unit_test
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_unit_tests.yml@v1
secrets: inherit
with:
test_directory: tests/unit
additional_packages: pkg-config libbsd-dev
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ __version__.py
tests/fuzzing/corpus/
tests/fuzzing/out/
tests/fuzzing/CMakeFiles/
tests/fuzzing/macros/generated/

default.profraw
default.profdata
fuzz-*.log
Expand All @@ -31,3 +33,6 @@ report.html

# LSP
.cache/

# Doxygen
doxygen/
290 changes: 290 additions & 0 deletions .markdownlint.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,290 @@
// Example markdownlint configuration with all properties set to their default value
{

// Default state for all rules
"default": true,

// Path to configuration file to extend
"extends": null,

// MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md001.md
"MD001": true,

// MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md003.md
"MD003": {
// Heading style
"style": "consistent"
},

// MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md004.md
"MD004": {
// List style
"style": "consistent"
},

// MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md005.md
"MD005": true,

// MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md007.md
"MD007": {
// Spaces for indent
"indent": 2,
// Whether to indent the first level of the list
"start_indented": false,
// Spaces for first level indent (when start_indented is set)
"start_indent": 2
},

// MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md009.md
"MD009": {
// Spaces for line break
"br_spaces": 2,
// Allow spaces for empty lines in list items
"list_item_empty_lines": false,
// Include unnecessary breaks
"strict": false
},

// MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md010.md
"MD010": {
// Include code blocks
"code_blocks": true,
// Fenced code languages to ignore
"ignore_code_languages": [],
// Number of spaces for each hard tab
"spaces_per_tab": 1
},

// MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md011.md
"MD011": true,

// MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md012.md
"MD012": {
// Consecutive blank lines
"maximum": 1
},

// MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md013.md
"MD013": {
// Number of characters
"line_length": 120,
// Number of characters for headings
"heading_line_length": 80,
// Number of characters for code blocks
"code_block_line_length": 80,
// Include code blocks
"code_blocks": false,
// Include tables
"tables": false,
// Include headings
"headings": true,
// Strict length checking
"strict": false,
// Stern length checking
"stern": false
},

// MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md014.md
"MD014": true,

// MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md018.md
"MD018": true,

// MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md019.md
"MD019": true,

// MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md020.md
"MD020": true,

// MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md021.md
"MD021": true,

// MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md022.md
"MD022": {
// Blank lines above heading
"lines_above": 1,
// Blank lines below heading
"lines_below": 1
},

// MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md023.md
"MD023": true,

// MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md024.md
"MD024": {
// Only check sibling headings
"siblings_only": true
},

// MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md025.md
"MD025": {
// Heading level
"level": 1,
// RegExp for matching title in front matter
"front_matter_title": "^\\s*title\\s*[:=]"
},

// MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md026.md
"MD026": {
// Punctuation characters
"punctuation": ".,;:!。,;:!"
},

// MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md027.md
"MD027": true,

// MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md028.md
"MD028": true,

// MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md029.md
"MD029": {
// List style
"style": "one_or_ordered"
},

// MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md030.md
"MD030": {
// Spaces for single-line unordered list items
"ul_single": 1,
// Spaces for single-line ordered list items
"ol_single": 1,
// Spaces for multi-line unordered list items
"ul_multi": 1,
// Spaces for multi-line ordered list items
"ol_multi": 1
},

// MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md031.md
"MD031": {
// Include list items
"list_items": true
},

// MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md032.md
"MD032": true,

// MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md033.md
"MD033": {
// Allowed elements
"allowed_elements": ["br", "div", "img", "details", "summary", "a", "p", "h1", "strong"]
},

// MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md034.md
"MD034": true,

// MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md035.md
"MD035": {
// Horizontal rule style
"style": "consistent"
},

// MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md036.md
"MD036": {
// Punctuation characters
"punctuation": ".,;:!?。,;:!?"
},

// MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md037.md
"MD037": true,

// MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md038.md
"MD038": true,

// MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md039.md
"MD039": true,

// MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md040.md
"MD040": {
// List of languages
"allowed_languages": [],
// Require language only
"language_only": false
},

// MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md041.md
"MD041": false,

// MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md042.md
"MD042": true,

// MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md043.md
"MD043": {
// List of headings
"headings": ["*"],
// Match case of headings
"match_case": false
},

// MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md044.md
"MD044": {
// List of proper names
"names": [],
// Include code blocks
"code_blocks": true,
// Include HTML elements
"html_elements": true
},

// MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md045.md
"MD045": false,

// MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md046.md
"MD046": {
// Block style
"style": "consistent"
},

// MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md047.md
"MD047": true,

// MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md048.md
"MD048": {
// Code fence style
"style": "consistent"
},

// MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md049.md
"MD049": {
// Emphasis style
"style": "consistent"
},

// MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md050.md
"MD050": {
// Strong style
"style": "consistent"
},

// MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md051.md
"MD051": true,

// MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md052.md
"MD052": {
// Include shortcut syntax
"shortcut_syntax": false
},

// MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md053.md
"MD053": {
// Ignored definitions
"ignored_definitions": [
"//"
]
},

// MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md054.md
"MD054": {
// Allow autolinks
"autolink": true,
// Allow inline links and images
"inline": true,
// Allow full reference links and images
"full": true,
// Allow collapsed reference links and images
"collapsed": true,
// Allow shortcut reference links and images
"shortcut": true,
// Allow URLs as inline links
"url_inline": true
}
}
Loading
Loading