- Updated some dependencies to include security fixes
- Add DummyProofPointAuthenticator
- Web requests to resolve the DID of the issuer are cached.
- Added support for basic authentication when using IPFS.
None
None
- Fix some errors in v1 specification document
- Enforce use CORS mode when POSTing to IPFS
None
- The API for issuing and validating a proof point has changed. See README.md.
None
JS dependencies upgraded
None
None
None
- When writing to the registry you can optionally provide your own signer, which can be useful when using a Provider that cannot provide a Signer.
None
None
- Compatible with Node runtime
None
None
- Compatible with IPFS version 0.7
None
- No longer compatible with IPFS versions prior to 0.7
None
- The type
ProofPointId
which forms part of the public interface of theProofPointRegistry
was previously not exported.
None
None
None
- Web3js dependency has been replaced by ethersjs dependency. The constructor of
ProofPointRegistryRoot
and that ofProofPointRegistry
have changed to accept anethers.providers.JsonRpcProvider
instead of aWeb3
instance.
None
- Fixed: proof point is issued with
proof.registryRoot
field wrongly set
None
None
None
- The way to construct an instance of the
ProofPointRegistry
object hash changed. See README.md for details
- Proper handling of did:web identifiers including ports:
did:web:example.com%3A1234
None
None
None
- Fixed:
did:web
issuer doesn't work in browser. - Fixed:
did:web
issuer doesn't support ids with subpaths such asdid:web:example.com:subpath
None
transactionHash
field added toEthereumProofPointEvent
type.- Added support for
did:web
issuer. This is now possible:await api.issue(<type>, 'did:web:example.com', <content>);
.
None
None
- Added API:
ProofPointRegistry.deploy(...)
to deploy an instance of the registry contracts - Added API:
ProofPointRegistry.canUpgrade()
to determine whether this library can upgrade the deployed logic contract - Added API:
ProofPointRegistry.upgrade()
to perform a logic contract upgrade - Added API:
ProofPointRegistry.getAll()
to get a list of the IDs of all Proof Points ever issued or committed. - Added API:
ProofPointRegistry.getHistory(...)
to fetch a list of blockchain events related to the given Proof Point.
- Fixed ProofPointRegistry_v2 smart contract to be ABI backwards compatible with the previous version. This is done by reverting the
Issued
andCommitted
events to be identical to the version 1 contract and adding a new eventPublished
which is used to record a list of all Proof Point IDs.
- The way the API is initialized and used has changed. To construct an instance of the API for a pre-existing registry deployment use the constructor
const api = new ProofPointRegistry(...)
. You must then initialize the API:await api.init()
. Interact with the Proof Point registry using methods directly on the API object e.g.api.issue(...)
. - Proof point 'hash' is now referred to as 'ID' throughout and this has changed some API names for example
ProofPointRegistry.getByHash
is renamed togetById
and the fieldProofPointIssueResult.proofPointHash
is renamed toproofPointId
.
None
- Fixed types file location in
package.json
- Use
ProofPointRegistry_v2
ABI for interacting with the contract
None
ProofPointRegistry_v2
smart contract introduced to replaceProofPointRegistry
. The new contract augments theIssued
andCommitted
events with the new parameter_claimFull
which is the unhashed IPFS hash of the Proof Point document which can be used to fetch the document from IPFS. The smart contract ABI remains backwards compatible.
None
None
- new API
proofPoints.getByHash(hash)
fetches a Proof Point document given its hash
None
None
- Improved Proof Point validation API
None
proofPoint.validate
andproofPoint.validateByHash
now return the new typeProofPointVlaidationResult
giving more information about the status of the Proof Point.
Migrated from Javascript to Typescript
None
Some parts of API that were previously public by default are now correctly private and inaccessible.