btclib-ecc 2026.9.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. btclib_ecc-2026.9.26/.markdownlint.jsonc +62 -0
  2. btclib_ecc-2026.9.26/.pre-commit-config.yaml +742 -0
  3. btclib_ecc-2026.9.26/.python-version +11 -0
  4. btclib_ecc-2026.9.26/.readthedocs.yaml +61 -0
  5. btclib_ecc-2026.9.26/.secrets.baseline +2923 -0
  6. btclib_ecc-2026.9.26/.taplo.toml +27 -0
  7. btclib_ecc-2026.9.26/.yamllint.yaml +75 -0
  8. btclib_ecc-2026.9.26/AUTHORS.md +9 -0
  9. btclib_ecc-2026.9.26/CHANGELOG.md +45 -0
  10. btclib_ecc-2026.9.26/CLAUDE.md +209 -0
  11. btclib_ecc-2026.9.26/CONTRIBUTING.md +838 -0
  12. btclib_ecc-2026.9.26/LICENSE +21 -0
  13. btclib_ecc-2026.9.26/PKG-INFO +188 -0
  14. btclib_ecc-2026.9.26/README.md +146 -0
  15. btclib_ecc-2026.9.26/RELEASE_NOTES.md +17 -0
  16. btclib_ecc-2026.9.26/RELEASING.md +871 -0
  17. btclib_ecc-2026.9.26/REPOSITORY.md +598 -0
  18. btclib_ecc-2026.9.26/REVIEWING.md +485 -0
  19. btclib_ecc-2026.9.26/SECURITY.md +317 -0
  20. btclib_ecc-2026.9.26/docs/source/btclib_ecc.curves.rst +47 -0
  21. btclib_ecc-2026.9.26/docs/source/btclib_ecc.ecc.rst +110 -0
  22. btclib_ecc-2026.9.26/docs/source/btclib_ecc.rst +56 -0
  23. btclib_ecc-2026.9.26/docs/source/changelog_link.md +4 -0
  24. btclib_ecc-2026.9.26/docs/source/conf.py +308 -0
  25. btclib_ecc-2026.9.26/docs/source/contributing_link.md +6 -0
  26. btclib_ecc-2026.9.26/docs/source/index.rst +22 -0
  27. btclib_ecc-2026.9.26/docs/source/modules.rst +7 -0
  28. btclib_ecc-2026.9.26/docs/source/readme_link.md +6 -0
  29. btclib_ecc-2026.9.26/docs/source/release_notes_link.md +4 -0
  30. btclib_ecc-2026.9.26/docs/source/reviewing_link.md +6 -0
  31. btclib_ecc-2026.9.26/docs/source/security_link.md +6 -0
  32. btclib_ecc-2026.9.26/pyproject.toml +343 -0
  33. btclib_ecc-2026.9.26/pyproject.toml.orig +574 -0
  34. btclib_ecc-2026.9.26/src/btclib_ecc/__init__.py +98 -0
  35. btclib_ecc-2026.9.26/src/btclib_ecc/_libsecp256k1.py +142 -0
  36. btclib_ecc-2026.9.26/src/btclib_ecc/_utils.py +418 -0
  37. btclib_ecc-2026.9.26/src/btclib_ecc/alias.py +200 -0
  38. btclib_ecc-2026.9.26/src/btclib_ecc/curves/__init__.py +157 -0
  39. btclib_ecc-2026.9.26/src/btclib_ecc/curves/_data/ec_Brainpool.json +79 -0
  40. btclib_ecc-2026.9.26/src/btclib_ecc/curves/_data/ec_NIST.json +57 -0
  41. btclib_ecc-2026.9.26/src/btclib_ecc/curves/_data/ec_SEC2v1_insecure.json +79 -0
  42. btclib_ecc-2026.9.26/src/btclib_ecc/curves/_data/ec_SEC2v2.json +90 -0
  43. btclib_ecc-2026.9.26/src/btclib_ecc/curves/curve.py +1496 -0
  44. btclib_ecc-2026.9.26/src/btclib_ecc/curves/curve_group.py +1810 -0
  45. btclib_ecc-2026.9.26/src/btclib_ecc/curves/curve_group_2.py +631 -0
  46. btclib_ecc-2026.9.26/src/btclib_ecc/curves/curve_group_f.py +63 -0
  47. btclib_ecc-2026.9.26/src/btclib_ecc/curves/sec_point.py +388 -0
  48. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/__init__.py +98 -0
  49. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/bip340_nonce.py +116 -0
  50. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/borromean.py +829 -0
  51. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/commit_nonce.py +191 -0
  52. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/dh.py +103 -0
  53. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/dleq.py +296 -0
  54. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/dsa.py +2558 -0
  55. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/ecies.py +418 -0
  56. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/ellswift.py +312 -0
  57. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/frost.py +1064 -0
  58. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/musig2.py +1204 -0
  59. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/pedersen.py +548 -0
  60. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/rangeproof.py +1619 -0
  61. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/rfc6979_nonce.py +179 -0
  62. btclib_ecc-2026.9.26/src/btclib_ecc/ecc/ssa.py +1602 -0
  63. btclib_ecc-2026.9.26/src/btclib_ecc/exceptions.py +139 -0
  64. btclib_ecc-2026.9.26/src/btclib_ecc/hashes.py +99 -0
  65. btclib_ecc-2026.9.26/src/btclib_ecc/kdf.py +193 -0
  66. btclib_ecc-2026.9.26/src/btclib_ecc/number_theory.py +433 -0
  67. btclib_ecc-2026.9.26/src/btclib_ecc/py.typed +0 -0
  68. btclib_ecc-2026.9.26/tests/README.md +54 -0
  69. btclib_ecc-2026.9.26/tests/__init__.py +537 -0
  70. btclib_ecc-2026.9.26/tests/_data/README.md +1275 -0
  71. btclib_ecc-2026.9.26/tests/_data/secp256k1_symbols.txt +624 -0
  72. btclib_ecc-2026.9.26/tests/alias_test.py +94 -0
  73. btclib_ecc-2026.9.26/tests/all_test.py +251 -0
  74. btclib_ecc-2026.9.26/tests/bool_contract_test.py +240 -0
  75. btclib_ecc-2026.9.26/tests/bool_parameter_test.py +462 -0
  76. btclib_ecc-2026.9.26/tests/check_validity_test.py +129 -0
  77. btclib_ecc-2026.9.26/tests/conftest.py +405 -0
  78. btclib_ecc-2026.9.26/tests/conftest_test.py +889 -0
  79. btclib_ecc-2026.9.26/tests/conventions_test.py +190 -0
  80. btclib_ecc-2026.9.26/tests/copyright_test.py +92 -0
  81. btclib_ecc-2026.9.26/tests/curve_parameter_test.py +537 -0
  82. btclib_ecc-2026.9.26/tests/curves/__init__.py +5 -0
  83. btclib_ecc-2026.9.26/tests/curves/_data/pubkey.json +1749 -0
  84. btclib_ecc-2026.9.26/tests/curves/curve_group_2_test.py +336 -0
  85. btclib_ecc-2026.9.26/tests/curves/curve_group_f_test.py +85 -0
  86. btclib_ecc-2026.9.26/tests/curves/curve_group_test.py +1092 -0
  87. btclib_ecc-2026.9.26/tests/curves/curve_test.py +1790 -0
  88. btclib_ecc-2026.9.26/tests/curves/sec_point_test.py +403 -0
  89. btclib_ecc-2026.9.26/tests/docs_test.py +133 -0
  90. btclib_ecc-2026.9.26/tests/ecc/__init__.py +5 -0
  91. btclib_ecc-2026.9.26/tests/ecc/_data/WYCHEPROOF_COPYING +202 -0
  92. btclib_ecc-2026.9.26/tests/ecc/_data/bip340_test_vectors.csv +20 -0
  93. btclib_ecc-2026.9.26/tests/ecc/_data/bip445/det_sign_vectors.json +1577 -0
  94. btclib_ecc-2026.9.26/tests/ecc/_data/bip445/nonce_agg_vectors.json +57 -0
  95. btclib_ecc-2026.9.26/tests/ecc/_data/bip445/nonce_gen_vectors.json +74 -0
  96. btclib_ecc-2026.9.26/tests/ecc/_data/bip445/sig_agg_vectors.json +515 -0
  97. btclib_ecc-2026.9.26/tests/ecc/_data/bip445/sign_verify_vectors.json +1581 -0
  98. btclib_ecc-2026.9.26/tests/ecc/_data/bip445/tweak_vectors.json +860 -0
  99. btclib_ecc-2026.9.26/tests/ecc/_data/der_length_vectors.json +30 -0
  100. btclib_ecc-2026.9.26/tests/ecc/_data/det_sign_vectors.json +144 -0
  101. btclib_ecc-2026.9.26/tests/ecc/_data/ecdh_secp256k1_test.json +8448 -0
  102. btclib_ecc-2026.9.26/tests/ecc/_data/ecdh_secp256k1_webcrypto_test.json +11978 -0
  103. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_custom_nonce_sig.json +1198 -0
  104. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha256_bitcoin_test.json +6755 -0
  105. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha256_p1363_test.json +5500 -0
  106. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha256_test.json +7081 -0
  107. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha3_256_test.json +6881 -0
  108. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha3_512_test.json +7545 -0
  109. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha512_p1363_test.json +6204 -0
  110. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_sha512_test.json +7785 -0
  111. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_shake128_p1363_test.json +5280 -0
  112. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_shake128_test.json +6861 -0
  113. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_shake256_p1363_test.json +5984 -0
  114. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_secp256k1_shake256_test.json +7565 -0
  115. btclib_ecc-2026.9.26/tests/ecc/_data/ecdsa_sig.json +999 -0
  116. btclib_ecc-2026.9.26/tests/ecc/_data/ellswift_decode_test_vectors.csv +77 -0
  117. btclib_ecc-2026.9.26/tests/ecc/_data/key_agg_vectors.json +88 -0
  118. btclib_ecc-2026.9.26/tests/ecc/_data/key_sort_vectors.json +18 -0
  119. btclib_ecc-2026.9.26/tests/ecc/_data/nonce_agg_vectors.json +51 -0
  120. btclib_ecc-2026.9.26/tests/ecc/_data/nonce_gen_vectors.json +44 -0
  121. btclib_ecc-2026.9.26/tests/ecc/_data/rfc6979.json +512 -0
  122. btclib_ecc-2026.9.26/tests/ecc/_data/sig_agg_vectors.json +152 -0
  123. btclib_ecc-2026.9.26/tests/ecc/_data/sign_verify_vectors.json +212 -0
  124. btclib_ecc-2026.9.26/tests/ecc/_data/test_vectors_generate_proof.csv +12 -0
  125. btclib_ecc-2026.9.26/tests/ecc/_data/test_vectors_verify_proof.csv +18 -0
  126. btclib_ecc-2026.9.26/tests/ecc/_data/tweak_vectors.json +84 -0
  127. btclib_ecc-2026.9.26/tests/ecc/_data/xswiftec_inv_test_vectors.csv +33 -0
  128. btclib_ecc-2026.9.26/tests/ecc/_data/zkp_generator_vectors.json +402 -0
  129. btclib_ecc-2026.9.26/tests/ecc/_data/zkp_rangeproof_fixed_vectors.json +72 -0
  130. btclib_ecc-2026.9.26/tests/ecc/_data/zkp_rangeproof_vectors.json +106 -0
  131. btclib_ecc-2026.9.26/tests/ecc/borromean_test.py +932 -0
  132. btclib_ecc-2026.9.26/tests/ecc/commit_nonce_test.py +514 -0
  133. btclib_ecc-2026.9.26/tests/ecc/der_test.py +386 -0
  134. btclib_ecc-2026.9.26/tests/ecc/dh_test.py +199 -0
  135. btclib_ecc-2026.9.26/tests/ecc/dleq_test.py +263 -0
  136. btclib_ecc-2026.9.26/tests/ecc/dsa_anti_exfil_test.py +240 -0
  137. btclib_ecc-2026.9.26/tests/ecc/dsa_test.py +2694 -0
  138. btclib_ecc-2026.9.26/tests/ecc/ecies_test.py +503 -0
  139. btclib_ecc-2026.9.26/tests/ecc/ellswift_test.py +222 -0
  140. btclib_ecc-2026.9.26/tests/ecc/frost_test.py +1095 -0
  141. btclib_ecc-2026.9.26/tests/ecc/musig2_test.py +1367 -0
  142. btclib_ecc-2026.9.26/tests/ecc/pedersen_test.py +862 -0
  143. btclib_ecc-2026.9.26/tests/ecc/rangeproof_fixed_vectors_test.py +254 -0
  144. btclib_ecc-2026.9.26/tests/ecc/rangeproof_test.py +2264 -0
  145. btclib_ecc-2026.9.26/tests/ecc/rfc6979_test.py +409 -0
  146. btclib_ecc-2026.9.26/tests/ecc/ssa_anti_exfil_test.py +159 -0
  147. btclib_ecc-2026.9.26/tests/ecc/ssa_test.py +1858 -0
  148. btclib_ecc-2026.9.26/tests/ecc/wycheproof_test.py +645 -0
  149. btclib_ecc-2026.9.26/tests/exceptions_test.py +234 -0
  150. btclib_ecc-2026.9.26/tests/fuzz_test.py +222 -0
  151. btclib_ecc-2026.9.26/tests/hashes_test.py +38 -0
  152. btclib_ecc-2026.9.26/tests/imports_test.py +246 -0
  153. btclib_ecc-2026.9.26/tests/init_test.py +48 -0
  154. btclib_ecc-2026.9.26/tests/input_validation_test.py +305 -0
  155. btclib_ecc-2026.9.26/tests/integer_policy_test.py +263 -0
  156. btclib_ecc-2026.9.26/tests/kdf_test.py +364 -0
  157. btclib_ecc-2026.9.26/tests/keyword_only_test.py +234 -0
  158. btclib_ecc-2026.9.26/tests/name_contract_test.py +285 -0
  159. btclib_ecc-2026.9.26/tests/no_bindings_test.py +392 -0
  160. btclib_ecc-2026.9.26/tests/number_theory_test.py +506 -0
  161. btclib_ecc-2026.9.26/tests/parse_contract_test.py +197 -0
  162. btclib_ecc-2026.9.26/tests/private_defaults_test.py +205 -0
  163. btclib_ecc-2026.9.26/tests/py_arm_authority_test.py +345 -0
  164. btclib_ecc-2026.9.26/tests/pyproject_test.py +27 -0
  165. btclib_ecc-2026.9.26/tests/release_notes_test.py +62 -0
  166. btclib_ecc-2026.9.26/tests/security_citations_test.py +370 -0
  167. btclib_ecc-2026.9.26/tests/serialization_boundary_test.py +263 -0
  168. btclib_ecc-2026.9.26/tests/source_exclude_test.py +136 -0
  169. btclib_ecc-2026.9.26/tests/upstream_symbols_test.py +539 -0
  170. btclib_ecc-2026.9.26/tests/utils_test.py +281 -0
  171. btclib_ecc-2026.9.26/tests/vendored_data_test.py +440 -0
  172. btclib_ecc-2026.9.26/uv.lock +3110 -0
@@ -0,0 +1,62 @@
1
+ {
2
+ // rules https://github.com/DavidAnson/markdownlint
3
+
4
+ // See https://github.com/DavidAnson/markdownlint-cli2 and
5
+ // https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.jsonc
6
+
7
+ // To locally disable a single error, e.g. MD013:
8
+ // <!-- markdownlint-disable MD013 -->
9
+ // and after the offending block
10
+ // <!-- markdownlint-enable MD013 -->
11
+
12
+ // This file is the same in every repository of the organization,
13
+ // deliberately: prose moves between the trees, and a paragraph that
14
+ // lints in one has to lint in the others. Section 14 of the
15
+ // organization standard, btclib-org/.github's README.md, is what says
16
+ // so, and tests/verbatim_test.py there is what compares the copies. No
17
+ // rule is disabled here -- what follows only names a style where
18
+ // markdownlint's default is "consistent", which asks each file to agree
19
+ // with itself and therefore lets two files disagree. That is what let
20
+ // an indented block pass in one repository and fail in another.
21
+ //
22
+ // A rule that only one file needs is not here: bitcoin-core-rpc's
23
+ // CHANGELOG.md repeats "### Added" under every release, which is what
24
+ // MD024 exists to catch and what its own `siblings_only` setting is for
25
+ // -- but the other files, in every repository, have no such repeat, and
26
+ // a per-file exception belongs in that file's own
27
+ // `markdownlint-configure-file` comment rather than in a shared config
28
+ // read by files that never trip the rule it relaxes.
29
+
30
+ // MD003/heading-style - ATX, the "## Heading" spelling, everywhere
31
+ "MD003": { "style": "atx" },
32
+
33
+ // MD004/ul-style - a dash, which is what every list here already uses
34
+ "MD004": { "style": "dash" },
35
+
36
+ // MD007/ul-indent - Unordered list indentation
37
+ "MD007": {
38
+ // Spaces for indent
39
+ "indent": 4,
40
+ },
41
+
42
+ // MD029/ol-prefix - every item numbered "1.", the renderer numbering
43
+ // them: inserting a step into a release procedure then touches one line
44
+ // rather than renumbering every line below it
45
+ "MD029": { "style": "one" },
46
+
47
+ // MD035/hr-style - one spelling of the thematic break
48
+ "MD035": { "style": "---" },
49
+
50
+ // MD046/code-block-style - fenced, so a block can say which language it
51
+ // is in and the renderer can highlight it; an indented block cannot
52
+ "MD046": { "style": "fenced" },
53
+
54
+ // MD048/code-fence-style - backticks, tildes being for fencing a block
55
+ // that itself contains backticks, which nothing here does
56
+ "MD048": { "style": "backtick" },
57
+
58
+ // MD049/MD050 - asterisks for both, so that *emphasis* and **strong**
59
+ // are told apart by how many rather than by which character
60
+ "MD049": { "style": "asterisk" },
61
+ "MD050": { "style": "asterisk" },
62
+ }