* Add Chaincode Delegation BIP
* Update license to BSD-3-Clause and expand blinded signing documentation
* Address initial PR comments
* Update with BIP number assignment
* Fix delegator_sign test vector
* Upgrade secp256k1lab and add license file
- Upgrade vendored secp256k1lab to commit a265da1 (adds type annotations)
- Add COPYING file to satisfy MIT license requirements
- Document secp256k1lab commit reference in BIP text
* Fix type checker and linter issues in reference implementation
- Fix TweakContext to use Scalar types for gacc/tacc
- Replace HashFunction enum with Callable type alias
- Fix bytearray to bytes conversion in blind_sign
- Move imports to top of file
- Fix boolean comparison style (use 'not' instead of '== False')
- Add proper type annotations and casts for dict handling
- Remove unused imports and type ignore comments
* Address PR review comments on terminology and clarity
- Add intro explaining delegation naming (chain code is delegated, not
signing authority)
- Reorder terminology to list Delegator before Delegatee
- Replace "quorum" with clearer "can co-sign for UTXOs" language
- Clarify derivation constraints in terms of delegatee's extended key
- Rename "Delegatee Signing" section to "Signing Modes"
- Fix "delegatee can apply" to "delegator can produce" (line 112)
- Replace undefined "caller" with "delegatee" (line 173)
- Clarify "Change outputs" to "Tweaks for change outputs" (line 98)
- Add note that message is separate from CCD bundle
- Add note on application-specific verification (addresses, amounts)
- Add transition sentence clarifying non-concurrent protocol scope
* Add changelog entry for 0.1.3
* Fix header: use Authors (plural) for multiple authors
* Fix BIP header format for CI compliance
- Change Type from 'Standards Track' to 'Specification' (valid type)
- Change 'Created' to 'Assigned' (correct field name per BIP format)
- Change 'Post-History' to 'Discussion' (recognized field in buildtable.pl)
* Apply suggestion from @murchandamus
---------
Co-authored-by: Jesse Posner <jesse.posner@gmail.com>
This approach is incompatible with the sys.path extension approach
in the next commit which is used to to find the vendored copy of
secp256k1lab, so use __file__ instead which works as well.
Updated sequence diagrams to use text format instead of mermaid syntax.
I cargo cult'd the RFC Rules:
> “How are images handled for the plain text version of an RFC?”
> The RFC Editor will accept both ASCII art and SVG. If only ASCII art is provided, it will be included in all publication formats. If ASCII art and SVG are both provided, ASCII art will be included in the plain text, and SVG in all other outputs. A note indicating alternative artwork is available is strongly advised. If only SVG is provided, a URI will be included in the plain-text publication format pointing to the HTML version. All artwork and figures should have a complete written description to support assisted reader technology.
see: https://www.rfc-editor.org/rse/format-faq/
Since BIPs don't publish html/pdf renders, ASCII art seems like the right choice to render everywhere. Since normative prose is already provided, I chose not to include a written description of the diagrams to support assisted reader tech.
The Copyright section specifies additional conditions, so the License
header is not correct (or at least misleading). So let's just remove it.
This is pragmatic because the field was only added as part of the
activation of BIP 2 anyway, and there are other old BIPs with a License
header.
BIP2 states that the Discussions-To header should only be used if the
proposal was discussed somewhere else beside the Bitcoin Developer
Mailing List. Therefore, the only use of the Discussions-To header in
the repository is unnecessary and can be removed before the header is
abolished.
```
sed -z -i 's/Author: /Authors: /' bip-0*.md
sed -z -i 's/Author: /Authors: /' bip-0*.mediawiki
```
Also align correctly in case of multiple authors.
Also line up with additional items in the lines below.
```
sed -i -z 's/ Post-History: / Discussion: /' bip-0*.md
sed -i -z 's/ Post-History: / Discussion: /' bip-0*.mediawiki
```
```
sed -z -i 's/Type: Standards Track/Type: Specification/' bip-0*.md
sed -z -i 's/Type: Standards Track/Type: Specification/' bip-0*.mediawiki
```
After the scripted changes, the changes to BIP-40, BIP-41, and BIP-63
were undone, because it breaks CI.
These three BIPs only exist conceptually and their proposal documents
are missing which causes changes to them ot break the CI. I defer the
changes to these BIPs to a separate pull request to get CI to pass.