feat(crypto): CRP-2665 make ic-cdk optional and support wasm+js env in ic-validator-ingress-message #3369
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adapts
ic-validator-ingress-message
to support Javascript WASM environments for Cargo builds via a new featurejs
, and also makesic-cdk
optional, but still keepsic-cdk
enabled by default, to keep backwards compatibility.Both
cargo build -p ic-validator-ingress-message --target=wasm32-unknown-unknown --no-default-features --features=js
andcargo build -p ic-validator-ingress-message --target=wasm32-unknown-unknown --features=js
succeed.
Note that
cargo build -p ic-validator-ingress-message --target=wasm32-unknown-unknown
fails becausegetrandom
is not supported for wasm*-unknown-unknown targets. Canisters that want to use ic-validator-ingress-message have to manually fix this, for example by using ouric-crypto-getrandom-for-wasm
crate. There is alsoic-validator-ingress-message-test-canister
to test the usage ofic-validator-ingress-message
from a canister.