BREAKING CHANGES:
- Tendermint v0.33.3.
- [CheckTx / DeliverTx] Remove
SignData
method. AddCreateAsResponse
method.
IMPROVEMENTS:
- Update Tendermint version to v0.33.3.
- [DeliverTx]
CreateIdpResponse
acceptserror_code
. - [DeliverTx]
CreateAsResponse
acceptserror_code
. - [DeliverTx] Add
AddErrorCode
method. - [DeliverTx] Add
RemoveErrorCode
method. - [DeliverTx] Add
whitelist
array andagent
flag (only IdP) to node details. - [Query] Add
agent
flag to IdP node details. - [Query] Add
whitelist
array to node details. - [Query] Add
agent
andfilter_for_node_id
parameters toGetIdpNodes
andGetIdpNodesInfo
. - [Query] Add
whitelist
array andagent
flag toGetIdpNodes
andGetIdpNodesInfo
. - [Query] Add
GetErrorCodeList
method. - [Docker] Use golang:1.14 when building image.
- [Docker] Use alpine:3.11 when building image.
IMPROVEMENTS:
- Save Tx signature check results in CheckTx and use them in DeliverTx - Attempt to reduce DeliverTx time and CPU consumption.
- Refactor app state, key name and prefixes.
- Change internal package name.
- [Docker] Change Go version used in images from 1.12 to 1.13.
BREAKING CHANGES:
- Tendermint v0.32.1.
IMPROVEMENTS:
- Use Go modules instead of dep.
- Update Tendermint version to v0.32.1.
- [Query] Add
active
property to result ofGetNodeInfo
. - [Query] Add
ial
property to result ofGetIdpNodes
andGetIdpNodesInfo
. - [Docker] Update leveldb version to 1.22.
- [Docker] Remove default user.
- [Docker] Remove default owner and permission settings.
- [Docker] Remove
TERM
env. - [Docker] Add docker-entrypoint.sh as image entrypoint which will check existence and owner of
ABCI_DB_DIR_PATH
andTMHOME
.
OTHERS:
- [Docker] Remove
jq
andcurl
from docker image.
NOTES:
- [Docker] Docker container may be run with
-u
or--user
flag (e.g.-u 65534:65534
). In case you are using docker-compose,user
may be specified in docker-compose file (e.g.user: 65534:65534
) (see Compose file reference for more detail). - [Docker] When running docker container with non-root user, source directories that will be mounted into the container as
ABCI_DB_DIR_PATH
andTMHOME
must be created beforehand with the non-root user as owner.
BREAKING CHANGES:
- [DeliverTx] Remove
first
andhash_id
property from parameters ofRegisterIdentity
. - [DeliverTx] Add
reference_group_code
,new_identity_list
,mode_list
,accessor_id
,accessor_public_key
,accessor_type
andrequest_id
property to parameters ofRegisterIdentity
. - [DeliverTx] Remove
accessor_group_id
property from parameters ofAddAccessor
. - [DeliverTx] Add
identity_namespace
,identity_identifier_hash
, andreference_group_code
property to parameters ofAddAccessor
. - [DeliverTx] Change function name from
RevokeAccessorMethod
toRevokeAccessor
. - [DeliverTx] Add
supported_namespace_list
property to parameters ofRegisterServiceDestination
. - [DeliverTx] Add
supported_namespace_list
property to parameters ofUpdateServiceDestination
. - [DeliverTx] Remove
identity_proof
andprivate_proof_hash
property from parameters ofCreateIdpResponse
. - [DeliverTx] Remove
hash_id
property from parameters ofUpdateIdentity
. - [DeliverTx] Add
reference_group_code
,identity_namespace
andidentity_identifier_hash
property to parameters ofUpdateIdentity
. - [DeliverTx] Add
allowed_identifier_count_in_reference_group
andallowed_active_identifier_count_in_reference_group
property to parameters ofAddNamespace
. - [DeliverTx] Remove
valid_proof
property fromresponse_valid_list
in parameters ofCloseRequest
. - [DeliverTx] Remove
valid_proof
property fromresponse_valid_list
in parameters ofTimeOutRequest
. - [DeliverTx] Add
supported_request_message_data_url_type_list
property to parameters ofUpdateNode
(IdP nodes only). - [DeliverTx] Add new functions (
AddIdentity
,UpdateIdentityModeList
,RevokeIdentityAssociation
,SetAllowedModeList
,UpdateNamespace
andSetAllowedMinIalForRegisterIdentityAtFirstIdp
). - [DeliverTx] Remove
ClearRegisterIdentityTimeout
,SetTimeOutBlockRegisterIdentity
,RegisterAccessor
andDeclareIdentityProof
function. - [Query] Remove
hash_id
property from parameters ofGetIdpNodes
. - [Query] Add
mode_list
andsupported_request_message_data_url_type_list
property to parameters ofGetIdpNodes
. - [Query] Add
supported_request_message_data_url_type_list
property to list ofnode
in result ofGetIdpNodes
. - [Query] Remove
hash_id
property from parameters ofGetIdpNodesInfo
. - [Query] Add
mode_list
andsupported_request_message_data_url_type_list
property to parameters ofGetIdpNodesInfo
. - [Query] Add
supported_request_message_data_url_type_list
property to list ofnode
in result ofGetIdpNodesInfo
. - [Query] Add
supported_namespace_list
property to parameters ofGetAsNodesByServiceId
. - [Query] Add
supported_namespace_list
property to parameters ofGetAsNodesInfoByServiceId
. - [Query] Add
supported_namespace_list
property to parameters ofGetServicesByAsID
. - [Query] Remove
hash_id
property from parameters ofCheckExistingIdentity
. - [Query] Add
reference_group_code
,identity_namespace
andidentity_identifier_hash
property to parameters ofCheckExistingIdentity
. - [Query] Remove
hash_id
property from parameters ofGetIdentityInfo
. - [Query] Add
reference_group_code
,identity_namespace
andidentity_identifier_hash
property to parameters ofGetIdentityInfo
. - [Query] Add
mode_list
property to result ofGetIdentityInfo
. - [Query] Add
allowed_identifier_count_in_reference_group
andallowed_active_identifier_count_in_reference_group
property to result ofGetNamespaceList
. - [Query] Remove
identity_proof
,private_proof_hash
,valid_proof
fromresponse_list
in result ofGetIdentityInfo
. - [Query] Add
supported_request_message_data_url_type_list
property to result ofGetNodeInfo
(IdP nodes only). - [Query] Add
supported_request_message_data_url_type_list
property to result ofGetNodesBehindProxyNode
(IdP nodes only). - [Query] Add new function (
GetReferenceGroupCode
,GetReferenceGroupCodeByAccessorID
,GetAllowedModeList
andGetAllowedMinIalForRegisterIdentityAtFirstIdp
). - [Query] Remove
GetIdentityProof
function.
IMPROVEMENTS:
- Update Tendermint version to v0.31.5.
BREAKING CHANGES:
- Change underlying data structure for app state storage.
- Remove IAVL dependency.
- Change DeliverTx logic for
recheck = false
.
IMPROVEMENTS:
- Update Tendermint version to v0.30.2.
- Add Prometheus support.
IMPROVEMENTS:
- Bundle ABCI app (proxy app) with Tendermint into single process.
- Use cleveldb instead of goleveldb.
- Update Tendermint version to v0.26.4.
- Change environment variable names and behavior
DB_NAME
changed toABCI_DB_DIR_PATH
.LOG_LEVEL
changed toABCI_LOG_LEVEL
.LOG_TARGET
changed toABCI_LOG_TARGET
and accepts only eitherconsole
orfile
.- New variable
ABCI_LOG_FILE_PATH
for specifying log file path whenABCI_LOG_TARGET
is set tofile
. - New variable
ABCI_DB_TYPE
for specifying database backend type to use. Options are the same as Tendermint'sdb_backend
config. Default iscleveldb
.
- [Docker] Build Tendermint bundled with ABCI app (proxy app) image with cleveldb support.
- [Migrate script] Move script to
migration-tools
repo.
SECURITY FIXES:
- [DeliverTx] Fix
nonce
does not get saved to state DB in every transactions.
BUG FIXES:
- [DeliverTx] Return invalid error when set non existent validator (
SetValidator
). - [DeliverTx] Check request is not closed or timed out (
SetDataReceived
).
BREAKING CHANGES:
- Change version of Tendermint to v0.26.3
IMPROVEMENTS:
- [Docker] Add set config
recheck
to true to start script. (Fix transactions stuck in mempool until more Tx is broadcasted in some cases when there are multiple validator nodes.) - [Info] Add app protocol version.
BUG FIXES:
- [Migrate script] Filter out
setLastBlock
key.
IMPROVEMENTS:
- [DeliverTx] Add
chain_history_info
property to parameters ofInitNDID
. - [Query] Add new function (
GetChainHistory
).
SECURITY FIXES:
- [CheckTx] Check duplicate
nonce
in every transactions.
IMPROVEMENTS:
- [Docker] Add set config
recheck
andrecheck_empty
to false to start script.
BUG FIXES:
- [CheckTx] Add previously removed (in v0.11.1) transaction checking.
BREAKING CHANGES:
- Use deterministic Protobuf marshalling.
- Use Protobuf to store node's token instead of string.
- Remove Tx price history recording on DeliverTx since it causes performance issue when there are a lot of stored token usage records.
- Remove
GetUsedTokenReport
function. - [DeliverTx] Check node ID is valid and role is
AS
(RegisterServiceDestinationByNDID
,EnableServiceDestinationByNDID
andDisableServiceDestinationByNDID
). - [DeliverTx] Add new functions (
RevokeAccessorMethod
). - [DeliverTx] Check request is closed with valid ial, proof and signature (
AddAccessorMethod
). - [DeliverTx] Add new functions (
SetLastBlock
) for disble create transaction.
IMPROVEMENTS:
- [Query] Add new function (
GetAccessorOwner
). - [Dependency] Update iavl version to 0.11.0.
- [Query] Add
creation_chain_id
property to result ofGetRequestDetail
. - [DeliverTx] Add new function (
EndInit
) for NDID.
NOTHING CHANGES, BUMP VERSION TO MATCH API REPOSITORY
IMPROVEMENTS:
- Align the happy path to the left edge.
BREAKING CHANGES:
- [DeliverTx] Check all IdP in
idp_id_list
is active (CreateRequest
). - [DeliverTx] Check all AS in
as_id_list
is active (CreateRequest
).
IMPROVEMENTS:
- [Query] Filter proxy node is not active
GetIdpNodesInfo
. - [Query] Filter proxy node is not active
GetAsNodesInfoByServiceId
.
BREAKING CHANGES:
- [DeliverTx] Delete
node_id
property from parameters ofSetMqAddresses
- [DeliverTx] Add
idp_id_list
property to parameters ofCreateRequest
- [DeliverTx] Add
purpose
property to parameters ofCreateRequest
- [Query] Return
purpose
insteadspecial
in result ofGetRequestDetail
. - [CheckTx] Check proxy node is active when creating a transaction.
- [DeliverTx] Add
data_schema
anddata_schema_version
property to parameters ofAddService
andUpdateService
. - [Query] Add
data_schema
anddata_schema_version
property to result ofGetServiceDetail
.
IMPROVEMENTS:
- Refactor code.
- [Query] Add
idp_id_list
property to result ofGetRequestDetail
. - [Key/Value store] Add accessorID in accessorGroupID relation.
- [Query] Add new function (
GetAccessorsInAccessorGroup
). - [Query] Add
creation_block_height
property to result ofGetRequestDetail
.
BUG FIXES:
- [DeliverTx] Fix unmarshal error in
UpdateNodeProxyNode
. - [DeliverTx] Remove invalid key of
MqAddresses
inAddNodeToProxyNode
.
BREAKING CHANGES:
- Rename functions
RegisterMsqAddress
toSetMqAddresses
RegisterMsqDestination
toRegisterIdentity
ClearRegisterMsqDestinationTimeout
toClearRegisterIdentityTimeout
SetTimeOutBlockRegisterMsqDestination
toSetTimeOutBlockRegisterIdentity
CreateIdentity
toRegisterAccessor
GetMsqAddress
toGetMqAddresses
- [DeliverTx] Update
RegisterNode
to be able to register proxy node. - [DeliverTx] Add new functions (
AddNodeToProxyNode
,UpdateNodeProxyNode
andRemoveNodeFromProxyNode
). - [Query] Add new functions (
GetNodesBehindProxyNode
,GetNodeIDList
). - [Key/Value store] Change all stored data format in app state DB from
JSON
toProtobuf
.
IMPROVEMENTS:
- Change Tx and Query input format from base64 string to byte array.
- [Query] Add
GetIdpNodesInfo
function for get IdP node with mq addresses. - [Query] Add
GetAsNodesInfoByServiceId
function for get AS node with mq addresses. - [Query] Add mq addresses property to result of
GetNodeInfo
. - [Query] Add
requester_node_id
to request returns from callingGetRequestDetail
BUG FIXES:
- [Query] Node name is invalid after update node (GetAsNodesByServiceId)
- [DeliverTx] Return invalid code and log when call
UpdateNode
by NDID
IMPROVEMENTS:
- [Query] Return log "not found" and value in JSON format when query not found
- [DeliverTx] Check service is active (RegisterServiceDestination)
IMPROVEMENTS:
- [Docker] Set umask to 027 and use user nobody to run service
- [Docker] Add security_opt: no-new-priviledges in docker-compose file
BREAKING CHANGES:
- [DeliverTx] Remove DisableMsqDestination, DisableAccessorMethod, EnableMsqDestination and EnableAccessorMethod functions
IMPROVEMENTS:
- [CheckTx] Check amount value to be greater than or equal to zero (token function)
- [CheckTx] Check node is active when creating a transaction
- [DeliverTx] Check service is active (SignData)
- [DeliverTx] Check service destination is active (SignData)
- [DeliverTx] Check service destination is approved by NDID (SignData)
IMPROVEMENTS:
- [CircleCI] Update configuration for tendermint 0.22.8
BUG FIXES:
- [DeliverTx] Can not update RP and AS node (UpdateNodeByNDID)
- [DeliverTx] Check msq desination is not timed out (ClearRegisterMsqDestinationTimeout)
BUG FIXES:
- [Docker] Update path for download tendermint
BREAKING CHANGES:
- Change version of Tendermint to v0.22.8
- Change JSON property name
requestId
torequest_id
in parameter of all methods
IMPROVEMENTS:
- [DeliverTx] Check request is not closed (CloseRequest)
- [DeliverTx] Check request is not timed out (TimeOutRequest)
- [CheckTx] Validate public key (PEM format, RSA type with at least 2048-bit length is allowed)
- [Docker] Update Tendermint version to v0.22.8
- [Docker] Change Tendermint config to not create empty block (
create_empty_blocks = false
) - [DeliverTx] Add valid_signature in response_valid_list to CloseRequest and TimeOutRequest parameter
- [DeliverTx] Add time out block of first MsqDestination (RegisterMsqDestination)
- [DeliverTx] Add function for set time out block (SetTimeOutBlockRegisterMsqDestination)
IMPROVEMENTS:
- Refactor code - Use switch-case instead of reflect pkg
- [DeliverTx] Remove check responseValid in CloseRequest and TimeOutRequest
- [Docker] Change Tendermint config to create empty block with interval of 30 seconds
- [DeliverTx] Add node_name to UpdateNodeByNDID parameter
BUG FIXES:
- [CheckTx] Return a correct code when receiving invalid transaction format
- [Query] Return a correct price when query "GetPriceFunc" with height
BREAKING CHANGES:
- Change version of Tendermint to v0.22.4
IMPROVEMENTS:
- [DeliverTx] Check responseValid in CloseRequest and TimeOutRequest
BREAKING CHANGES:
- [DeliverTx] Add master_public_key in parameter of InitNDID
FEATURES:
- [DeliverTx] Add new function (EnableMsqDestination, DisableMsqDestination, EnableAccessorMethod, DisableAccessorMethod, EnableService, DisableService, EnableNode, DisableNode, EnableNamespace, DisableNamespace, RegisterServiceDestinationByNDID, EnableServiceDestinationByNDID, DisableServiceDestinationByNDID, EnableServiceDestination, DisableServiceDestination)
- [CheckTx] Check method name
IMPROVEMENTS:
- [Docker] Use alpine:3.7 when building tendermint image
BREAKING CHANGES:
- Change version of Tendermint to v0.22.0
- [DeliverTx] Change transaction format
- [Query] Change query data format
- [DeliverTx] Before AS can RegisterServiceDestination need approval from NDID
- [DeliverTx] Change parameter of RegisterMsqDestination
- [Key/Value store] Add active flag in struct of MsqDestination, Accessor, Service , Node and Namespace
- [Query] Filter active flag (GetIdpNodes, GetAsNodesByServiceId, GetNamespaceList, GetServicesByAsID)
BUG FIXES:
- [DeliverTx] Fix missing
success
tag when creating a transaction with invalid signature
FEATURES:
- [CircleCI] Add a configuration for automatic test, build, and deploy image to dockerhub
BUG FIXES:
- [Query] Set special request if owner is IdP (GetRequestDetail)
BREAKING CHANGES:
- [Key/Value store] Remove key "NodePublicKeyRole"|<node’s public key> because allow to have duplicate key in network (unique only nodeID)
BUG FIXES:
- [DPKI] Fix when update public key with exist key in network and system set wrong role in stateDB
INITIAL:
- Initial release of NDID Smart Contract