- Updated the minimum required Rust version to 1.81. This change is due to multiple dependencies of this crate now requiring Rust 1.81 or later
- Upgraded
proof_system
,bbs_plus
,dock_crypto_utils
, andlegogroth16
dependencies - Upgraded
oxrdf
,oxttl
,oxsdatatypes
,oxiri
, andrdf-canon
dependencies - Upgraded other dependencies
- Added more detailed errors related to verification methods
- Upgraded
oxrdf
,oxttl
,oxsdatatypes
, andrdf-canon
dependencies, allowing us to remove thealpha
tag from the version - Upgraded
serde_cbor
tociborium
for CBOR serialization to resolve RUSTSEC-2021-0127 - Refactored
KeyGraph
struct
- Added
KeyPairBase58Btc
to generate base58btc-encoded keypairs - Upgraded
oxsdatatypes
andoxiri
dependencies
- BREAKING Changed key encoding format from
base64url
tobase58btc
+multicodecs
- BREAKING Replaced PPID representation with
did:key
instead ofppid:
- BREAKING Upgraded
docknetwork/crypto
libraries (proof_system
,bbs_plus
,dock_crypto_utils
,legogroth16
) resulting in breaking changes in several cryptographic objects - Updated
oxrdf
,oxttl
,rdf-canon
, and other dependencies
- Separated zk-SNARK proving keys and verifying keys in several test cases
- Adjusted the input conditions for
derive_proof
to correctly exclude invalid input patterns - Added verification rule for rejecting VP with empty statements
- Improved formatting
- Upgraded
oxrdf
,oxttl
, andrdf-canon
dependencies
- Relax the input conditions for
derive_proof
to allow deriving VP without VCs but only with PPID
- Increased the previously insufficient vector capacity in
signature::hash
function
- Upgraded
oxrdf
,oxttl
,oxsdatatypes
,oxiri
, andrdf-canon
from GitHub sources to pre-release versions on crates.io - Published pre-release version on crates.io
- Updated README
- Predicate proofs generation and verification
- The way of hashing terms with datatype of
xsd:date
,xsd:dateTime
,schema:Date
,schema:DateTime
, andxsd:integer
to allow range proofs - Upgrade dependencies
- change
proofPurpose
of VP fromassertionMethod
toauthentication
to align with the spec
- Blind signing feature
- PPID feature
domain
parameter toderive_proof
andverify_proof
- Allow inclusion of committed secrets in VP, generated by
derived_proof
, for using VP as an issuance request for bound VC - Helper functions for mutual conversion between ark object and multibase
- Set current datetime for
created
if not provided - Type aliases to abstract cryptographic structs like
Bls12_381
,SignatureParamsG1
, and so forth
- Rename
nonce
tochallenge
- Modify
sign
,sign_string
,blind_sign
,blind_sign_string
to generate the entire proof, not just the proof value - Simplify serialization and deserialization of proofValue (
ProofWithIndexMap
) and serialization of proof spec context (ProofSpecContext
)