Comments (1)
Ok, it looks like the call let json = ssi_json_ld::syntax::to_value_with(copy, Default::default).unwrap();
in Credential::to_dataset_for_signing
is where it goes wrong.
Comparison of the json
variable when serde_json/arbitrary_precision
feature is not enabled and when it is enabled:
When it is not enabled (irrelevant detail truncated):
...
Meta(
"chainId",
Span {
start: 0,
end: 0,
},
): Meta(
Number(
"5",
),
Span {
start: 0,
end: 0,
},
),
...
When it is enabled:
...
Meta(
"chainId",
Span {
start: 0,
end: 0,
},
): Meta(
Object(
{
Meta(
"$serde_json::private::Number",
Span {
start: 0,
end: 0,
},
): Meta(
String(
"5",
),
Span {
start: 0,
end: 0,
},
),
},
),
),
...
So it looks like because ssi_json_ld::syntax::to_value_with
calls serde::Serialize
, it's inheriting the problem described here. I'm not very familiar with how serde Serializers are implemented, but perhaps it's possible to somehow specify special behavior for "$serde_json::private::Number".
Unfortunately I'm not able to disable the arbitrary_precision feature, since it's buried my dependency on the ethers-rs crate. But ideally that crate would avoid using the arbitrary_precision flag.
Related:
- serde-rs/json#505
- gakonst/ethers-rs#2206 (including ethers-rs crate was the original cause of this conflict for me)
from ssi.
Related Issues (20)
- Use an enum for the resolution metadata errors
- Expiration date is ignored by verify method
- Cleanup unused/undefined compile conditions HOT 1
- "kid" field in JWT-formatted VP HOT 7
- Error during didkit build
- Remove openssl dependency
- The "nbf" field in JWT VCs contains a milliseconds part that will lead to interopt issues with JSON-LD. Same may be true for "iat" and "exp" fields.
- Allow users to chose between JWS and LD proof format
- `json-ld` 0.9.1
- Patch to support UNECE Buy Ship Pay and UNECE Recommendation 21 Contexts HOT 1
- ssi-ldp 0.2.0 fails to compile HOT 6
- Millisecond precision called for by VC data model HOT 2
- did:web resolver HTTP client creation is very slow HOT 3
- Ed25519VerificationKey2018 doesn't support publicKeyJwk apparently HOT 1
- `cargo test --package ssi-vc --all-features` is missing some test vectors HOT 1
- Refactor error in PrimaryDIDURL::from_str; missing crucial validity check
- did:key with `jwk_jcs-pub` multicodec HOT 1
- VC's `termOfUse` type clarification HOT 3
- Looking to get PR approved HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ssi.