Releases: Internet-of-People/iop-rs
Releases · Internet-of-People/iop-rs
Ascent Comments
Added
- New WASM bindings:
allNetworkNames()
lists all network names that are accepted as a parameter in some methods.Bip39.shortEntropy()
,Bip39.shortPhrase()
improves compatibility with old wallets like Coinomi.wrapWithNonce()
helps adding extra entropy to a JSON document, where selective masking will be used.MorpheusPrivate.path
andMorpheusPrivateKind.path
returns BIP32 derivation paths to allow compatibility with other wallets.MorpheusOperationSigner.signWithId()
makes it easier to sign with a key if only its identifier is known to the caller.JwtBuilder.timeToLive
property helps to override the default 5s expiration of tokens.new MorpheusSignableOperation(json)
andnew MorpheusSignedOperation(json)
mirrorsMorpheusSignableOperation.toJSON()
and
MorpheusSignedOperation.toJSON()
, so it is easier to build complex SSI transactions.
- Documented all WASM methods in the SDK, except those related to Coeus for now.
Changed
- Vault freshly created from a random seed is dirty (unsaved).
- All crates are now using Rust edition 2021.
Transaction Relation
Fixed
JsSubtreePolicies
methods should not take ownership of self
Added
- Exposed all 4 DID kinds (persona, device, group, resource) through WASM, FFI and vault file format.
- Exposed SignedJson serialization format through WASM and FFI.
- Made the native Rust SDK more usable by re-exporting symbols through it.
- Morpheus node stores transaction ID of PoE SSI operations, so it can be queried in IBeforeProofHistory.
- scripts/publish.sh helps publishing all crates in the correct order.
Property Properly
Fixed
- DID documents generated were missing the
index
property in the objects in thekeys
list.
Changed
- Separated
sign
andsignWithKey
methods onMorpheusOperationSigner
both in WASM and FFI
Load Node Mode
- Separated node-wasm and sdk-wasm, so hydra-core plugins can have code that does not bloat the SDK
- Multicipher objects can be safely downcasted in Rust to secp and ed cipher objects.
- Added some missing bindings to WASM and FFI
Taming Naming
We're heavily refactoring our crate structure while implementing Coeus, our decentralized naming system as the second Layer-2 component. Our end goal is to make fine-grained crates for reducing dependency footprint for integrators by separating client/server sides and making Morpheus and Coeus optional plugins.
Added
- Coeus: generic decentralized naming system built on top of a distributed ledger. Allows binding arbitrary data to names, allowing naming schemas, wallets, DIDs, devices, etc. This helps public figures and services to be more accessible and transparent. For more details, see the IOP Developer Portal.
Changed
- BREAKING: changed crate hierarchy
- coeus-core: a temporary crate with proto, sdk and node parts are not separated yet
- coeus-core-wasm: WebAssembly bindings for Coeus, sdk and node parts are not separated yet
- hydra-proto: extracted hydra-dependent blockchain features (e.g. Morpheus and Coeus transactions) into their own crate
- hydra-sdk: Hydra BIP32 subtree plugin for the Vault
- morpheus-sdk-legacy: the old morpheus-sdk is now considered to be legacy code and was thus renamed
- morpheus-sdk: Morpheus BIP32 subtree plugin for the Vault
- sdk: IOP aggregate crate for clients (stub)
- vault: extracted keyvault state serialization into its own crate
Fixed
- serde structure of Morpheus transactions, parsing them will not collide with core transactions
- core transactions without an asset will not serialize an
"asset": "none"
JSON field - cleaned up some basic API types like BlockHeight and BlockCount
- fixed contact email in crate descriptions
Finest digest
Change
- Extracted and released
json-digest
as separate crate
Aligned minds
Added
- Create and verify JWT tokens with multicipher
- Hydra transaction builder, exposed on FFI and Wasm
- transfer
- vote
- unvote
HydraSigner
available on Wasm- xprv on
HydraPrivate
Humble rumble
v0.0.2 First github release, yeay