- 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
ProofPointIdwhich forms part of the public interface of theProofPointRegistrywas previously not exported.
None
None
None
- Web3js dependency has been replaced by ethersjs dependency. The constructor of
ProofPointRegistryRootand that ofProofPointRegistryhave changed to accept anethers.providers.JsonRpcProviderinstead of aWeb3instance.
None
- Fixed: proof point is issued with
proof.registryRootfield wrongly set
None
None
None
- The way to construct an instance of the
ProofPointRegistryobject 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:webissuer doesn't work in browser. - Fixed:
did:webissuer doesn't support ids with subpaths such asdid:web:example.com:subpath
None
transactionHashfield added toEthereumProofPointEventtype.- Added support for
did:webissuer. 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
IssuedandCommittedevents to be identical to the version 1 contract and adding a new eventPublishedwhich 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.getByHashis renamed togetByIdand the fieldProofPointIssueResult.proofPointHashis renamed toproofPointId.
None
- Fixed types file location in
package.json - Use
ProofPointRegistry_v2ABI for interacting with the contract
None
ProofPointRegistry_v2smart contract introduced to replaceProofPointRegistry. The new contract augments theIssuedandCommittedevents with the new parameter_claimFullwhich 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.validateandproofPoint.validateByHashnow return the new typeProofPointVlaidationResultgiving 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.