- update identity contracts' purpose handling
- to match updated purpose handling
VERSION_ID
can be used to decide which version to use- newer identities will have version 1
- keys can be added and removed with multiple purposes at once (
addMultiPurposeKey
,removeMultiPurposeKey
) - accounts with purpose 3 can only be removed by themselves
- only one account with purpose 3 is allowed per identity
- add experimental support for identities on substrate via
vade
- use
activeIdentity
forOnboarding.createProfile
dataKey save
- add
sourceIdentity
as optional parameter forsetDidDocumentOffline
to explicitly parse the signing identity - add check in
createOfflineProfile
for company profile type to create two profiles otherwise only create one - add method
fillProfile
to fill empty profile - add method
getRuntimeForIdentity
to create a runtime for a specific identity - add methods
setIdentityAccess
,removeIdentityAccess
andgetIdentityAccessList
for managing access to identities - A DID document's
@context
andcontroller
properties can now also be arrays - ensure support for
Runtime
suseIdentity
flag in entire library - update following modules for
useIdentity
supportDigitalTwin
Onboarding
Payments
(limited, will undergo further changes in future)Verifications
Votings
- added
EvanIdentity
as authorization parameter to result ofutils.getSmartAgentAuthHeaders
(for usage sample have a look to edge-server-seed) - add
Identity
class and add functions for grant / remove access to act on behalf of identity - support identity salting for encryptionKey generation for
createDefaultRuntime
- Fixed bug where a new DID document proof would incorporate the old proof and thus would make the document increasingly larger
- Fixed bug for default DID documents that had a checksum case
ethereumAddress
property which made the proof validating mechanism fail - add
startBlock
argument toloadChannelFromBlockchain
inPayments
to avoid long running function calls - update tests to allow running tests via identity
- include identity tests to automatic test runs
- throw correct error message when running
setVerificationAndVc
without useIdentity runtime - use
useIdentity
flag forcreateOfflineProfile
- pass
password
tocreateOfflineProfile
to enable dataKey generation based on the users identity - checked node 13 compatibility
- reset executor signer for runtime initialization with account that has no identity
- add methods
deactivateDidDocument
anddidIsDeactivated
to check and handle DID deactivation status - improve performance of
shareProperties
,unshareProperties
,setContainerShareConfigs
and related operations inContainer
- add methods
deactivateDidDocument
anddidIsDeactivated
to check and handle DID deactivation status - added additional properties
updated
,created
, andproof
to DID documents - added proof validation to
getDidDocument
(only for documents that actually contain a proof) - export
config
andruntimeConfig
bycreateDefaultRuntime
- introduced interfaces for did documents
getDidDocument
,setDidDocument
, andsetDidDocumentOffline
- fix
credentialStatus.id
uses short hand path for resolver links - add check for
getRevokeVcStatus
to throw error when non existing VC is passed - fix
ipfsLib
now uses the configured port - fix
getListEntries
in the api docs - fix buffer-to-string conversion, try to decode to
utf8
, if this fails, decode it tobinary
- add
member-ordering
rule to eslint config - fix
container.getListEntry
to not throw an exception on call anymore - replaced deprecated property
owner
in DID publicKey fields withcontroller
- fix pending contract members after unshare
- update verification keys for onboarding, when
useIdentity
is enabled - reset
activeIdentity
withincreateOfflineProfile
when useIdentity is enabled
- add support for identity based accounts to
KeyExchange
,Sharing
andProfile
modules - update test setup to support identity based accounts
- adding DID generation upon onboarding
- allow
plugins
property withinDigitalTwin.create
to create initial containers - add
DigitalTwin.exportAsTemplate
to copy a existing twin configuration - ensure
DigitalTwin
andContainer
description to use at leastdbcpVersion
2 - update root verification handling to use genesis account
- add lookup method for an identity's owner's address
- add deactivation mechanism for twins
- add
signer-identity
to enable identity to getGasPrice using underlying account - add
setVerificationAndVc
function to enable VC creation for verification - update
Verifications
logic and tests to support identity based account
- use typescript version
3.7.4
- fix behavior of
DataContract
for unencrypted data - fix did public key handling to properly support proofs
- add checks for configured identity and account to prevent unintentional usage of active identity
- add support for custom DID registries for DID tests
- add
getPublicKey
implementation toSignerIdentity
- add
Did
module for managing DID documents - add possibility to instantiate a new
SignerIdentity
in two steps- can be used to create circular structures if required
- first call constructor, you can omit
config
argument - when rest (e.g. verifications) has been set up you can call
updateConfig
to finalizeSignerIdenty
instantiation
- add
getService
,setService
toDidResolver
- add
Vc
module for managing VC documents and revocations
- fix
Container
documentation links and add warning toContainerUnshareConfig
documentation - add interfaces used in exported classes to export list
- update pre-commit hook to use eslint for typescript
- add
setContainerShareConfigs
toContainer
API - add
removeEntries
toContainer
API - only allow
unshareProperties
for owner, if force attribute is set - add
remove
function toIpfs
- implement
unPinFileHash
function in dfs - remove old sharing ipfs hash within
saveSharingsToContract
- add
signer-identity
for making transactions via identity contract - add tests for encryption/decryption with identity based profiles
- move
expirationDate
informatToV2
to details object - fix profile type iot device specification
- ensure that content keys, before they get shared, are added to the
Container
keys - add
EncryptionWrapperCryptorType
,EncryptionWrapperKeyType
,EncryptionWrapperOptions
,EncryptionWrapper
toindex.ts
exports - update naming of verifications (replace older occurrences of "validations" with "verifications")
- remove registration company name and use accountName for all
- remove
stop
function fromIpfs
- export missing
unshareProperties
fromindex.ts
- fix handling of empty values in mappings of data contracts
- fix racing condition issue in sharing
- use container logic for profile management
- update onboarding logic to fit current profile setup
- add more cleanup and hardening to
unshareProperties
forContainer
API - add support to remove sharings to
Sharings
API - improve support for working with profiles of other users via
Profile
API
- fix race conditions in sharings update, which could occur when sharings are updated in parallel
- add
setProfileProperties
andgetProfileProperties
- remove custom agpl appendix
- add generic support for preparing and executing transactions via identity
- fix
notEnsRootOwner
check to allow each account that gets the/evan
account from the ens root owner - fix typos in variable naming
- update versions of dependencies
- improve performance of (digital twin) container creation process
- add helper for creating smart agent auth headers
- add
node-scrypt
as dependency to fix browserify build - fix
executor-agent
,executeContractCall
to return correctly receivedBigNumber
fromsmart-agent-executor
- update versions of dependencies
- remove unnecessary dependencies
- add support for
timeout
(adjusts transaction timeout) option toWallet
andExecutorWallet
- fix executor agent to be compatible with web3 1.2 and 2.0
- add
toString
to return correct value forverification.raw.topic
BigNumber result returned byweb3
1.0.0-beta.55
- fix verification v2 status compute and statusComputer
- fix dataKey generation with sha3
- add support for
web3
1.0.0-beta.55
- add support for delegated issuing of verifications
- add
getNestedVerificationsV2
with updated interfaces and return values for clearer identity status - add evan light docs design
- allow empty description for
Container.create
so it will fallback to default description - add empty check for recursive
Container
applyIfEncrypted
calls
- add default
boolean
defaultSchemas
toDataContainer
- add left padding for contract link setting and checking in
Verifications
as contract identity links are now stored as 32B
- reload
DataContainer
plugin definition before saving / deleting tree
- add
encryption-wrapper
as a wrapper for encryption, that realizes a uniform way to en- and decrypt different types of data with different key storages
- add correct loadForAccount logic to
DataContainer
plugins - move
DataContainer
plugin saving to separated profile space
- fix
linkIdentity
handling inverifications
module during identity creation
- add
gasPrice
option to runtime config - add support for contracts without description
- add
updateDescription
flag tocreateIdentity
to skip automatic description updates - add
isIdentity
flag toexecuteOnIdentity
confirmVerification
deleteVerification
getVerifications
rejectVerification
executeOnIdentity
(private)
- add
- fix empty accountStore by initializing runtime with mnemonic and password
- update docu for verifications
- fix handling of properties with schemas without properties
- replace null with empty string for
aes-ecb
createCipheriv
- rename
container
template
handling toplugin
- ContainerTemplate to ContainerPlugin
- defaultTemplate => defaultPlugin
- profilePluginsKey => profilePluginsKey
- templates => plugins
- toTemplate => toPlugin
- deleteContainerTemplate => deleteContainerPlugin
- getContainerTemplate => getContainerPlugin
- getContainerTemplates => getContainerPlugins
- saveContainerTemplate => saveContainerPlugin
- applyTemplate => applyPlugin
- fix hashing of passwords for generated profiles
- add profile creation in one line of code to Onboarding
- add the ability to initialize the runtime with a mnemonic and password
- use lodash for cloning
Container
templates - export lodash from index.ts for ui libraries
- use object dataSchema for
DataContainer
-ContainerFile
- fix deprecation warnings on node 11+
- add the ability to parse accountid + password in key config for runtime
- add static functions to
Container
to save, get and delete templates on users profile - add
ensureProperty
, that allows to add entries or lists to containers without setting values - add default schemas for property types
- add
getContainerShareConfigs
to retrieve all share configs - add file handling to
Container
module
- fix
getMembers
user fetching (now returns all accounts and not only the first 10)
- allow remove spaces and special characters from
ajv
schema$id
inDigitalTwin DataContainer
- fix relative loaded
ethereumjs-tx/index.js
fromlibs/eth-lightwallet/keystore.js
- add support for
MultiSigWalletSG
wallets to walletwallet
module - add tracking for file hashes saved with
ipld
module - fix
ensureVerificationDescription
to matchgetFullDescriptionDomainWithHash
ens paths - use correct defaultVerifications topics
loadActiveVerifications
- add support for passing
Logger
instance tocreateDefaultRuntime
- return
Logger
instance fromcreateDefaultRuntime
- add
digital-twin
module (wrapper forDigitalTwin
contracts) - add
container
module (DataContract
wrapper) - add support for type
array
indata-contract
(if type is array, subproperty.items
is used for list entry validation) - add support for templates to profile
- add support to automatically add property to profile when storing properties
- add support to check if an account can perform an operation to
RightsAndRoles
- fix
DataContract
getEntry
to load unencrypted data, when no profile for the requesting account exists - fix empty verification missing subjectIdentity
- verifications from the root evan user are never self issued
- remove build scripts for browserify bundle
- remove
bcc/bundles/bcc.ts
file and switch to generalizedindex.ts
for both, node and ui bundle (ui build job was moved to ui-dapps/evan-libs/bcc) - add dependency to
RightsAndRoles
toProfile
- add support for contract creation to
executor-wallet
- add support for handling multiple confirmations to
executor-wallet
andwallet
- use root level wallet factory (
wallet.factory.evan
) instead of a business center scoped wallet factory - add support for sending funds with transactions in
wallet
executor-wallet
now needsaccountId
option in constructor, which is used to execute internal transactions- add
disableSubVerifications
flags to verifications
- add
keepaliveInterval
toweb3
intest-utils
- remove
request
fromExecutorAgent
and replace it with a build in https / http request
- add accountId argument to
ClaimHolder
constructor - rename
Claims
toVerifications
- add nested verification functions and deep validity checks
- add ignoring of missing keys when decrypting unencrypted data
- update
setClaims
to use issuers identity for setting claims on subject - add linking and checks for contract identities
- add missing dbcpVersion to dbcp files
- add licenses to dbcp files
- remove
OriginIdentity
, asClaimHolder
is used for identities
- remove web3 initialization within the
ServiceContract
- use 1.0.0-beta.33, beta.37 will cause Websocket errors in Edge browser
- add own ipfs handler
- add ipfs identification header to enable future ipfs payments
- add
defaultClaims
toProfile
loadActiveClaims
- add
Votings
helper for holding votes on-chain - add support for
PayableRegistrar
, that allows to by domain names with EVEs - add support for ENS registries with time limited nodes
- add support for permanent ENS address on payable registrar
- add support for retrieving proposals paged
- add support for setting claims on contracts
- add description to claims
- add
addClaimWithMetadata
function to claims for setting claim and metadata at the same time - add creation block data to claim information
- claims are not overwritten anymore, but a new claim is created per set call
- add description setting (on central claims ENS domain)
- add description resolval to get function
- claims are no longer updateable, a new claim is created for every
setClaim
transaction
- adjust claims service to be ERC725/ERC735 compliant
- add
loadActiveClaims
andsetActiveClaims
function to profile to handle users active claims
- fix
Profile.exists
check, that threw if profile contract cannot be found
- add
getKeyHistory
tosharings
to retrieve all keys for an account and a section - add
bumpSharings
tosharings
, that adds a new key for all given accounts for given section - add
removeBcContract
toprofile
to remove profile entries that were written usingaddBcContract
- export
crypto
library,DBCP Validator
,DBCP Envelop
- export
createDefaultRuntime
within thebcc frontend bundle
+ adjust it for frontend smartcontracts usage
- fix
ipld
deleting issue, that occurred when deleting linked nodes in linked subtrees
- move require(
@evan.network/smart-contracts-core
) withincreateDefaultRuntime
to capsuled scope, to be able to require it only in backend scope - fix window checks on node environments
- fix initailization of aesblob with dfs
- fix rights and roles 0x0 encoding
- replace
interruptStep = 200
withinterruptStep = 2000
to fix old / mobile browser breaking by calling to many setTimeouts - add
AesBlob
to index export and runtime
- add
NameResolver
class, that extends DBCPs version withclaimAddress
that allows to claim domains from a fifs registrar node - add functions for editing sharings with
Sharings
module in bulk - improve
ServiceContract
call creation performance - add encryptioncontext to dataContract
- fix contract references in service contract calls
- fix decryption issues in service contracts
- add support for wallet/proxy contracts (current implementation allows n wallet owner with a required confirmation count of 1, to allow grouping of accounts)
- add
ExecutorWallet
, that wraps calls toWallet
, but behaves like the normalExecutor
- add
ExecutorAgent
, that wraps contract creation and interaction to edge-server actions - add
Claims
module for issuing and managing claims about other parties - add
getCallOwner
to get aServiceContracts
s call creator
- add validation for service definitions, calls and answers to
ServiceContract
- remove
@evan.network/smart-contracts-admin
dependency ServiceContracts
s getter for calls and answers now return null, if unable to decrypt to allow retrieving multiple calls/answers and ignore unrelated ones
- remove endpoint property from service contracts
- add support for adding sharing file hashes to cache to avoid duplicate contract calls
- add paging to
getCalls
andgetAnswers
inServiceContract
module - add function to clear sharing caches to
Sharing
module - add support for nested encryption to
ServiceContract
module - rename to api-blockchain-core
- change service call encryption schema to multi-sharings based encryption
- add docu for rights-and-roles.ts, ipld.ts
- use @evan.network for package name and dependencies scopes
- add .npmignore
- (deprecation) rights-and-roles.ts:hasUserRole second argument "accountId" will be dropped, as it isn't required anymore
- rename contractus variables to evan
- rename bcc-core bundle to bcc
- rename BCCCore to CoreRuntime
- rename BCCProfile to ProfileRuntime
- rename BCCBC to BCRuntime
- allow overwriting runtimes nameResolver with runtimeConfig
- fix unbound entry retrieval in DataContract.getListEntries by adding paging to it
- add
removeAccountFromRole
andtransferOwnership
toRightsAndRoles
for better permission management - make
extendSharings
publicly accessible for adding properties to sharings without saving them - add
createSharing
toDataContract
and accept a sharings hash increateContract
, which allows to decouple sharing creation and contract creation - accept ipld hashes in
storeForAccount
inProfile
to decouple tree encryption and property storing - add support for multi-sharings to
Sharings
module - add multi-sharing support to
ServiceContract
module
- DBCP update
- Fix web3 reconnect
- Add iframe support for dapps
- initial version and release candidate for 1.0.0