Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
43 lines
2.3 KiB
Go
43 lines
2.3 KiB
Go
/*
|
|
The dagcbor package provides a DAG-CBOR codec implementation.
|
|
|
|
The Encode and Decode functions match the codec.Encoder and codec.Decoder function interfaces,
|
|
and can be registered with the go-ipld-prime/multicodec package for easy usage with systems such as CIDs.
|
|
|
|
Importing this package will automatically have the side-effect of registering Encode and Decode
|
|
with the go-ipld-prime/multicodec registry, associating them with the standard multicodec indicator numbers for DAG-CBOR.
|
|
|
|
This implementation follows most of the rules of DAG-CBOR, namely:
|
|
|
|
- by and large, it does emit and parse CBOR!
|
|
|
|
- only explicit-length maps and lists will be emitted by Encode;
|
|
|
|
- only tag 42 is accepted, and it must parse as a CID;
|
|
|
|
- only 64 bit floats will be emitted by Encode.
|
|
|
|
This implementation is also not strict about certain rules:
|
|
|
|
- Encode is order-passthrough when emitting maps (it does not sort, nor abort in error if unsorted data is encountered).
|
|
To emit sorted data, the node should be sorted before applying the Encode function.
|
|
|
|
- Decode is order-passthrough when parsing maps (it does not sort, nor abort in error if unsorted data is encountered).
|
|
To be strict about the ordering of data, additional validation must be applied to the result of the Decode function.
|
|
|
|
- Decode will accept indeterminate length lists and maps without complaint.
|
|
(These should not be allowed according to the DAG-CBOR spec, nor will the Encode function re-emit such values,
|
|
so this behavior should almost certainly be seen as a bug.)
|
|
|
|
- Decode does not consistently verify that ints and floats use the smallest representation possible (or, the 64-bit version, in the float case).
|
|
(Only these numeric encodings should be allowed according to the DAG-CBOR spec, and the Encode function will not re-emit variations,
|
|
so this behavior should almost certainly be seen as a bug.)
|
|
|
|
A note for future contributors: some functions in this package expose references to packages from the refmt module, and/or use them internally.
|
|
Please avoid adding new code which expands the visibility of these references.
|
|
In future work, we'd like to reduce or break this relationship entirely
|
|
(in part, to reduce dependency sprawl, and in part because several of
|
|
the imprecisions noted above stem from that library's lack of strictness).
|
|
*/
|
|
package dagcbor
|