orangecheck 2.3.0__tar.gz → 2.3.1__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.
- {orangecheck-2.3.0 → orangecheck-2.3.1}/CHANGELOG.md +11 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/PKG-INFO +1 -1
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/__init__.py +1 -1
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/verify_sig.py +11 -2
- {orangecheck-2.3.0 → orangecheck-2.3.1}/pyproject.toml +1 -1
- orangecheck-2.3.1/tests/fixtures/bip322-official-basic.json +137 -0
- orangecheck-2.3.1/tests/fixtures/bip322-official-generated.json +551 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/pledge/test_vectors.py +2 -5
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/pledge/test_wrap.py +5 -1
- orangecheck-2.3.1/tests/test_bip322_official.py +52 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/.gitignore +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/README.md +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/__main__.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/bond.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/canonical.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/client.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/errors.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/integrator.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/__init__.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/bond.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/canonical.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/delegation.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/envelopes.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/resolution.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/pledge/state.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/py.typed +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/top_level.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/orangecheck/types.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/pledge/__init__.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/pledge/test_authority.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/pledge/test_delegation.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/test_bond_address.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/test_client.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/test_client_failure_modes.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/test_conformance.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/test_integrator_vectors.py +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/index.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv01.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv02.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv03.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv04.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv05.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv06.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv07.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv08.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv09.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv10.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv11.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv12.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv13.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv14.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv15.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv16.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv17.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv18.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv19.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv20.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv21.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv22.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv23.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv24.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv25.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv26.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv27.json +0 -0
- {orangecheck-2.3.0 → orangecheck-2.3.1}/tests/vectors/tv28.json +0 -0
|
@@ -4,6 +4,17 @@ All notable changes to the **`orangecheck`** Python package. Follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [2.3.1] — 2026-10-21
|
|
8
|
+
|
|
9
|
+
### Fixed — signatures from wallets that follow the finalized BIP-322
|
|
10
|
+
|
|
11
|
+
- `verify_bip322_signature` accepts a simple signature with the `smp` prefix
|
|
12
|
+
the finalized BIP-322 requires of signers, as well as without it. Before,
|
|
13
|
+
every prefixed signature returned `False`. A `ful` or `pof` signature is not
|
|
14
|
+
supported and returns `False`, as in `@orangecheck/bip322` 1.1.
|
|
15
|
+
- Tests run the BIP's official vectors (bitcoin/bips `d77863fb9e9b`), the same
|
|
16
|
+
files the TypeScript package uses.
|
|
17
|
+
|
|
7
18
|
## [2.3.0] — 2026-10-20
|
|
8
19
|
|
|
9
20
|
For a site that signs people in with ochk.app and runs a Python backend.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: orangecheck
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
4
|
Summary: Python SDK for OrangeCheck — proof of Bitcoin stake, the OC Pledge primitive, and ochk.app sign-in for your backend.
|
|
5
5
|
Project-URL: Homepage, https://ochk.io
|
|
6
6
|
Project-URL: Documentation, https://ochk.io/docs
|
|
@@ -133,7 +133,7 @@ __all__ = [
|
|
|
133
133
|
"VerificationError",
|
|
134
134
|
]
|
|
135
135
|
|
|
136
|
-
__version__ = "2.3.
|
|
136
|
+
__version__ = "2.3.1"
|
|
137
137
|
|
|
138
138
|
# OC Pledge submodule — sibling primitive for forward-looking commitments
|
|
139
139
|
# bound to a Bitcoin address. Imported here so consumers can write:
|
|
@@ -11,6 +11,10 @@ convention.
|
|
|
11
11
|
when ``signature`` is a valid BIP-322 simple signature over ``message``
|
|
12
12
|
for ``address``, ``False`` otherwise. Never raises for cryptographic
|
|
13
13
|
failures — only for a missing optional dependency (at import time).
|
|
14
|
+
|
|
15
|
+
The finalized BIP-322 prefixes a simple signature with ``smp``; it is
|
|
16
|
+
accepted with or without the prefix, as ``@orangecheck/bip322`` 1.1 does.
|
|
17
|
+
A ``ful`` or ``pof`` signature is not supported and returns ``False``.
|
|
14
18
|
"""
|
|
15
19
|
|
|
16
20
|
from __future__ import annotations
|
|
@@ -38,14 +42,19 @@ def verify_bip322_signature(address: str, message: str, signature: str) -> bool:
|
|
|
38
42
|
attestations this is the canonical message produced by
|
|
39
43
|
``build_canonical_message``.
|
|
40
44
|
signature:
|
|
41
|
-
Base64-encoded BIP-322 "simple" signature
|
|
42
|
-
|
|
45
|
+
Base64-encoded BIP-322 "simple" signature, with or without the
|
|
46
|
+
finalized BIP's ``smp`` prefix. Hex is NOT accepted — normalize to
|
|
47
|
+
base64 before calling.
|
|
43
48
|
|
|
44
49
|
Returns
|
|
45
50
|
-------
|
|
46
51
|
True if the signature verifies; False otherwise. Never raises for
|
|
47
52
|
invalid / malformed signatures.
|
|
48
53
|
"""
|
|
54
|
+
if signature.startswith(("ful", "pof")):
|
|
55
|
+
return False
|
|
56
|
+
if signature.startswith("smp"):
|
|
57
|
+
signature = signature[3:]
|
|
49
58
|
try:
|
|
50
59
|
_bip322.verify_simple_encoded(address, message, signature)
|
|
51
60
|
except _bip322.VerificationError:
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "orangecheck"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.1"
|
|
8
8
|
description = "Python SDK for OrangeCheck — proof of Bitcoin stake, the OC Pledge primitive, and ochk.app sign-in for your backend."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tx_hashes": [
|
|
3
|
+
{
|
|
4
|
+
"message": "",
|
|
5
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
6
|
+
"message_hash": "c90c269c4f8fcbe6880f72a721ddfbf1914268a794cbb21cfafee13770ae19f1",
|
|
7
|
+
"to_spend_tx_hash": "c5680aa69bb8d860bf82d4e9cd3504b55dde018de765a91bb566283c545a99a7",
|
|
8
|
+
"to_sign_tx_hash": "1e9654e951a5ba44c8604c4de6c67fd78a27e81dcadcfe1edf638ba3aaebaed6"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"message": "Hello World",
|
|
12
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
13
|
+
"message_hash": "f0eb03b1a75ac6d9847f55c624a99169b5dccba2a31f5b23bea77ba270de0a7a",
|
|
14
|
+
"to_spend_tx_hash": "b79d196740ad5217771c1098fc4a4b51e0535c32236c71f1ea4d61a2d603352b",
|
|
15
|
+
"to_sign_tx_hash": "88737ae86f2077145f93cc4b153ae9a1cb8d56afa511988c149c5c8c9d93bddf"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"message": "UTF-8 support: öäüéàè 测试文本 \uD83D\uDE04",
|
|
19
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
20
|
+
"message_hash": "43936b237ea38c7794eb5d755e0d220b6db92ebfc5c8f482759d22b1286376d7",
|
|
21
|
+
"to_spend_tx_hash": "c8f4f525fe8afb1bc09b44175bd2096f079c98425e8a1be676b712add1fb62f0",
|
|
22
|
+
"to_sign_tx_hash": "8f488e06b89eafd019ec528109eafaf7f1d1811fd617aa1eeb9658f1c1be6586"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"simple": [
|
|
26
|
+
{
|
|
27
|
+
"message": "",
|
|
28
|
+
"private_keys": [
|
|
29
|
+
"L3VFeEujGtevx9w18HD1fhRbCH67Az2dpCymeRE1SoPK6XQtaN2k"
|
|
30
|
+
],
|
|
31
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
32
|
+
"type": "p2wpkh",
|
|
33
|
+
"witness_script": "",
|
|
34
|
+
"bip322_signatures": [
|
|
35
|
+
"smpAkcwRAIgM2gBAQqvZX15ZiysmKmQpDrG83avLIT492QBzLnQIxYCIBaTpOaD20qRlEylyxFSeEA2ba9YOixpX8z46TSDtS40ASECx/EgAxlkQpQ9hYjgGu6EBCPMVPwVIVJqO4XCsMvViHI=",
|
|
36
|
+
"smpAkgwRQIhAPkJ1Q4oYS0htvyuSFHLxRQpFAY56b70UvE7Dxazen0ZAiAtZfFz1S6T6I23MWI2lK/pcNTWncuyL8UL+oMdydVgzAEhAsfxIAMZZEKUPYWI4BruhAQjzFT8FSFSajuFwrDL1Yhy"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"message": "Hello World",
|
|
41
|
+
"private_keys": [
|
|
42
|
+
"L3VFeEujGtevx9w18HD1fhRbCH67Az2dpCymeRE1SoPK6XQtaN2k"
|
|
43
|
+
],
|
|
44
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
45
|
+
"type": "p2wpkh",
|
|
46
|
+
"witness_script": "",
|
|
47
|
+
"bip322_signatures": [
|
|
48
|
+
"smpAkcwRAIgZRfIY3p7/DoVTty6YZbWS71bc5Vct9p9Fia83eRmw2QCICK/ENGfwLtptFluMGs2KsqoNSk89pO7F29zJLUx9a/sASECx/EgAxlkQpQ9hYjgGu6EBCPMVPwVIVJqO4XCsMvViHI=",
|
|
49
|
+
"smpAkgwRQIhAOzyynlqt93lOKJr+wmmxIens//zPzl9tqIOua93wO6MAiBi5n5EyAcPScOjf1lAqIUIQtr3zKNeavYabHyR8eGhowEhAsfxIAMZZEKUPYWI4BruhAQjzFT8FSFSajuFwrDL1Yhy"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"message": "This will be a p2wsh 3-of-3 multisig BIP 322 signed message",
|
|
54
|
+
"private_keys": [
|
|
55
|
+
"L4DksdGZ4KQJfcLHD5Dv25fu8Rxyv7hHi2RjZR4TYzr8c6h9VNrp",
|
|
56
|
+
"KzSRqnCVwjzY8id2X5oHEJWXkSHwKUYaAXusjwgkES8BuQPJnPNu",
|
|
57
|
+
"L1zt9Rw7HrU7jaguMbVzhiX8ffuVkmMis5wLHddXYuHWYf8u8uRj"
|
|
58
|
+
],
|
|
59
|
+
"address": "bc1qp0ahvfh83088w49k405szqgg4f3pptr7p2g06tdxfjcd40z4lh4q95lsz9",
|
|
60
|
+
"type": "p2wsh-multisig-3of3",
|
|
61
|
+
"witness_script": "5321027568b11f122ff8a7bc1c57e5c7642055bc618967b2f7bfe8e11fe99903c94dd321020a8bdf79cfa421d9655e9282800f115ff1d9db1e721ceb4248a3fcfec7faa67c21030c529e0ea40a00975d202624e39915daf7bdd2b71f31aa08596838781ce5f33a53ae",
|
|
62
|
+
"bip322_signatures": [
|
|
63
|
+
"smpBQBHMEQCIFX9aaqPJWq2Ff2kpen5bFDTid+ehgUOpHV0LfjncXy4AiA3GNicF7aKPzdpa9PCpmaYQs3pHd+qbvvhXdxOCKCAMAFIMEUCIQD/ELXg6CNYyUQijCg96JtgvgjZb9dsl1Ctof4QAeyTcQIgVM/1AAblFl/DCt6A1gJg+T/i2qU5SQD09+chFJzolRwBSDBFAiEAlqRfSFyWNVQhvaCnmeV5tyneiCWMTcFbuujoD/pFa3wCIGnZjfQb8NolSYq9asV+ZeBSkCGHJcqnaV4JYS5MYPEGAWlTIQJ1aLEfEi/4p7wcV+XHZCBVvGGJZ7L3v+jhH+mZA8lN0yECCovfec+kIdllXpKCgA8RX/HZ2x5yHOtCSKP8/sf6pnwhAwxSng6kCgCXXSAmJOOZFdr3vdK3HzGqCFloOHgc5fM6U64="
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"message": "No prefix fallback",
|
|
68
|
+
"private_keys": [
|
|
69
|
+
"KyrSGCFPhqZMjCe5fNTYddiLMp4tMj4gLKuJ26TsB2rvr1VJGPbt"
|
|
70
|
+
],
|
|
71
|
+
"address": "bc1pss0zhytly75awhm6x2hhvd5lnzv3vssgrf9axfheq8ldyzn88ges79fler",
|
|
72
|
+
"type": "p2tr",
|
|
73
|
+
"witness_script": "",
|
|
74
|
+
"bip322_signatures": [
|
|
75
|
+
"AUCJYOwOjxYAvatTAGYaVlNXBVyFuc4MwNQkOuK2tl8xhfKDONd0NjfYyNSYcRqeCp8hsAnCEPHAVEkO9h6vbQ/R"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"error": [
|
|
80
|
+
{
|
|
81
|
+
"description": "invalid base64 encoding",
|
|
82
|
+
"message": "",
|
|
83
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
84
|
+
"signature": "not-valid-base64!!!",
|
|
85
|
+
"error_substr": "base64"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"description": "empty signature",
|
|
89
|
+
"message": "",
|
|
90
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
91
|
+
"signature": "",
|
|
92
|
+
"error_substr": "signature too short"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"description": "wrong message for valid simple p2wpkh signature (empty message was signed)",
|
|
96
|
+
"message": "Wrong message that was not signed",
|
|
97
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
98
|
+
"signature": "smpAkcwRAIgM2gBAQqvZX15ZiysmKmQpDrG83avLIT492QBzLnQIxYCIBaTpOaD20qRlEylyxFSeEA2ba9YOixpX8z46TSDtS40ASECx/EgAxlkQpQ9hYjgGu6EBCPMVPwVIVJqO4XCsMvViHI=",
|
|
99
|
+
"error_substr": "invalid signature"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"description": "wrong address for valid simple p2wpkh signature (signed for different address)",
|
|
103
|
+
"message": "",
|
|
104
|
+
"address": "bc1qp0ahvfh83088w49k405szqgg4f3pptr7p2g06tdxfjcd40z4lh4q95lsz9",
|
|
105
|
+
"signature": "smpAkcwRAIgM2gBAQqvZX15ZiysmKmQpDrG83avLIT492QBzLnQIxYCIBaTpOaD20qRlEylyxFSeEA2ba9YOixpX8z46TSDtS40ASECx/EgAxlkQpQ9hYjgGu6EBCPMVPwVIVJqO4XCsMvViHI=",
|
|
106
|
+
"error_substr": "invalid signature"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"description": "empty witness stack (single zero byte)",
|
|
110
|
+
"message": "",
|
|
111
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
112
|
+
"signature": "smpAA==",
|
|
113
|
+
"error_substr": "invalid signature"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"description": "wrong message for valid simple p2wsh 3-of-3 multisig signature",
|
|
117
|
+
"message": "This is not the message that was signed",
|
|
118
|
+
"address": "bc1qp0ahvfh83088w49k405szqgg4f3pptr7p2g06tdxfjcd40z4lh4q95lsz9",
|
|
119
|
+
"signature": "smpBQBHMEQCIFX9aaqPJWq2Ff2kpen5bFDTid+ehgUOpHV0LfjncXy4AiA3GNicF7aKPzdpa9PCpmaYQs3pHd+qbvvhXdxOCKCAMAFIMEUCIQD/ELXg6CNYyUQijCg96JtgvgjZb9dsl1Ctof4QAeyTcQIgVM/1AAblFl/DCt6A1gJg+T/i2qU5SQD09+chFJzolRwBSDBFAiEAlqRfSFyWNVQhvaCnmeV5tyneiCWMTcFbuujoD/pFa3wCIGnZjfQb8NolSYq9asV+ZeBSkCGHJcqnaV4JYS5MYPEGAWlTIQJ1aLEfEi/4p7wcV+XHZCBVvGGJZ7L3v+jhH+mZA8lN0yECCovfec+kIdllXpKCgA8RX/HZ2x5yHOtCSKP8/sf6pnwhAwxSng6kCgCXXSAmJOOZFdr3vdK3HzGqCFloOHgc5fM6U64=",
|
|
120
|
+
"error_substr": "invalid signature"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"description": "invalid signature prefix",
|
|
124
|
+
"message": "",
|
|
125
|
+
"address": "bc1q9vza2e8x573nczrlzms0wvx3gsqjx7vavgkx0l",
|
|
126
|
+
"signature": "fooAA==",
|
|
127
|
+
"error_substr": "error decoding signature as base64"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"description": "incorrect prefix type",
|
|
131
|
+
"message": "incorrect prefix",
|
|
132
|
+
"address": "bc1pyrgrm6cu6n54jrvkdjd9rvyd3xfyu84s2623awu2srn6mxhscwpsm5644w",
|
|
133
|
+
"signature": "fulAUDZwFXUp+adN+/UZj5dVrGAbB3zKs1Vcalz5fCF9srxS63eSWNGvH1NYbrBkPt1BJDUyWUz9zgUxfc63/QheT6M",
|
|
134
|
+
"error_substr": "error parsing signature as full variant"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
{
|
|
2
|
+
"simple": [
|
|
3
|
+
{
|
|
4
|
+
"message": "2V6TUTMSH4VQ3Z7WZWKYD7DFNH",
|
|
5
|
+
"private_keys": [
|
|
6
|
+
"KySmn2yeCukjHXnSu3M6vX7tNok4weu1FKbNEuVvm2b3ZidKhB4L"
|
|
7
|
+
],
|
|
8
|
+
"address": "bc1qqthe0hz8klx90e7stf6shclhsvqd5ly96pn53v",
|
|
9
|
+
"type": "p2wpkh",
|
|
10
|
+
"witness_script": "",
|
|
11
|
+
"bip322_signatures": [
|
|
12
|
+
"smpAkgwRQIhALC6hdfxNy1n45d7UXSskRBdfZW0Al259E1kDMpipdYkAiAJPfZqb+WurZuf1apU5xeE6Igui9dvt5tihQLDvxlY1AEhAqbnruyo677ktQjio7XOchO3w51Dh9AbRVngha5jtNfT"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"message": "PURVOQ544B6HUATVBJZN5EZJUU",
|
|
17
|
+
"private_keys": [
|
|
18
|
+
"L5XqN6ckPPsDiTbRxcsthwiWpDBfWLo4uquUEydsPt8rSMoTpqpc"
|
|
19
|
+
],
|
|
20
|
+
"address": "bc1pcquvhrqv0q68t4m0hfq6tpn006qrskyc7yrqnp2uyrf2emg3wynsdjyk38",
|
|
21
|
+
"type": "p2tr",
|
|
22
|
+
"witness_script": "",
|
|
23
|
+
"bip322_signatures": [
|
|
24
|
+
"smpAUB6B2Rbupzua8LTQIF06516wzl+cwKy1be8RgoiW0riyXdKwe6GTz/5Hnb37m67pJwIKCh+D5jDueG6KpvYpmu8"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"message": "G7ZTXXOVJFHGDD6XYJAGBAMT5A",
|
|
29
|
+
"private_keys": [
|
|
30
|
+
"L1jKMveHa8DnPfPVcVsz5r5FHe3D6KdPyBiQSND14uGyMMc8mAcK",
|
|
31
|
+
"L3P5FL8vCZLyDYrHekomd76KTFb7dnXiiLHc1dhs4CfKKTa5BSRd"
|
|
32
|
+
],
|
|
33
|
+
"address": "bc1qw6g0rgrpuxvj4edkwtvzpmt3c5m08mhp8nuk3mrk4erufvlczp5ssdscjd",
|
|
34
|
+
"type": "p2wsh-multisig-2of2",
|
|
35
|
+
"witness_script": "5221036cbbf3b066eac7bc9328889a120269821cba2a21ce566e587eade93eeeb84048210281856452ca5e031c117cceafe0644184dfe01b14dfa4fa99b8e9412186714c9652ae",
|
|
36
|
+
"bip322_signatures": [
|
|
37
|
+
"smpBABIMEUCIQCKl1f9Cj26k0fFWE48+O4ibhYJYPytbDZWJRaaG9BybwIgCbk+3BViWkpuu2RI+41dwtlQ/m/01G860pTFCzDFfokBSDBFAiEA0O77DJsaM7IO+Ht06sp3umzXB64CNNOwf2isZuPfdmwCIGlggOwRSkXsqlPhE1gMdd5hf7ycL33Orfrr4v/XnMGSAUdSIQNsu/OwZurHvJMoiJoSAmmCHLoqIc5Wblh+rek+7rhASCECgYVkUspeAxwRfM6v4GRBhN/gGxTfpPqZuOlBIYZxTJZSrg=="
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"message": "Z3SB7SRL555ZGOHVMYT5WG7RIZ",
|
|
42
|
+
"private_keys": [
|
|
43
|
+
"L3QqMaMh8XnkLFGe8gAL4J1ko1froHUzFAJBxy4u5QPNf8Cp36if",
|
|
44
|
+
"L1j2AddkFs9aKz6tCPd99CaYHUVmqVZHt1HHESWajvFsQeTobyJi",
|
|
45
|
+
"KwEoVwAeuWQBiRhp76wD6siaxkj3rCrjHeG2xRMLtngbZbq8w88a"
|
|
46
|
+
],
|
|
47
|
+
"address": "bc1qazhmhwl9sxgjmwnd96hh926s3x5l0cf64yy6hvyn6qms438x550qy5sgva",
|
|
48
|
+
"type": "p2wsh-multisig-3of3",
|
|
49
|
+
"witness_script": "532102a8d34dd98e3f4983f913eec380edc4dd20a9b3b2b218040b8f77d863f0566e1c2102e8175a94cb706e3731daf26355e96fec1266974ad8ed0e737be3d67a7ead6f9b21032b697ab95806cebdb5b9fceadde920da97cb4373b6d2992a2e98f17f944905da53ae",
|
|
50
|
+
"bip322_signatures": [
|
|
51
|
+
"smpBQBHMEQCICNI6H6b+VCZV9Z2H6EW5hPrE1buC6SJuy2ljSNmQlGfAiASbm5UrA8KH6TwF6evx7COV+i27ubiq2v9TyLYPOO63gFIMEUCIQCMOFnJbg0sy88G6wUXjv5stjVgfvAokOogWsisdkAnlAIgETfBw7kJhISFu9vIomFcEF/1NsN6c0h3KjNcpmNAZtMBSDBFAiEA/lUU+wBeA3prt8vHRpcQN763OYZ8L61DfN0QI/gkHpMCIB2qHwgoXNTH0sdqeAMD2ah7dSTie2bflax3Q3I/GibQAWlTIQKo003Zjj9Jg/kT7sOA7cTdIKmzsrIYBAuPd9hj8FZuHCEC6BdalMtwbjcx2vJjVelv7BJml0rY7Q5ze+PWen6tb5shAytperlYBs69tbn86t3pINqXy0NzttKZKi6Y8X+USQXaU64="
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"full": [
|
|
56
|
+
{
|
|
57
|
+
"message": "MOISC5NCQ42ADH2SUXLELUJOWH",
|
|
58
|
+
"private_keys": [
|
|
59
|
+
"L2yn1ozY4azVxNzF2TLzGhmWQXnR2hoCZG5hCppQ4oxLtnq2CpM7"
|
|
60
|
+
],
|
|
61
|
+
"address": "13vU5PUSuArDXJdCWZvUFEbgJ2wcmtSJWn",
|
|
62
|
+
"type": "p2pkh",
|
|
63
|
+
"witness_script": "",
|
|
64
|
+
"bip322_signatures": [
|
|
65
|
+
"fulAgAAAAGn3Z6t/gsHNyHdgZTOVro0Hej+qbd/ilU1ACalKoHX3gAAAABqRzBEAiB+8t/tm8Jm6zYv9JGZZVlAUjmqg7ZglIA39U+bim8EKQIgDv3E5cHOagN+xYgN3ZQjTYlAJp/WyslwJWuFP1TmM3IBIQJcPK2h9SY+Ki1oussvHnMdFAhJgsYBFPl+rNcMv9P1ROAHAAABAAAAAAAAAAABauAHAAA="
|
|
66
|
+
],
|
|
67
|
+
"sig_script": "",
|
|
68
|
+
"tx_version": 2,
|
|
69
|
+
"lock_time": 2016,
|
|
70
|
+
"sequence": 2016
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"message": "KLE5MMJBTNF4AVZXIO3GIL5UWF",
|
|
74
|
+
"private_keys": [
|
|
75
|
+
"L35XkdYZZ9u9hj6hqDzc3iuRGGXx1GhmaMMr6sVAMMrd4AKBkhUp"
|
|
76
|
+
],
|
|
77
|
+
"address": "bc1qrqtlzcq86850yzgsyq9sssawx2qxlx5yq3xpkd",
|
|
78
|
+
"type": "p2wpkh",
|
|
79
|
+
"witness_script": "",
|
|
80
|
+
"bip322_signatures": [
|
|
81
|
+
"fulAgAAAAABAUrfzHHOLAKmgCIFSTT3krp+cQxj1BDPBN4GBg3tRmFXAAAAAADgBwAAAQAAAAAAAAAAAWoCSDBFAiEAjYj85zyhQKa9DbMO0reDwdhkNwKJkF3q2qFcijXDgMUCIAaQ75s3fwqrCeYIUJugLvhxZFxQIVquGN90vIKCW3QLASEDMurnDzvc0zABUwVwCADfGXoDx/M3SQnYt7e3IHDoU3PgBwAA"
|
|
82
|
+
],
|
|
83
|
+
"sig_script": "",
|
|
84
|
+
"tx_version": 2,
|
|
85
|
+
"lock_time": 2016,
|
|
86
|
+
"sequence": 2016
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"message": "XQMVC3YR6AOGZIHLSUQ2NSSBI2",
|
|
90
|
+
"private_keys": [
|
|
91
|
+
"L5CuoheLtRPk2uVtg2Ph55QpJ3Q5yvsM3hm3ThuGdCuBwA1KS6ua"
|
|
92
|
+
],
|
|
93
|
+
"address": "bc1pve87s3l2levjmhetzr2f9xvep3y266xty0hnefmyv8tkxc3e4qssll2kdu",
|
|
94
|
+
"type": "p2tr",
|
|
95
|
+
"witness_script": "",
|
|
96
|
+
"bip322_signatures": [
|
|
97
|
+
"fulAgAAAAABAROFPNY6Zt8hFK0YQq5Wb6wk/CnUYEPtQ0HTHDyzNROrAAAAAADgBwAAAQAAAAAAAAAAAWoBQNRdLOo5XZY0SBqAsLZNr/z3Bqrmo3OxVn7e4tD/OOD4H9U/L1unq5Nmdz+S1w7SHtt46bFwnd8xnRVan8BofFfgBwAA"
|
|
98
|
+
],
|
|
99
|
+
"sig_script": "",
|
|
100
|
+
"tx_version": 2,
|
|
101
|
+
"lock_time": 2016,
|
|
102
|
+
"sequence": 2016
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"message": "AY2VOQOXYI5CN2EHZKLOX7ZI37",
|
|
106
|
+
"private_keys": [
|
|
107
|
+
"Ky3KEGLA6cqhsWeBQkCEi5CjEvEP1BBR9Y5iipU6XEo6UfLXvh3e"
|
|
108
|
+
],
|
|
109
|
+
"address": "bc1p6vffkx7vcyezrjq7pg9qqdjv7vmtanfhk8ukwsn4syejwmarmhxqp0rw5x",
|
|
110
|
+
"type": "p2tr-time-lock",
|
|
111
|
+
"witness_script": "6320ad87d784e921d02bf0b89a41f8eded6a5d8409f3b4bfb935fc0e0f4e519c42206702e007b275202632e7e2d979cad802f02353c884d79a0e2bc7d72dc4f79dc1130f101bdfa14068ac",
|
|
112
|
+
"bip322_signatures": [
|
|
113
|
+
"fulAgAAAAABAaza7/ukfX9ZdxCUvK7CPJgADDdPdF7ikXVKWctd5EHrAAAAAADgBwAAAQAAAAAAAAAAAWoEQPvuT0enYGwsab2lsPZU0U3OcRkGng+o/PAt4QU2lc8hG7lTUmflkt0To+eoipv2vptf0TlGOBCsKU5xE3kXKcMAS2MgrYfXhOkh0CvwuJpB+O3tal2ECfO0v7k1/A4PTlGcQiBnAuAHsnUgJjLn4tl5ytgC8CNTyITXmg4rx9ctxPedwRMPEBvfoUBorCHBJjLn4tl5ytgC8CNTyITXmg4rx9ctxPedwRMPEBvfoUDgBwAA"
|
|
114
|
+
],
|
|
115
|
+
"sig_script": "",
|
|
116
|
+
"tx_version": 2,
|
|
117
|
+
"lock_time": 2016,
|
|
118
|
+
"sequence": 2016
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"message": "EMYGZHEY3LIANYKCR7XJF3NMFQ",
|
|
122
|
+
"private_keys": [
|
|
123
|
+
"L1n3XXc2AAVq8puHyQNL9NmVNRDUox1ENeuk7muALGrEo85wGQag"
|
|
124
|
+
],
|
|
125
|
+
"address": "32Utb7Seg6EXq7UesMNJXhQ1gdohYNyzQ9",
|
|
126
|
+
"type": "p2sh-p2wpkh",
|
|
127
|
+
"witness_script": "",
|
|
128
|
+
"bip322_signatures": [
|
|
129
|
+
"fulAgAAAAABAe5xLNMlYQH4OGjJ3h4lqQaVp0Cic7mwxkvyWswqFMXeAAAAABcWABSy/hpDH/KLAi4x25Tmb2UaO1xtWeAHAAABAAAAAAAAAAABagJHMEQCIDEleqb0n1R5c21TGkWRXNFae98wbwI0QOyh/YmRuQX1AiAcv1MhyTzPOVgZ1VIwuu0tDxrVJUHK8lhOUOXpsZnGwwEhAsjeDEoWX8hvEC8A/692yGQsPh6JBO8Zf4aITEQsKAcJ4AcAAA=="
|
|
130
|
+
],
|
|
131
|
+
"sig_script": "0014b2fe1a431ff28b022e31db94e66f651a3b5c6d59",
|
|
132
|
+
"tx_version": 2,
|
|
133
|
+
"lock_time": 2016,
|
|
134
|
+
"sequence": 2016
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"message": "MGKMA2MJUBDHT55J7MHOLM7UPE",
|
|
138
|
+
"private_keys": [
|
|
139
|
+
"L2FywTTh95vtPd8H2BPxFFAAR4WpuDZKygh3py6KP31zRa99PHDT"
|
|
140
|
+
],
|
|
141
|
+
"address": "bc1qhqcmw7ud03vqde3pe6hzajaylhucmlatrkcztzpnk8vpgvhg9dzq5ydark",
|
|
142
|
+
"type": "p2wsh-time-lock",
|
|
143
|
+
"witness_script": "632103ad87d784e921d02bf0b89a41f8eded6a5d8409f3b4bfb935fc0e0f4e519c42206702e007b275210386461afa1d2a0a9e83f6587df9ba9a268a686e7b5640928e6991a6b09afae97268ac",
|
|
144
|
+
"bip322_signatures": [
|
|
145
|
+
"fulAgAAAAABAYYJeOOOi3c33O+dholAwiF51Amy/E0qIf3ew2vFtDtTAAAAAADgBwAAAQAAAAAAAAAAAWoDSDBFAiEA64MwD2HkJjPLPAc2u5ia6ZdwCVO3okzVqGPEXnuJGZQCIE27BGOBQTdwJ2M/Wdsm6nFVunqaj+xZBSG/g/64FMbtAQBNYyEDrYfXhOkh0CvwuJpB+O3tal2ECfO0v7k1/A4PTlGcQiBnAuAHsnUhA4ZGGvodKgqeg/ZYffm6miaKaG57VkCSjmmRprCa+ulyaKzgBwAA"
|
|
146
|
+
],
|
|
147
|
+
"sig_script": "",
|
|
148
|
+
"tx_version": 2,
|
|
149
|
+
"lock_time": 2016,
|
|
150
|
+
"sequence": 2016
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"message": "QXYOWYWO7ZGJC4OPNC367HBUQF",
|
|
154
|
+
"private_keys": [
|
|
155
|
+
"L14bn1tSDZUKYLLiTConCRHbqzGef8eqB2tU5PBPFBkyPLUyob7V",
|
|
156
|
+
"KyJnWYygb7P2P8khWyDMW9yFGA3dUe7kpkEHtLbzY6cfvvn9T5CS"
|
|
157
|
+
],
|
|
158
|
+
"address": "bc1qg8r3cl47rrr75dwvr7jhzdukptegnmq8v0nmjd2jdn4qvlczqkts0rqtav",
|
|
159
|
+
"type": "p2wsh-multisig-2of2",
|
|
160
|
+
"witness_script": "52210244f7cb842a4ce4f352ce4062ae5e0a5d60d6faa0b07b62c2063484aa5297bbce210234eed6190efc47716b953a050b563f8b2b523addea955ae43351dd2a92aa49f452ae",
|
|
161
|
+
"bip322_signatures": [
|
|
162
|
+
"fulAgAAAAABAXshuDM6YKy1LClwk1ZOM5egX7RTFPOCvtxJkYFYk/FEAAAAAADgBwAAAQAAAAAAAAAAAWoEAEgwRQIhAI9uOxvqmBV0pldOoKWnSYhjobNhP4F+gxO0QlOdGtxFAiBROcNruLigZE4lj1DJEh8yGrqS00MeW463EO78TsaRFgFIMEUCIQCAhIqYuU4wDA2AYsU+QDVyucH4Tm/NSDP2+txyPMKEkAIgfuGlSh7ncxb2yV3S3aOF5uwHGqtIZjp3b4HW0d35EckBR1IhAkT3y4QqTOTzUs5AYq5eCl1g1vqgsHtiwgY0hKpSl7vOIQI07tYZDvxHcWuVOgULVj+LK1I63eqVWuQzUd0qkqpJ9FKu4AcAAA=="
|
|
163
|
+
],
|
|
164
|
+
"sig_script": "",
|
|
165
|
+
"tx_version": 2,
|
|
166
|
+
"lock_time": 2016,
|
|
167
|
+
"sequence": 2016
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"message": "3VJANNKSXPLND6YRKG6CUEUZXX",
|
|
171
|
+
"private_keys": [
|
|
172
|
+
"L5QcX4UxGQByfgW6YTVWovLUxSSWSyQksGNfAJAhP36hTRRGWyiU",
|
|
173
|
+
"Kzp3Vm4kEdakPrfPfGDq3SEeSeBhX3GPwqacMf1wLFLPEZaMjy57",
|
|
174
|
+
"L3xZwreL3S4C5V3wLaNYSFTsZiC2YW7ao94y2omZvpkBEyP5y3PY"
|
|
175
|
+
],
|
|
176
|
+
"address": "bc1q8vy6jhfe8ca0uruvr4aqkjk75dpg5m30rnwatg60uhya00dhlyqs2xvt2a",
|
|
177
|
+
"type": "p2wsh-multisig-3of3",
|
|
178
|
+
"witness_script": "5321022506f12c84db93ed3e896b4d58807b341b7d5eb51d79a11763836249b3a1dfe4210305b153afc370cd8f2e522e6a435cf5e9726376bf556752c1a43704956af22305210242f20cbe0540cbe3d1323cf61659f236b89c2ae593ddb7e42080597994d216e053ae",
|
|
179
|
+
"bip322_signatures": [
|
|
180
|
+
"fulAgAAAAABAU2vSmP5XYqecVKygaRRribDp5piMoVxUkxUnFSff8kRAAAAAADgBwAAAQAAAAAAAAAAAWoFAEgwRQIhAKBSw74gHlx272y4RzyU/ap7iNO5rmB6XXgBOy3Qsc/EAiBUnSrF/XhvuvAwi/mMme0JDpuCvl+oZ9C4f3H8OemXCAFIMEUCIQDK3wH0l2AvJ5FZ923ZMJkY1z0MBh1Nee9wjK7tVxFz5gIgdC1XBD/IdBPtx1xmyvSFhbIJlvnz98fPTm50K6KaXpEBSDBFAiEAyP3nXTzXrTmzq54x8jAY02ERHycEYzYqT9cpRTeEWg4CIHxRk3e3oPrM9oCZ8xcgNQ3lRhyc+G0qdDIl6qa8SN4AAWlTIQIlBvEshNuT7T6Ja01YgHs0G31etR15oRdjg2JJs6Hf5CEDBbFTr8NwzY8uUi5qQ1z16XJjdr9VZ1LBpDcElWryIwUhAkLyDL4FQMvj0TI89hZZ8ja4nCrlk9235CCAWXmU0hbgU67gBwAA"
|
|
181
|
+
],
|
|
182
|
+
"sig_script": "",
|
|
183
|
+
"tx_version": 2,
|
|
184
|
+
"lock_time": 2016,
|
|
185
|
+
"sequence": 2016
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"message": "NQVRV3DJYLKBANM3OPTNBULEU3",
|
|
189
|
+
"private_keys": [
|
|
190
|
+
"L246N8J5x5ehwjoz97ZfHXBCELxGcK2jqRFinReMBcRnqH1X4zdc",
|
|
191
|
+
"L1WzdMN476EHhwsDLHJwVHZKrwVLFFsdvNoZFsZVk2Mb5rKst2Et"
|
|
192
|
+
],
|
|
193
|
+
"address": "3PGZjFkYBL1m9WBWkWbCW5FEFTaS1Hj4EB",
|
|
194
|
+
"type": "p2sh-p2wsh-multisig-2of2",
|
|
195
|
+
"witness_script": "522103fb824153fc000a213c5456d01780d1f292a0cfbfbc5f6f8f1dc713706c5519d12103db88ce9fb8081e50460beb37539741b0667d6f2439dd1ca283d63182421c10b152ae",
|
|
196
|
+
"bip322_signatures": [
|
|
197
|
+
"fulAgAAAAABAVscdBvYDFN98A//Rt/fAWcN7mdM0x2yWzBjC33c7X5HAAAAACMiACDkkR/DseXy+GXBPtxHvHehUjHt+9XjRmZAgxuuomAC4eAHAAABAAAAAAAAAAABagQASDBFAiEA47YK5XeIGBMQC9bCfWb+IIfirIWlqAzQVc6E/lgBPZICIA0k/EO2t3YhqmYR5WdXUBGgAzR+IqgZ5/mxvj+4UoDTAUgwRQIhAPCIVZCSoIaOjY9BzYIXWEvbhpOl4JR88p/xYVoZObd6AiADyJXNqpDg/Lc2viPX14N2d0jQdEjamY4SmiU7GNbIOgFHUiED+4JBU/wACiE8VFbQF4DR8pKgz7+8X2+PHccTcGxVGdEhA9uIzp+4CB5QRgvrN1OXQbBmfW8kOd0cooPWMYJCHBCxUq7gBwAA"
|
|
198
|
+
],
|
|
199
|
+
"sig_script": "0020e4911fc3b1e5f2f865c13edc47bc77a15231edfbd5e3466640831baea26002e1",
|
|
200
|
+
"tx_version": 2,
|
|
201
|
+
"lock_time": 2016,
|
|
202
|
+
"sequence": 2016
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"message": "7OKFLKRXSP6J42VQOMSG7MVXEP",
|
|
206
|
+
"private_keys": [
|
|
207
|
+
"L5Teubyzf4mFSMHGCzADK42oRi9xz45qhBrYx2Xs8uCY6WyrymT5",
|
|
208
|
+
"L4HsBh1Rb5DWP5Hf82tPw3whgwFyt8hdRTChxZQE4HzWfdbVgiWT"
|
|
209
|
+
],
|
|
210
|
+
"address": "3Nye4j1GUFqCEBR3do2KEFZAs9oLe8NZ6X",
|
|
211
|
+
"type": "p2sh-multisig-2of2",
|
|
212
|
+
"witness_script": "",
|
|
213
|
+
"bip322_signatures": [
|
|
214
|
+
"fulAgAAAAEvAyd4zsoz8gcVU5H19GLYokTAN5PxuKCBlEPjODJ86gAAAADaAEcwRAIgT6rcfxgCmG6b3DpzNV6UG0jiCQGclG9sfiSpV45HDXMCIGgtqjFBuJ7rbi+cgnG0TZiKZaxMk0KI+gQd0pHJfEYCAUgwRQIhANCvCLjGMuZMzH+nCEkNhWhR45T6QRYMLin8utpuF9r1AiBTjG2NLjkre7ec+HPg8UUhK1jL1vgq7YKjq5ROv+h07AFHUiEDhKjcb/Pv1/7AYutzOXwgec08wwD/VwiPm58Lc0xjohghAhycjpwdBuP33orQXAH1CAsrgSkuspxM2+FPQ4OCVhQWUq7gBwAAAQAAAAAAAAAAAWrgBwAA"
|
|
215
|
+
],
|
|
216
|
+
"sig_script": "52210384a8dc6ff3efd7fec062eb73397c2079cd3cc300ff57088f9b9f0b734c63a21821021c9c8e9c1d06e3f7de8ad05c01f5080b2b81292eb29c4cdbe14f43838256141652ae",
|
|
217
|
+
"tx_version": 2,
|
|
218
|
+
"lock_time": 2016,
|
|
219
|
+
"sequence": 2016
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
"proof_of_funds": [
|
|
223
|
+
{
|
|
224
|
+
"message": "2JNEDD7IJDSYLREMJ6Q7PTCQJD",
|
|
225
|
+
"private_keys": [
|
|
226
|
+
"KwJez724aMRgicAjRH5Wn4PGjzt362M4Ce16uyLFrRtefYtjeEpu",
|
|
227
|
+
"L1eU4opKaCpK3Pu3jp1yvNnCmfAFtgKcmdgapcuGPqB3fwANGTWT",
|
|
228
|
+
"Kx9Wif4uxmADZ46YBfXwDST1ZkAZFkiRzpPbK3orYGSqaEJPZLKh"
|
|
229
|
+
],
|
|
230
|
+
"address": "1PgwDB9w9vKjqhXMaqDiZyktC4x2eC7Wkw",
|
|
231
|
+
"type": "p2pkh",
|
|
232
|
+
"witness_script": "",
|
|
233
|
+
"bip322_signatures": [
|
|
234
|
+
"pofcHNidP8BAI8CAAAAA3UzG05Nmq3GQGeM4RuOvKR3OzsxeY3Iv7WeRpsFNQM0AAAAAADIAQAADCbiUkASpwj6kUReXXcYBQYbAO9L5G7WGpFwwoySY+UAAAAAAAAAAAA3p26yqXE6EPnIIn3fG72TA/ogmgx628m04thl4j0g/gAAAAAAAAAAAAEAAAAAAAAAAAFqewAAAAABAHcAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////yIAIB2Ij79goPLYV23iushdHloX5BnvTP3sLOG1x4L5uCYKAAAAAAEAAAAAAAAAABl2qRT44D3t4ciLKM9Jqw/cQWbMKcrdMYisAAAAAAEHa0gwRQIhAMQa+hYcQZ+v/rcrR4/cn7MthXgjlI9vdOyWaff0ytI1AiBzwJB5Sa7Gg5o5l1YRo2kvPGVjPEXlcDSRXkY/m5pEGAEhAg/lEKOLDqGSy/dJvtUFqV+b0Ibfnat6xQVm3TFbRMUHAAEAVQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTkYFAAAAAAAZdqkUXAydgFhnOc1o76l++wzhjwbeADKIrAAAAAABB2pHMEQCIEN2q/Y9n1JliYceYA/Lcb+lab84iq5FRGEw0QDZvCthAiBbgsbUfkt5y4PN7iBLpuW8zBARbHVBfsX/vIRcAewd8wEhAl+mkzpSHsor/2HKnlhZQjD88o2fj45Xj+PLeO0vHShBAAEBIE5GBQAAAAAAF6kUmkCp3fSiSKNrfA9wZKySQBbrBJeHAQcXFgAUYWYrEU/y0qj1P/GYS2Yc7nhhe8MBCGsCRzBEAiACr5bTFlzWGiXis1Y01AMVGVlPBEgO8G/g+6c4cNbx5wIgYqXaNnAPVNWVjfaJ8DhIuOiAUiTHeNdjdYH9IpXjK1oBIQMs7LIzDohxaDGLK3Jxlyxu/lnEh3YdmVbtOwi/9/IvuQAA"
|
|
235
|
+
],
|
|
236
|
+
"sig_script": "",
|
|
237
|
+
"tx_version": 2,
|
|
238
|
+
"lock_time": 123,
|
|
239
|
+
"sequence": 456,
|
|
240
|
+
"additional_inputs": [
|
|
241
|
+
[
|
|
242
|
+
{
|
|
243
|
+
"private_key_index": 1,
|
|
244
|
+
"type": "p2pkh",
|
|
245
|
+
"value": 345678,
|
|
246
|
+
"pk_script": "76a9145c0c9d80586739cd68efa97efb0ce18f06de003288ac"
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
[
|
|
250
|
+
{
|
|
251
|
+
"private_key_index": 2,
|
|
252
|
+
"type": "p2sh-p2wpkh",
|
|
253
|
+
"value": 345678,
|
|
254
|
+
"pk_script": "a9149a40a9ddf4a248a36b7c0f7064ac924016eb049787"
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"message": "PMRTSXKIH4LZUEK6FSWKNVC5OJ",
|
|
261
|
+
"private_keys": [
|
|
262
|
+
"KzsKtEzbNpVXuNNk8RYP7VfmZL9DcvvzcsWCmQgsU24NkJCq2xm1",
|
|
263
|
+
"KyvKPtWqpTx3kLWcPXnSsReoaarfqEVbobUMwWDEZwwH75dzveWV",
|
|
264
|
+
"KyYzf9wsAvGPcin5YzUUCRqTHcjoG4DYhRHkwocDb2EgXgeDnPNV",
|
|
265
|
+
"KxCAEYZ9CocjcmEQzq1x3amDDVjMwiT9U6Y5C5EXmUiwRm5T7qK6",
|
|
266
|
+
"KwadXBnBmyatFEVWWBZgNpuYzDR6zA8526uDJiz1u3WPBixGUarZ"
|
|
267
|
+
],
|
|
268
|
+
"address": "1FUGbznJZgPPNR49WGpAMWGqd2EJy7L411",
|
|
269
|
+
"type": "p2pkh",
|
|
270
|
+
"witness_script": "",
|
|
271
|
+
"bip322_signatures": [
|
|
272
|
+
"pofcHNidP8BAOECAAAABUW4YNCHQoyK7F1IWzGg2FITNBQfwfYHqccJdCb5bAXHAAAAAADIAQAA9NbnUz4hFOirIPCfd3puS86Tswp4PpGiajrMV7XvilQAAAAAAAAAAAD01udTPiEU6Ksg8J93em5LzpOzCng+kaJqOsxXte+KVAEAAAAAAAAAAPTW51M+IRToqyDwn3d6bkvOk7MKeD6Romo6zFe174pUAgAAAAAAAAAA9lQ2wLnGe0WMSw2PbknCdByQs2kNLxtiBDM+sQJAJBgAAAAAAAAAAAABAAAAAAAAAAABansAAAAAAQB3AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8iACBS4HdhDkJcNnd/zYxBO18MP4A5XwfMIamCtF1YNPUjwQAAAAABAAAAAAAAAAAZdqkUnroEWW1vPFZWKfJOPc5EO3LAxSCIrAAAAAABB2pHMEQCIDs7N2tmsnkvKuT1I/yNArGthDLEPCxZAp3la3W2Wo0SAiB/KqF79idpHtYTi6zf/s3JR5zHYBmP3fzgpmLxiSCDUwEhAlPjWUeiLVieRuV8JE/trdheywBquxvrxw9CoKp0eWwUAAEAmQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTkYFAAAAAAAZdqkUXRw/3Id1+QdWOglIjBLaBryaNa+IrE5GBQAAAAAAGXapFLiTCxADZJL19c3fKa0A4EwBeL4hiKxORgUAAAAAABl2qRRbIpISPTZsY6A99RjTl/caNrBz64isAAAAAAEHakcwRAIgKV6AGU+4LXwaNsWW6KCEMlYg+ofeoon3ngVHaq+kLn4CIBFHlP9K6vENM5lo3QvM7bITh9jDqzDMeqX3IuLyXDsZASED8CBlrMcXM6gidBwP2HZk8FQ3D2JV4eX5ct3++h7LqT8AAQdrSDBFAiEAxqn43CUk0TCc54a/k4ko++06fDv/CamisK6IdxGowNsCIHDikdfH1lfFO+CBM8nf6bp37gfgQ7GZoaMMbU0Bap7MASECEClqBF8XySkMqIUrrjXIAg/fUHiIjqCH3jDbVTSEUK4AAQdrSDBFAiEAwK0nkBarbo8wdZDg4FVeJIuP6iLp9fApYMhArfPEcfICIGgoPoco1fpw77syuPxvU5HZjYiOl4FChRfZ800L4bKKASECTFBcVWr9yTopKH4A4FZvEvmGXW06MgHwxN58FPvmQRkAAQEgTkYFAAAAAAAXqRQPyvIXY4yAKCGbkYlxD3LPMT/JSocBBxcWABRh7fUdOB8FWstJKAmt5r6qUQzMYgEIbAJIMEUCIQDd0I64asHGizPfnwvUVscgJo+8xZmv+IbtXNBXgLsdqwIgASUwxhy/0TTp/yLygwCfevxbXxoUYbIM2vdomk6jw3gBIQMchUGFw2XkvTvbr64BBBVQHRZdDv+KLY5VWN00qooCiAAA"
|
|
273
|
+
],
|
|
274
|
+
"sig_script": "",
|
|
275
|
+
"tx_version": 2,
|
|
276
|
+
"lock_time": 123,
|
|
277
|
+
"sequence": 456,
|
|
278
|
+
"additional_inputs": [
|
|
279
|
+
[
|
|
280
|
+
{
|
|
281
|
+
"private_key_index": 1,
|
|
282
|
+
"type": "p2pkh",
|
|
283
|
+
"value": 345678,
|
|
284
|
+
"pk_script": "76a9145d1c3fdc8775f907563a09488c12da06bc9a35af88ac"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"private_key_index": 2,
|
|
288
|
+
"type": "p2pkh",
|
|
289
|
+
"value": 345678,
|
|
290
|
+
"pk_script": "76a914b8930b10036492f5f5cddf29ad00e04c0178be2188ac"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"private_key_index": 3,
|
|
294
|
+
"type": "p2pkh",
|
|
295
|
+
"value": 345678,
|
|
296
|
+
"pk_script": "76a9145b2292123d366c63a03df518d397f71a36b073eb88ac"
|
|
297
|
+
}
|
|
298
|
+
],
|
|
299
|
+
[
|
|
300
|
+
{
|
|
301
|
+
"private_key_index": 4,
|
|
302
|
+
"type": "p2sh-p2wpkh",
|
|
303
|
+
"value": 345678,
|
|
304
|
+
"pk_script": "a9140fcaf217638c8028219b9189710f72cf313fc94a87"
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"message": "FUYMQWKYGS7HJEN7YFEZU5SNR5",
|
|
311
|
+
"private_keys": [
|
|
312
|
+
"L1p7QRghEregYbBvSCp1eW4YJg2RwMYwX2uhR1eAnkVoPJBaJ7Dy",
|
|
313
|
+
"Kz5jBiqQKoppYvaxtWZJicxGZ3G3iJ4rLqNnv7MaQBusyoE731EJ",
|
|
314
|
+
"L2fNJduiUkSytUDbxa58ivWoHevB3svcWUJMxMFebdugYP5jgJr1",
|
|
315
|
+
"KxqVMn81AEYSwYuzBxe6xC4JDAgA2eU2qiNvBAgVZZwRFv1BqN3y"
|
|
316
|
+
],
|
|
317
|
+
"address": "bc1pk3vq3wpn4txexwq4dj0k2dugzp6kfwllvs89w49cvtk3j2cndcds3l9kw9",
|
|
318
|
+
"type": "p2tr",
|
|
319
|
+
"witness_script": "",
|
|
320
|
+
"bip322_signatures": [
|
|
321
|
+
"pofcHNidP8BALgCAAAABDzMFysa2DX0k4ZymoVfzNzTIL3gsWlu03HcfI+NxhOxAAAAAADIAQAAVd4moQMhq/rd+2ecRsJ0Xeg6/SdhA+owjzyzg/Fqd/oAAAAAAAAAAABuZFRaqjWRO6kKy5hrEHAg+T12/Iuz+FZBwwMt/FQvkgAAAAAAAAAAAG5kVFqqNZE7qQrLmGsQcCD5PXb8i7P4VkHDAy38VC+SAQAAAAAAAAAAAQAAAAAAAAAAAWp7AAAAAAEBKwAAAAAAAAAAIlEgtFgIuDOqzZM4FWyfZTeIEHVku/9kDldUuGLtGSsTbhsBCEIBQKoTEBqEPkib1fLnELbmsbDVlmWGzOdiiN/XJefU3tF9AEi7PszYEPguomxXp7X2rL0dP0xkV6LbBcVz7oAEeKkAAQErTkYFAAAAAAAiUSB4i5DCtSPHOkI30E30ayMoWL47vA5l2NBJp/pZ1XGduAEIQgFAic0muhAJNc4ZlRWeJGRgkN+oE/ptV4Znyli19VAnSsHM/Pb9Mp02dd3zk3RmuT6VgjBxdJn2yURGKOka3l9cugABAStORgUAAAAAACJRIMoNyg9Pai/pn4PHTOMEsDHkuUAHt5riqU81NVVj+fXKAQhCAUCL3W2Jh3ImNRSpbp0bLe+rBE4GJw5AjwJEhakHsm83YfuQKeY1syBFrmNV2ZvLv8R8uTLcmkJ1s/lWUxZ9o4qJAAEBK05GBQAAAAAAIlEgXCutuyDOvc4hiADdov7VmOUfq4ww6HES7JZ6NAucMJkBCEIBQDqu/4oik+J+eAbvUhzzuBkoVoOgD5RySjpvJQqTKNieBda8dMTkH2avx6ghs7zd6puujlBCQw3r/NiG4VX7wAEAAA=="
|
|
322
|
+
],
|
|
323
|
+
"sig_script": "",
|
|
324
|
+
"tx_version": 2,
|
|
325
|
+
"lock_time": 123,
|
|
326
|
+
"sequence": 456,
|
|
327
|
+
"additional_inputs": [
|
|
328
|
+
[
|
|
329
|
+
{
|
|
330
|
+
"private_key_index": 1,
|
|
331
|
+
"type": "p2tr",
|
|
332
|
+
"value": 345678,
|
|
333
|
+
"pk_script": "5120788b90c2b523c73a4237d04df46b232858be3bbc0e65d8d049a7fa59d5719db8"
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
[
|
|
337
|
+
{
|
|
338
|
+
"private_key_index": 2,
|
|
339
|
+
"type": "p2tr",
|
|
340
|
+
"value": 345678,
|
|
341
|
+
"pk_script": "5120ca0dca0f4f6a2fe99f83c74ce304b031e4b94007b79ae2a94f35355563f9f5ca"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"private_key_index": 3,
|
|
345
|
+
"type": "p2tr",
|
|
346
|
+
"value": 345678,
|
|
347
|
+
"pk_script": "51205c2badbb20cebdce218800dda2fed598e51fab8c30e87112ec967a340b9c3099"
|
|
348
|
+
}
|
|
349
|
+
]
|
|
350
|
+
]
|
|
351
|
+
}
|
|
352
|
+
],
|
|
353
|
+
"error": [
|
|
354
|
+
{
|
|
355
|
+
"description": "wrong message for p2wpkh simple signature",
|
|
356
|
+
"message": "EFGJ4AZYXDV7NDUDSUDB3NCDUC",
|
|
357
|
+
"address": "bc1qqthe0hz8klx90e7stf6shclhsvqd5ly96pn53v",
|
|
358
|
+
"signature": "smpAkgwRQIhALC6hdfxNy1n45d7UXSskRBdfZW0Al259E1kDMpipdYkAiAJPfZqb+WurZuf1apU5xeE6Igui9dvt5tihQLDvxlY1AEhAqbnruyo677ktQjio7XOchO3w51Dh9AbRVngha5jtNfT",
|
|
359
|
+
"error_substr": "invalid signature"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"description": "wrong signer for p2wpkh simple signature",
|
|
363
|
+
"message": "2V6TUTMSH4VQ3Z7WZWKYD7DFNH",
|
|
364
|
+
"address": "bc1qgg6lpr05az2l5kz402ddz5ez7fdu25kgmd40lf",
|
|
365
|
+
"signature": "smpAkgwRQIhALC6hdfxNy1n45d7UXSskRBdfZW0Al259E1kDMpipdYkAiAJPfZqb+WurZuf1apU5xeE6Igui9dvt5tihQLDvxlY1AEhAqbnruyo677ktQjio7XOchO3w51Dh9AbRVngha5jtNfT",
|
|
366
|
+
"error_substr": "invalid signature"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"description": "wrong message for p2tr simple signature",
|
|
370
|
+
"message": "56VM6YK6Y76XTBXNPITF232EPX",
|
|
371
|
+
"address": "bc1pcquvhrqv0q68t4m0hfq6tpn006qrskyc7yrqnp2uyrf2emg3wynsdjyk38",
|
|
372
|
+
"signature": "smpAUB6B2Rbupzua8LTQIF06516wzl+cwKy1be8RgoiW0riyXdKwe6GTz/5Hnb37m67pJwIKCh+D5jDueG6KpvYpmu8",
|
|
373
|
+
"error_substr": "invalid signature"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"description": "wrong signer for p2tr simple signature",
|
|
377
|
+
"message": "PURVOQ544B6HUATVBJZN5EZJUU",
|
|
378
|
+
"address": "bc1pltvk000nd54v3hrrcn7lsffdra72hphpm40rhzf9hn8arqkgermq2p9029",
|
|
379
|
+
"signature": "smpAUB6B2Rbupzua8LTQIF06516wzl+cwKy1be8RgoiW0riyXdKwe6GTz/5Hnb37m67pJwIKCh+D5jDueG6KpvYpmu8",
|
|
380
|
+
"error_substr": "invalid signature"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"description": "wrong message for p2wsh-multisig-2of2 simple signature",
|
|
384
|
+
"message": "DL2KXDPQAN63YIQPIP34O3XYVX",
|
|
385
|
+
"address": "bc1qw6g0rgrpuxvj4edkwtvzpmt3c5m08mhp8nuk3mrk4erufvlczp5ssdscjd",
|
|
386
|
+
"signature": "smpBABIMEUCIQCKl1f9Cj26k0fFWE48+O4ibhYJYPytbDZWJRaaG9BybwIgCbk+3BViWkpuu2RI+41dwtlQ/m/01G860pTFCzDFfokBSDBFAiEA0O77DJsaM7IO+Ht06sp3umzXB64CNNOwf2isZuPfdmwCIGlggOwRSkXsqlPhE1gMdd5hf7ycL33Orfrr4v/XnMGSAUdSIQNsu/OwZurHvJMoiJoSAmmCHLoqIc5Wblh+rek+7rhASCECgYVkUspeAxwRfM6v4GRBhN/gGxTfpPqZuOlBIYZxTJZSrg==",
|
|
387
|
+
"error_substr": "invalid signature"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"description": "wrong signer for p2wsh-multisig-2of2 simple signature",
|
|
391
|
+
"message": "G7ZTXXOVJFHGDD6XYJAGBAMT5A",
|
|
392
|
+
"address": "bc1q47vnwr6fsarstmmw89wrkvl89540sn5g79x75ms8aly9rrsnq8eqh3v9gz",
|
|
393
|
+
"signature": "smpBABIMEUCIQCKl1f9Cj26k0fFWE48+O4ibhYJYPytbDZWJRaaG9BybwIgCbk+3BViWkpuu2RI+41dwtlQ/m/01G860pTFCzDFfokBSDBFAiEA0O77DJsaM7IO+Ht06sp3umzXB64CNNOwf2isZuPfdmwCIGlggOwRSkXsqlPhE1gMdd5hf7ycL33Orfrr4v/XnMGSAUdSIQNsu/OwZurHvJMoiJoSAmmCHLoqIc5Wblh+rek+7rhASCECgYVkUspeAxwRfM6v4GRBhN/gGxTfpPqZuOlBIYZxTJZSrg==",
|
|
394
|
+
"error_substr": "invalid signature"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"description": "wrong message for p2wsh-multisig-3of3 simple signature",
|
|
398
|
+
"message": "UKLIJM5HKKQEIFJ44R7UIQFMYL",
|
|
399
|
+
"address": "bc1qazhmhwl9sxgjmwnd96hh926s3x5l0cf64yy6hvyn6qms438x550qy5sgva",
|
|
400
|
+
"signature": "smpBQBHMEQCICNI6H6b+VCZV9Z2H6EW5hPrE1buC6SJuy2ljSNmQlGfAiASbm5UrA8KH6TwF6evx7COV+i27ubiq2v9TyLYPOO63gFIMEUCIQCMOFnJbg0sy88G6wUXjv5stjVgfvAokOogWsisdkAnlAIgETfBw7kJhISFu9vIomFcEF/1NsN6c0h3KjNcpmNAZtMBSDBFAiEA/lUU+wBeA3prt8vHRpcQN763OYZ8L61DfN0QI/gkHpMCIB2qHwgoXNTH0sdqeAMD2ah7dSTie2bflax3Q3I/GibQAWlTIQKo003Zjj9Jg/kT7sOA7cTdIKmzsrIYBAuPd9hj8FZuHCEC6BdalMtwbjcx2vJjVelv7BJml0rY7Q5ze+PWen6tb5shAytperlYBs69tbn86t3pINqXy0NzttKZKi6Y8X+USQXaU64=",
|
|
401
|
+
"error_substr": "invalid signature"
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"description": "wrong signer for p2wsh-multisig-3of3 simple signature",
|
|
405
|
+
"message": "Z3SB7SRL555ZGOHVMYT5WG7RIZ",
|
|
406
|
+
"address": "bc1qnckc2q6804depn2240l66p93e0mscp7vd9ndptfuznex86ehpcvseq6e8a",
|
|
407
|
+
"signature": "smpBQBHMEQCICNI6H6b+VCZV9Z2H6EW5hPrE1buC6SJuy2ljSNmQlGfAiASbm5UrA8KH6TwF6evx7COV+i27ubiq2v9TyLYPOO63gFIMEUCIQCMOFnJbg0sy88G6wUXjv5stjVgfvAokOogWsisdkAnlAIgETfBw7kJhISFu9vIomFcEF/1NsN6c0h3KjNcpmNAZtMBSDBFAiEA/lUU+wBeA3prt8vHRpcQN763OYZ8L61DfN0QI/gkHpMCIB2qHwgoXNTH0sdqeAMD2ah7dSTie2bflax3Q3I/GibQAWlTIQKo003Zjj9Jg/kT7sOA7cTdIKmzsrIYBAuPd9hj8FZuHCEC6BdalMtwbjcx2vJjVelv7BJml0rY7Q5ze+PWen6tb5shAytperlYBs69tbn86t3pINqXy0NzttKZKi6Y8X+USQXaU64=",
|
|
408
|
+
"error_substr": "invalid signature"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"description": "wrong message for p2pkh full signature",
|
|
412
|
+
"message": "TCHG6CQ5E2T5S4S7DPLAEFVDY2",
|
|
413
|
+
"address": "13vU5PUSuArDXJdCWZvUFEbgJ2wcmtSJWn",
|
|
414
|
+
"signature": "fulAgAAAAGn3Z6t/gsHNyHdgZTOVro0Hej+qbd/ilU1ACalKoHX3gAAAABqRzBEAiB+8t/tm8Jm6zYv9JGZZVlAUjmqg7ZglIA39U+bim8EKQIgDv3E5cHOagN+xYgN3ZQjTYlAJp/WyslwJWuFP1TmM3IBIQJcPK2h9SY+Ki1oussvHnMdFAhJgsYBFPl+rNcMv9P1ROAHAAABAAAAAAAAAAABauAHAAA=",
|
|
415
|
+
"error_substr": "invalid signature"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"description": "wrong signer for p2pkh full signature",
|
|
419
|
+
"message": "MOISC5NCQ42ADH2SUXLELUJOWH",
|
|
420
|
+
"address": "1BxMhvfWLnGLqVhJ3j39oDBk7qf5D86BFe",
|
|
421
|
+
"signature": "fulAgAAAAGn3Z6t/gsHNyHdgZTOVro0Hej+qbd/ilU1ACalKoHX3gAAAABqRzBEAiB+8t/tm8Jm6zYv9JGZZVlAUjmqg7ZglIA39U+bim8EKQIgDv3E5cHOagN+xYgN3ZQjTYlAJp/WyslwJWuFP1TmM3IBIQJcPK2h9SY+Ki1oussvHnMdFAhJgsYBFPl+rNcMv9P1ROAHAAABAAAAAAAAAAABauAHAAA=",
|
|
422
|
+
"error_substr": "invalid signature"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"description": "wrong message for p2wpkh full signature",
|
|
426
|
+
"message": "VENQMXVEGEJAAXJV5V24T6G5UU",
|
|
427
|
+
"address": "bc1qrqtlzcq86850yzgsyq9sssawx2qxlx5yq3xpkd",
|
|
428
|
+
"signature": "fulAgAAAAABAUrfzHHOLAKmgCIFSTT3krp+cQxj1BDPBN4GBg3tRmFXAAAAAADgBwAAAQAAAAAAAAAAAWoCSDBFAiEAjYj85zyhQKa9DbMO0reDwdhkNwKJkF3q2qFcijXDgMUCIAaQ75s3fwqrCeYIUJugLvhxZFxQIVquGN90vIKCW3QLASEDMurnDzvc0zABUwVwCADfGXoDx/M3SQnYt7e3IHDoU3PgBwAA",
|
|
429
|
+
"error_substr": "invalid signature"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"description": "wrong signer for p2wpkh full signature",
|
|
433
|
+
"message": "KLE5MMJBTNF4AVZXIO3GIL5UWF",
|
|
434
|
+
"address": "bc1q55chmwm4x8aeye0h9c0mryra2ly8k8fh3scqgj",
|
|
435
|
+
"signature": "fulAgAAAAABAUrfzHHOLAKmgCIFSTT3krp+cQxj1BDPBN4GBg3tRmFXAAAAAADgBwAAAQAAAAAAAAAAAWoCSDBFAiEAjYj85zyhQKa9DbMO0reDwdhkNwKJkF3q2qFcijXDgMUCIAaQ75s3fwqrCeYIUJugLvhxZFxQIVquGN90vIKCW3QLASEDMurnDzvc0zABUwVwCADfGXoDx/M3SQnYt7e3IHDoU3PgBwAA",
|
|
436
|
+
"error_substr": "invalid signature"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"description": "wrong message for p2tr full signature",
|
|
440
|
+
"message": "P2RQWD264CW7Z5ZSSSDRW2JEDB",
|
|
441
|
+
"address": "bc1pve87s3l2levjmhetzr2f9xvep3y266xty0hnefmyv8tkxc3e4qssll2kdu",
|
|
442
|
+
"signature": "fulAgAAAAABAROFPNY6Zt8hFK0YQq5Wb6wk/CnUYEPtQ0HTHDyzNROrAAAAAADgBwAAAQAAAAAAAAAAAWoBQNRdLOo5XZY0SBqAsLZNr/z3Bqrmo3OxVn7e4tD/OOD4H9U/L1unq5Nmdz+S1w7SHtt46bFwnd8xnRVan8BofFfgBwAA",
|
|
443
|
+
"error_substr": "invalid signature"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"description": "wrong signer for p2tr full signature",
|
|
447
|
+
"message": "XQMVC3YR6AOGZIHLSUQ2NSSBI2",
|
|
448
|
+
"address": "bc1py2f3exluva2yqa877qnsj3vk4lm8yatw0up4fhrx04hf8ns87weswck94p",
|
|
449
|
+
"signature": "fulAgAAAAABAROFPNY6Zt8hFK0YQq5Wb6wk/CnUYEPtQ0HTHDyzNROrAAAAAADgBwAAAQAAAAAAAAAAAWoBQNRdLOo5XZY0SBqAsLZNr/z3Bqrmo3OxVn7e4tD/OOD4H9U/L1unq5Nmdz+S1w7SHtt46bFwnd8xnRVan8BofFfgBwAA",
|
|
450
|
+
"error_substr": "invalid signature"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"description": "wrong message for p2tr-time-lock full signature",
|
|
454
|
+
"message": "ATGH7VC42BMKAAJAMBG3KNGQGR",
|
|
455
|
+
"address": "bc1p6vffkx7vcyezrjq7pg9qqdjv7vmtanfhk8ukwsn4syejwmarmhxqp0rw5x",
|
|
456
|
+
"signature": "fulAgAAAAABAaza7/ukfX9ZdxCUvK7CPJgADDdPdF7ikXVKWctd5EHrAAAAAADgBwAAAQAAAAAAAAAAAWoEQPvuT0enYGwsab2lsPZU0U3OcRkGng+o/PAt4QU2lc8hG7lTUmflkt0To+eoipv2vptf0TlGOBCsKU5xE3kXKcMAS2MgrYfXhOkh0CvwuJpB+O3tal2ECfO0v7k1/A4PTlGcQiBnAuAHsnUgJjLn4tl5ytgC8CNTyITXmg4rx9ctxPedwRMPEBvfoUBorCHBJjLn4tl5ytgC8CNTyITXmg4rx9ctxPedwRMPEBvfoUDgBwAA",
|
|
457
|
+
"error_substr": "invalid signature"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"description": "wrong signer for p2tr-time-lock full signature",
|
|
461
|
+
"message": "AY2VOQOXYI5CN2EHZKLOX7ZI37",
|
|
462
|
+
"address": "bc1pfncmfyycsv5zpnrzy3hj7qna989kymm2ekps7ph2mwwyftjy3d6s2esen0",
|
|
463
|
+
"signature": "fulAgAAAAABAaza7/ukfX9ZdxCUvK7CPJgADDdPdF7ikXVKWctd5EHrAAAAAADgBwAAAQAAAAAAAAAAAWoEQPvuT0enYGwsab2lsPZU0U3OcRkGng+o/PAt4QU2lc8hG7lTUmflkt0To+eoipv2vptf0TlGOBCsKU5xE3kXKcMAS2MgrYfXhOkh0CvwuJpB+O3tal2ECfO0v7k1/A4PTlGcQiBnAuAHsnUgJjLn4tl5ytgC8CNTyITXmg4rx9ctxPedwRMPEBvfoUBorCHBJjLn4tl5ytgC8CNTyITXmg4rx9ctxPedwRMPEBvfoUDgBwAA",
|
|
464
|
+
"error_substr": "invalid signature"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"description": "wrong message for p2sh-p2wpkh full signature",
|
|
468
|
+
"message": "CPVOBEXDTFAXS6N4YASD753CZV",
|
|
469
|
+
"address": "32Utb7Seg6EXq7UesMNJXhQ1gdohYNyzQ9",
|
|
470
|
+
"signature": "fulAgAAAAABAe5xLNMlYQH4OGjJ3h4lqQaVp0Cic7mwxkvyWswqFMXeAAAAABcWABSy/hpDH/KLAi4x25Tmb2UaO1xtWeAHAAABAAAAAAAAAAABagJHMEQCIDEleqb0n1R5c21TGkWRXNFae98wbwI0QOyh/YmRuQX1AiAcv1MhyTzPOVgZ1VIwuu0tDxrVJUHK8lhOUOXpsZnGwwEhAsjeDEoWX8hvEC8A/692yGQsPh6JBO8Zf4aITEQsKAcJ4AcAAA==",
|
|
471
|
+
"error_substr": "invalid signature"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"description": "wrong signer for p2sh-p2wpkh full signature",
|
|
475
|
+
"message": "EMYGZHEY3LIANYKCR7XJF3NMFQ",
|
|
476
|
+
"address": "3QMEQj2LTUtKKR1UatUK44z1NwrWrcVSGh",
|
|
477
|
+
"signature": "fulAgAAAAABAe5xLNMlYQH4OGjJ3h4lqQaVp0Cic7mwxkvyWswqFMXeAAAAABcWABSy/hpDH/KLAi4x25Tmb2UaO1xtWeAHAAABAAAAAAAAAAABagJHMEQCIDEleqb0n1R5c21TGkWRXNFae98wbwI0QOyh/YmRuQX1AiAcv1MhyTzPOVgZ1VIwuu0tDxrVJUHK8lhOUOXpsZnGwwEhAsjeDEoWX8hvEC8A/692yGQsPh6JBO8Zf4aITEQsKAcJ4AcAAA==",
|
|
478
|
+
"error_substr": "invalid signature"
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"description": "wrong message for p2wsh-time-lock full signature",
|
|
482
|
+
"message": "QMSIBU4KPG4CGHGBGFRFHXVYLR",
|
|
483
|
+
"address": "bc1qhqcmw7ud03vqde3pe6hzajaylhucmlatrkcztzpnk8vpgvhg9dzq5ydark",
|
|
484
|
+
"signature": "fulAgAAAAABAYYJeOOOi3c33O+dholAwiF51Amy/E0qIf3ew2vFtDtTAAAAAADgBwAAAQAAAAAAAAAAAWoDSDBFAiEA64MwD2HkJjPLPAc2u5ia6ZdwCVO3okzVqGPEXnuJGZQCIE27BGOBQTdwJ2M/Wdsm6nFVunqaj+xZBSG/g/64FMbtAQBNYyEDrYfXhOkh0CvwuJpB+O3tal2ECfO0v7k1/A4PTlGcQiBnAuAHsnUhA4ZGGvodKgqeg/ZYffm6miaKaG57VkCSjmmRprCa+ulyaKzgBwAA",
|
|
485
|
+
"error_substr": "invalid signature"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"description": "wrong signer for p2wsh-time-lock full signature",
|
|
489
|
+
"message": "MGKMA2MJUBDHT55J7MHOLM7UPE",
|
|
490
|
+
"address": "bc1qlcg74qa5r0ltu6zruahaap3keqsksad6kpstqyysxu0y7tkz2jlqepjywu",
|
|
491
|
+
"signature": "fulAgAAAAABAYYJeOOOi3c33O+dholAwiF51Amy/E0qIf3ew2vFtDtTAAAAAADgBwAAAQAAAAAAAAAAAWoDSDBFAiEA64MwD2HkJjPLPAc2u5ia6ZdwCVO3okzVqGPEXnuJGZQCIE27BGOBQTdwJ2M/Wdsm6nFVunqaj+xZBSG/g/64FMbtAQBNYyEDrYfXhOkh0CvwuJpB+O3tal2ECfO0v7k1/A4PTlGcQiBnAuAHsnUhA4ZGGvodKgqeg/ZYffm6miaKaG57VkCSjmmRprCa+ulyaKzgBwAA",
|
|
492
|
+
"error_substr": "invalid signature"
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"description": "wrong message for p2wsh-multisig-2of2 full signature",
|
|
496
|
+
"message": "OANRY57VZNHOXZNYGCGZM5ADYG",
|
|
497
|
+
"address": "bc1qg8r3cl47rrr75dwvr7jhzdukptegnmq8v0nmjd2jdn4qvlczqkts0rqtav",
|
|
498
|
+
"signature": "fulAgAAAAABAXshuDM6YKy1LClwk1ZOM5egX7RTFPOCvtxJkYFYk/FEAAAAAADgBwAAAQAAAAAAAAAAAWoEAEgwRQIhAI9uOxvqmBV0pldOoKWnSYhjobNhP4F+gxO0QlOdGtxFAiBROcNruLigZE4lj1DJEh8yGrqS00MeW463EO78TsaRFgFIMEUCIQCAhIqYuU4wDA2AYsU+QDVyucH4Tm/NSDP2+txyPMKEkAIgfuGlSh7ncxb2yV3S3aOF5uwHGqtIZjp3b4HW0d35EckBR1IhAkT3y4QqTOTzUs5AYq5eCl1g1vqgsHtiwgY0hKpSl7vOIQI07tYZDvxHcWuVOgULVj+LK1I63eqVWuQzUd0qkqpJ9FKu4AcAAA==",
|
|
499
|
+
"error_substr": "invalid signature"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"description": "wrong signer for p2wsh-multisig-2of2 full signature",
|
|
503
|
+
"message": "QXYOWYWO7ZGJC4OPNC367HBUQF",
|
|
504
|
+
"address": "bc1qan5sys8u4cpvgutt70fn2tgweu7as9aw0slljuz86x4nyr8myvjsgz3q2v",
|
|
505
|
+
"signature": "fulAgAAAAABAXshuDM6YKy1LClwk1ZOM5egX7RTFPOCvtxJkYFYk/FEAAAAAADgBwAAAQAAAAAAAAAAAWoEAEgwRQIhAI9uOxvqmBV0pldOoKWnSYhjobNhP4F+gxO0QlOdGtxFAiBROcNruLigZE4lj1DJEh8yGrqS00MeW463EO78TsaRFgFIMEUCIQCAhIqYuU4wDA2AYsU+QDVyucH4Tm/NSDP2+txyPMKEkAIgfuGlSh7ncxb2yV3S3aOF5uwHGqtIZjp3b4HW0d35EckBR1IhAkT3y4QqTOTzUs5AYq5eCl1g1vqgsHtiwgY0hKpSl7vOIQI07tYZDvxHcWuVOgULVj+LK1I63eqVWuQzUd0qkqpJ9FKu4AcAAA==",
|
|
506
|
+
"error_substr": "invalid signature"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"description": "wrong message for p2wsh-multisig-3of3 full signature",
|
|
510
|
+
"message": "UZQGB4YTYIS3PRT3UUOCO3YCX3",
|
|
511
|
+
"address": "bc1q8vy6jhfe8ca0uruvr4aqkjk75dpg5m30rnwatg60uhya00dhlyqs2xvt2a",
|
|
512
|
+
"signature": "fulAgAAAAABAU2vSmP5XYqecVKygaRRribDp5piMoVxUkxUnFSff8kRAAAAAADgBwAAAQAAAAAAAAAAAWoFAEgwRQIhAKBSw74gHlx272y4RzyU/ap7iNO5rmB6XXgBOy3Qsc/EAiBUnSrF/XhvuvAwi/mMme0JDpuCvl+oZ9C4f3H8OemXCAFIMEUCIQDK3wH0l2AvJ5FZ923ZMJkY1z0MBh1Nee9wjK7tVxFz5gIgdC1XBD/IdBPtx1xmyvSFhbIJlvnz98fPTm50K6KaXpEBSDBFAiEAyP3nXTzXrTmzq54x8jAY02ERHycEYzYqT9cpRTeEWg4CIHxRk3e3oPrM9oCZ8xcgNQ3lRhyc+G0qdDIl6qa8SN4AAWlTIQIlBvEshNuT7T6Ja01YgHs0G31etR15oRdjg2JJs6Hf5CEDBbFTr8NwzY8uUi5qQ1z16XJjdr9VZ1LBpDcElWryIwUhAkLyDL4FQMvj0TI89hZZ8ja4nCrlk9235CCAWXmU0hbgU67gBwAA",
|
|
513
|
+
"error_substr": "invalid signature"
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"description": "wrong signer for p2wsh-multisig-3of3 full signature",
|
|
517
|
+
"message": "3VJANNKSXPLND6YRKG6CUEUZXX",
|
|
518
|
+
"address": "bc1qma94rw0f5t4l64wc6xfrjuuatqn6klcwmxvls86y9k4rjvva40wqr8u0cq",
|
|
519
|
+
"signature": "fulAgAAAAABAU2vSmP5XYqecVKygaRRribDp5piMoVxUkxUnFSff8kRAAAAAADgBwAAAQAAAAAAAAAAAWoFAEgwRQIhAKBSw74gHlx272y4RzyU/ap7iNO5rmB6XXgBOy3Qsc/EAiBUnSrF/XhvuvAwi/mMme0JDpuCvl+oZ9C4f3H8OemXCAFIMEUCIQDK3wH0l2AvJ5FZ923ZMJkY1z0MBh1Nee9wjK7tVxFz5gIgdC1XBD/IdBPtx1xmyvSFhbIJlvnz98fPTm50K6KaXpEBSDBFAiEAyP3nXTzXrTmzq54x8jAY02ERHycEYzYqT9cpRTeEWg4CIHxRk3e3oPrM9oCZ8xcgNQ3lRhyc+G0qdDIl6qa8SN4AAWlTIQIlBvEshNuT7T6Ja01YgHs0G31etR15oRdjg2JJs6Hf5CEDBbFTr8NwzY8uUi5qQ1z16XJjdr9VZ1LBpDcElWryIwUhAkLyDL4FQMvj0TI89hZZ8ja4nCrlk9235CCAWXmU0hbgU67gBwAA",
|
|
520
|
+
"error_substr": "invalid signature"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"description": "wrong message for p2sh-p2wsh-multisig-2of2 full signature",
|
|
524
|
+
"message": "FOQHOIFXJVPFSGGBRLAX53D6R2",
|
|
525
|
+
"address": "3PGZjFkYBL1m9WBWkWbCW5FEFTaS1Hj4EB",
|
|
526
|
+
"signature": "fulAgAAAAABAVscdBvYDFN98A//Rt/fAWcN7mdM0x2yWzBjC33c7X5HAAAAACMiACDkkR/DseXy+GXBPtxHvHehUjHt+9XjRmZAgxuuomAC4eAHAAABAAAAAAAAAAABagQASDBFAiEA47YK5XeIGBMQC9bCfWb+IIfirIWlqAzQVc6E/lgBPZICIA0k/EO2t3YhqmYR5WdXUBGgAzR+IqgZ5/mxvj+4UoDTAUgwRQIhAPCIVZCSoIaOjY9BzYIXWEvbhpOl4JR88p/xYVoZObd6AiADyJXNqpDg/Lc2viPX14N2d0jQdEjamY4SmiU7GNbIOgFHUiED+4JBU/wACiE8VFbQF4DR8pKgz7+8X2+PHccTcGxVGdEhA9uIzp+4CB5QRgvrN1OXQbBmfW8kOd0cooPWMYJCHBCxUq7gBwAA",
|
|
527
|
+
"error_substr": "invalid signature"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"description": "wrong signer for p2sh-p2wsh-multisig-2of2 full signature",
|
|
531
|
+
"message": "NQVRV3DJYLKBANM3OPTNBULEU3",
|
|
532
|
+
"address": "3DA7VZKYcuiaJFsDnzWjBDvh4VhBFZk6jg",
|
|
533
|
+
"signature": "fulAgAAAAABAVscdBvYDFN98A//Rt/fAWcN7mdM0x2yWzBjC33c7X5HAAAAACMiACDkkR/DseXy+GXBPtxHvHehUjHt+9XjRmZAgxuuomAC4eAHAAABAAAAAAAAAAABagQASDBFAiEA47YK5XeIGBMQC9bCfWb+IIfirIWlqAzQVc6E/lgBPZICIA0k/EO2t3YhqmYR5WdXUBGgAzR+IqgZ5/mxvj+4UoDTAUgwRQIhAPCIVZCSoIaOjY9BzYIXWEvbhpOl4JR88p/xYVoZObd6AiADyJXNqpDg/Lc2viPX14N2d0jQdEjamY4SmiU7GNbIOgFHUiED+4JBU/wACiE8VFbQF4DR8pKgz7+8X2+PHccTcGxVGdEhA9uIzp+4CB5QRgvrN1OXQbBmfW8kOd0cooPWMYJCHBCxUq7gBwAA",
|
|
534
|
+
"error_substr": "invalid signature"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"description": "wrong message for p2sh-multisig-2of2 full signature",
|
|
538
|
+
"message": "DAOHN7TAL75XRHJILGIO3RXAEM",
|
|
539
|
+
"address": "3Nye4j1GUFqCEBR3do2KEFZAs9oLe8NZ6X",
|
|
540
|
+
"signature": "fulAgAAAAEvAyd4zsoz8gcVU5H19GLYokTAN5PxuKCBlEPjODJ86gAAAADaAEcwRAIgT6rcfxgCmG6b3DpzNV6UG0jiCQGclG9sfiSpV45HDXMCIGgtqjFBuJ7rbi+cgnG0TZiKZaxMk0KI+gQd0pHJfEYCAUgwRQIhANCvCLjGMuZMzH+nCEkNhWhR45T6QRYMLin8utpuF9r1AiBTjG2NLjkre7ec+HPg8UUhK1jL1vgq7YKjq5ROv+h07AFHUiEDhKjcb/Pv1/7AYutzOXwgec08wwD/VwiPm58Lc0xjohghAhycjpwdBuP33orQXAH1CAsrgSkuspxM2+FPQ4OCVhQWUq7gBwAAAQAAAAAAAAAAAWrgBwAA",
|
|
541
|
+
"error_substr": "invalid signature"
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"description": "wrong signer for p2sh-multisig-2of2 full signature",
|
|
545
|
+
"message": "7OKFLKRXSP6J42VQOMSG7MVXEP",
|
|
546
|
+
"address": "3L9uCVRBUfLgKQQK366dmutgsp3GpCwYGE",
|
|
547
|
+
"signature": "fulAgAAAAEvAyd4zsoz8gcVU5H19GLYokTAN5PxuKCBlEPjODJ86gAAAADaAEcwRAIgT6rcfxgCmG6b3DpzNV6UG0jiCQGclG9sfiSpV45HDXMCIGgtqjFBuJ7rbi+cgnG0TZiKZaxMk0KI+gQd0pHJfEYCAUgwRQIhANCvCLjGMuZMzH+nCEkNhWhR45T6QRYMLin8utpuF9r1AiBTjG2NLjkre7ec+HPg8UUhK1jL1vgq7YKjq5ROv+h07AFHUiEDhKjcb/Pv1/7AYutzOXwgec08wwD/VwiPm58Lc0xjohghAhycjpwdBuP33orQXAH1CAsrgSkuspxM2+FPQ4OCVhQWUq7gBwAAAQAAAAAAAAAAAWrgBwAA",
|
|
548
|
+
"error_substr": "invalid signature"
|
|
549
|
+
}
|
|
550
|
+
]
|
|
551
|
+
}
|
|
@@ -47,13 +47,10 @@ def locate_vectors_dir() -> Path | None:
|
|
|
47
47
|
env = os.environ.get("OC_PLEDGE_VECTORS_DIR")
|
|
48
48
|
if env and Path(env).is_dir():
|
|
49
49
|
return Path(env)
|
|
50
|
-
#
|
|
51
|
-
sibling = Path(__file__).resolve().parents[
|
|
50
|
+
# A clone of oc-pledge-protocol next to oc-packages.
|
|
51
|
+
sibling = Path(__file__).resolve().parents[4] / "oc-pledge-protocol" / "test-vectors"
|
|
52
52
|
if sibling.is_dir():
|
|
53
53
|
return sibling
|
|
54
|
-
user_home = Path("/Users/wilneeley/Projects/ochk/oc-pledge-protocol/test-vectors")
|
|
55
|
-
if user_home.is_dir():
|
|
56
|
-
return user_home
|
|
57
54
|
return None
|
|
58
55
|
|
|
59
56
|
|
|
@@ -109,9 +109,13 @@ def test_wrap_pledge_envelope_matches_pledge_input_from_dict_round_trip():
|
|
|
109
109
|
"""Loading a v01-shaped vector via pledge_input_from_dict and wrapping
|
|
110
110
|
with a placeholder sig produces the same id as the spec-pinned one."""
|
|
111
111
|
import json
|
|
112
|
+
import os
|
|
112
113
|
from pathlib import Path
|
|
113
114
|
|
|
114
|
-
|
|
115
|
+
vectors_dir = os.environ.get("OC_PLEDGE_VECTORS_DIR") or (
|
|
116
|
+
Path(__file__).resolve().parents[4] / "oc-pledge-protocol" / "test-vectors"
|
|
117
|
+
)
|
|
118
|
+
vector_path = Path(vectors_dir) / "v01-pledge-minimal-chain-state.json"
|
|
115
119
|
if not vector_path.is_file():
|
|
116
120
|
pytest.skip("oc-pledge-protocol vectors not available locally")
|
|
117
121
|
vec = json.loads(vector_path.read_text())
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""
|
|
2
|
+
The finalized BIP-322's own vectors (bitcoin/bips bip-0322/*.json at d77863fb9e9b),
|
|
3
|
+
the same files @orangecheck/bip322 1.1 tests against: every P2WPKH and P2TR simple
|
|
4
|
+
signature verifies with or without its ``smp`` prefix, and every error vector fails.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
import json
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
import pytest
|
|
13
|
+
|
|
14
|
+
from orangecheck import verify_bip322_signature
|
|
15
|
+
|
|
16
|
+
FIXTURES = Path(__file__).parent / "fixtures"
|
|
17
|
+
BASIC = json.loads((FIXTURES / "bip322-official-basic.json").read_text())
|
|
18
|
+
GENERATED = json.loads((FIXTURES / "bip322-official-generated.json").read_text())
|
|
19
|
+
|
|
20
|
+
SIGNABLE = [v for v in BASIC["simple"] + GENERATED["simple"] if v["type"] in ("p2wpkh", "p2tr")]
|
|
21
|
+
ERRORS = BASIC["error"] + GENERATED["error"]
|
|
22
|
+
|
|
23
|
+
pytestmark = pytest.mark.skipif(
|
|
24
|
+
verify_bip322_signature is None, reason="install orangecheck[verify] to run BIP-322 vectors"
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_the_vectors_are_the_expected_set() -> None:
|
|
29
|
+
assert len(SIGNABLE) == 5 # 3 P2WPKH, 2 P2TR
|
|
30
|
+
assert len(ERRORS) == 36
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@pytest.mark.parametrize("vector", SIGNABLE, ids=lambda v: f"{v['type']}:{v['message'][:16]}")
|
|
34
|
+
def test_simple_signatures_verify_prefixed_or_not(vector: dict) -> None:
|
|
35
|
+
for sig in vector["bip322_signatures"]:
|
|
36
|
+
bare = sig[3:] if sig.startswith("smp") else sig
|
|
37
|
+
assert verify_bip322_signature(vector["address"], vector["message"], sig)
|
|
38
|
+
assert verify_bip322_signature(vector["address"], vector["message"], bare)
|
|
39
|
+
assert verify_bip322_signature(vector["address"], vector["message"], "smp" + bare)
|
|
40
|
+
assert not verify_bip322_signature(vector["address"], vector["message"] + "!", sig)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@pytest.mark.parametrize("vector", ERRORS, ids=lambda e: e["description"][:48])
|
|
44
|
+
def test_error_vectors_fail(vector: dict) -> None:
|
|
45
|
+
assert not verify_bip322_signature(vector["address"], vector["message"], vector["signature"])
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def test_full_and_proof_of_funds_signatures_are_refused() -> None:
|
|
49
|
+
v = SIGNABLE[0]
|
|
50
|
+
bare = v["bip322_signatures"][0].removeprefix("smp")
|
|
51
|
+
assert not verify_bip322_signature(v["address"], v["message"], "ful" + bare)
|
|
52
|
+
assert not verify_bip322_signature(v["address"], v["message"], "pof" + bare)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|