diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4b9a1d9..e1fa677 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
## Table of Contents
+- [r2.2](#r22)
- [r2.1 - rc](#r21---rc)
- [r1.2](#r12)
- [r1.1 - rc](#r11---rc)
@@ -16,6 +17,84 @@ The below sections record the changes for each API version in each release as fo
* for subsequent release-candidate(s), only the delta to the previous release-candidate
* for a public release, the consolidated changes since the previous public release
+## r2.2
+
+## Release Notes
+
+This public release contains the definition and documentation of
+* Blockchain Public Address v0.3.0
+* Blockchain Public Address Validation v0.1.0
+
+The API definition(s) are based on
+* Commonalities v0.6.0
+* Identity and Consent Management v0.4.0
+
+## Blockchain Public Address v0.3.0
+
+**Blockchain Public Address v0.3.0 is the first public release version for v0.3.0 of the Blockchain Public Address API.**
+- **This version contains changes compared to v0.2.0.**
+
+- API definition **with inline documentation**:
+ - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address.yaml&nocors)
+ - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address.yaml)
+ - OpenAPI [YAML spec file](https://github.com/camaraproject/BlockchainPublicAddress/blob/r2.2/code/API_definitions/blockchain-public-address.yaml)
+
+**Main changes since [r1.2](#r12)**
+
+### Added
+* Binding enforcement procedure, including addition of new errors `422 - BLOCKCHAIN_PUBLIC_ADDRESS.UNSUPPORTED_ENHANCED_VALIDATION`, `400 - BLOCKCHAIN_PUBLIC_ADDRESS.INVALID_NONCE`, `400 - BLOCKCHAIN_PUBLIC_ADDRESS.INVALID_SIGNATURE` and `400 - BLOCKCHAIN_PUBLIC_ADDRESS.BOTH_NONCE_SIGNATURE_REQUIRED` in https://github.com/camaraproject/BlockchainPublicAddress/pull/76, https://github.com/camaraproject/BlockchainPublicAddress/pull/95 and https://github.com/camaraproject/BlockchainPublicAddress/pull/97.
+* New section `# Additional CAMARA error responses` in `info.description` field in https://github.com/camaraproject/BlockchainPublicAddress/pull/99.
+
+### Changed
+* New pattern for `x-correlator` and model aligment with Commonalities in https://github.com/camaraproject/BlockchainPublicAddress/pull/99.
+* Update User Stories adding a new user story for Binding Enforcement and making some wording alignment in https://github.com/camaraproject/BlockchainPublicAddress/pull/100.
+* Update Gherkin feature files, adding a new test for testing invalid x-correlator value in all API endpoints, adding a specific test to check binding enforcement in `bindBlockchainPublicAddress` endpoint and making some wording alignments with Commonalities in https://github.com/camaraproject/BlockchainPublicAddress/pull/101 and https://github.com/camaraproject/BlockchainPublicAddress/pull/108.
+* Error schema model alignment with Commonalities in https://github.com/camaraproject/BlockchainPublicAddress/pull/108.
+
+### Fixed
+* N/A
+
+### Removed
+* `401 - AUTHENTICATION_REQUIRED` error in https://github.com/camaraproject/BlockchainPublicAddress/pull/99.
+
+## New Contributors
+* N/A
+
+## Blockchain Public Address Validation v0.1.0
+
+**Blockchain Public Address Validation v0.1.0 is the first public release version for v0.1.0 of the Blockchain Public Address Validation API.**
+- **This version defines a new API:**
+ - Initial version covering the following functionality and related endpoints:
+ - New endpoint `createBlockchainPublicAddressValidationNonce`, to generate a nonce (one-time challenge) in order to be able to perform binding enforcement in binding process defined in Blockchain Public Address API.
+
+
+- API definition **with inline documentation**:
+ - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address-validation.yaml&nocors)
+ - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address-validation.yaml)
+ - OpenAPI [YAML spec file](https://github.com/camaraproject/BlockchainPublicAddress/blob/r2.2/code/API_definitions/blockchain-public-address-validation.yaml)
+
+### Added
+* Baseline API specification definition in https://github.com/camaraproject/BlockchainPublicAddress/pull/76.
+* New section `# Additional CAMARA error responses` in `info.description` field in https://github.com/camaraproject/BlockchainPublicAddress/pull/102.
+* New pattern for `x-correlator` and model aligment with Commonalities in https://github.com/camaraproject/BlockchainPublicAddress/pull/102.
+* Generate User Stories in https://github.com/camaraproject/BlockchainPublicAddress/pull/103.
+* Generate Gherkin feature file, aligned with Commonalities in https://github.com/camaraproject/BlockchainPublicAddress/pull/104 and https://github.com/camaraproject/BlockchainPublicAddress/pull/108.
+
+### Changed
+* N/A
+
+### Fixed
+* N/A
+
+### Removed
+* N/A
+
+## New Contributors
+* N/A
+
+
+**Full Changelog**: https://github.com/camaraproject/BlockchainPublicAddress/compare/r1.2...r2.2
+
## r2.1 - rc
## Release Notes
diff --git a/README.md b/README.md
index e70e351..ec219d8 100644
--- a/README.md
+++ b/README.md
@@ -27,19 +27,19 @@ Sandbox API Repository to describe, develop, document, and test the BlockchainPu
## Release Information
* Note: Please be aware that the project will have updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**.
-* **The pre-release [r2.1 - rc](https://github.com/camaraproject/BlockchainPublicAddress/releases/tag/r2.1) for the Blockchain Public Address APIs is available.**
-
This is a release candidate. Until the public release there are bug fixes to be expected. The release candidate is suitable for implementors, but it is not recommended to use the APIs with customers in productive environments.
-
-* This pre-release includes the following APIs:
-- API name: Blockchain Public Address - API Definition v0.3.0-rc.1 with inline documentation:
- - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.1/code/API_definitions/blockchain-public-address.yaml&nocors)
- - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.1/code/API_definitions/blockchain-public-address.yaml)
- - OpenAPI [YAML spec file](https://github.com/camaraproject/BlockchainPublicAddress/blob/r2.1/code/API_definitions/blockchain-public-address.yaml)
-
-- API name: Blockchain Public Address Validation - API Definition v0.1.0-rc.1 with inline documentation:
- - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.1/code/API_definitions/blockchain-public-address-validation.yaml&nocors)
- - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.1/code/API_definitions/blockchain-public-address-validation.yaml)
- - OpenAPI [YAML spec file](https://github.com/camaraproject/BlockchainPublicAddress/blob/r2.1/code/API_definitions/blockchain-public-address-validation.yaml)
+* **NEW public release [r2.2](https://github.com/camaraproject/BlockchainPublicAddress/releases/tag/r2.2) for the Blockchain Public Address APIs is available.**
+
This is a public release.
+
+* This release includes the following APIs:
+- API name: Blockchain Public Address - API Definition v0.3.0 with inline documentation:
+ - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address.yaml&nocors)
+ - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address.yaml)
+ - OpenAPI [YAML spec file](https://github.com/camaraproject/BlockchainPublicAddress/blob/r2.2/code/API_definitions/blockchain-public-address.yaml)
+
+- API name: Blockchain Public Address Validation - API Definition v0.1.0 with inline documentation:
+ - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address-validation.yaml&nocors)
+ - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/code/API_definitions/blockchain-public-address-validation.yaml)
+ - OpenAPI [YAML spec file](https://github.com/camaraproject/BlockchainPublicAddress/blob/r2.2/code/API_definitions/blockchain-public-address-validation.yaml)
* Other releases of this sub project are available in [BlockchainPublicAddress Releases](https://github.com/camaraproject/BlockchainPublicAddress/releases)
* For changes see [CHANGELOG.md](/CHANGELOG.md)
diff --git a/code/API_definitions/blockchain-public-address-validation.yaml b/code/API_definitions/blockchain-public-address-validation.yaml
index c6c1eca..262f941 100644
--- a/code/API_definitions/blockchain-public-address-validation.yaml
+++ b/code/API_definitions/blockchain-public-address-validation.yaml
@@ -2,7 +2,7 @@ openapi: 3.0.3
info:
title: Blockchain Public Address Validation
description: |-
- Allows to generate a one-time nonce for Enhanced Binding validation for Blockchain Public Address associated with a mobile phone number.
+ This API allows the API consumer to generate a one-time nonce for Enhanced Binding validation for Blockchain Public Address associated with a mobile phone number.
# Relevant Definitions and concepts
- **Blockchain Public Address**: Unique string of code used by individuals that can be used to send, receive, and store digital assets (e.g. payments in cryptocurrencies, smart contracts, NFT (Non-Fungible Tokens), etc.) on a blockchain network
@@ -37,13 +37,13 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
- version: 0.1.0-rc.1
+ version: 0.1.0
x-camara-commonalities: 0.6
externalDocs:
description: Product documentation at Camara
url: https://github.com/camaraproject/BlockchainPublicAddress
servers:
- - url: "{apiRoot}/blockchain-public-address-validation/v0.1rc1"
+ - url: "{apiRoot}/blockchain-public-address-validation/v0.1"
variables:
apiRoot:
default: http://localhost:9091
diff --git a/code/API_definitions/blockchain-public-address.yaml b/code/API_definitions/blockchain-public-address.yaml
index 9f04452..0768af1 100644
--- a/code/API_definitions/blockchain-public-address.yaml
+++ b/code/API_definitions/blockchain-public-address.yaml
@@ -2,14 +2,14 @@ openapi: 3.0.3
info:
title: Blockchain Public Address
description: |-
- Allows to manage Blockchain Public Address associated with a mobile phone number.
+ This API allows the API consumer to manage Blockchain Public Address associated with a mobile phone number.
# Relevant Definitions and concepts
- **Blockchain Public Address**: Unique string of code used by individuals that can be used to send, receive, and store digital assets (e.g. payments in cryptocurrencies, smart contracts, NFT (Non-Fungible Tokens), etc.) on a blockchain network
to receive or request payments in cryptocurrency.
# API Functionality
- This API allows to manage a Blockchain Public Address associated with a mobile phone number, i.e.: to retrieve the Blockchain Public Address(es) and to bind/unbind a Blockchain Public Address.
+ This API allows the API consumer to manage a Blockchain Public Address associated with a mobile phone number, i.e.: to retrieve the Blockchain Public Address(es) and to bind/unbind a Blockchain Public Address.
# Resources and Operations overview
This API provides three endpoints:
@@ -25,7 +25,7 @@ info:
The API consumer can request the user to sign a `nonce` off-chain, and then include the `nonce` and `signature` in the request body when binding the Blockchain Public Address. The API Server will then verify that the `signature` is valid for the given `nonce` and `blockchainPublicAddress`.
The E2E procedure is depicted in below picture:
- 
+ 
LEGEND:
- `API Server`, `Challenge Module` and `Binding Database` are functional components that represent the underlying Backend API Logic in the Telco Operator. How this CAMARA API is implemented by a Telco Operator is out of scope of this specification.
@@ -58,13 +58,13 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
- version: 0.3.0-rc.1
+ version: 0.3.0
x-camara-commonalities: 0.6
externalDocs:
description: Product documentation at Camara
url: https://github.com/camaraproject/BlockchainPublicAddress
servers:
- - url: "{apiRoot}/blockchain-public-address/v0.3rc1"
+ - url: "{apiRoot}/blockchain-public-address/v0.3"
variables:
apiRoot:
default: http://localhost:9091
diff --git a/code/Test_definitions/blockchain-public-address-bindBlockchainPublicAddress.feature b/code/Test_definitions/blockchain-public-address-bindBlockchainPublicAddress.feature
index e2bfd36..8c3cf24 100644
--- a/code/Test_definitions/blockchain-public-address-bindBlockchainPublicAddress.feature
+++ b/code/Test_definitions/blockchain-public-address-bindBlockchainPublicAddress.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Blockchain Public Address API, v0.3.0-rc.1 - Operation bindBlockchainPublicAddress
+Feature: CAMARA Blockchain Public Address API, v0.3.0 - Operation bindBlockchainPublicAddress
# Input to be provided by the implementation to the tester
#
# Implementation indications:
@@ -11,7 +11,7 @@ Feature: CAMARA Blockchain Public Address API, v0.3.0-rc.1 - Operation bindBlock
# References to OAS spec schemas refer to schemas specifies in blockchain-public-address.yaml
Background: Common bindBlockchainPublicAddress setup
- Given the resource "/blockchain-public-address/v0.3rc1/blockchain-public-addresses"
+ Given the resource "/blockchain-public-address/v0.3/blockchain-public-addresses"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/blockchain-public-address-deleteBlockchainPublicAddress.feature b/code/Test_definitions/blockchain-public-address-deleteBlockchainPublicAddress.feature
index 7c717dd..80a6240 100644
--- a/code/Test_definitions/blockchain-public-address-deleteBlockchainPublicAddress.feature
+++ b/code/Test_definitions/blockchain-public-address-deleteBlockchainPublicAddress.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Blockchain Public Address API, v0.3.0-rc.1 - Operation deleteBlockchainPublicAddress
+Feature: CAMARA Blockchain Public Address API, v0.3.0 - Operation deleteBlockchainPublicAddress
# Input to be provided by the implementation to the tester
#
# Implementation indications:
@@ -11,7 +11,7 @@ Feature: CAMARA Blockchain Public Address API, v0.3.0-rc.1 - Operation deleteBlo
# References to OAS spec schemas refer to schemas specifies in blockchain-public-address.yaml
Background: Common deleteBlockchainPublicAddress setup
- Given the resource "/blockchain-public-address/v0.3rc1/blockchain-public-addresses/{id}"
+ Given the resource "/blockchain-public-address/v0.3/blockchain-public-addresses/{id}"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/blockchain-public-address-retrieveBlockchainPublicAddress.feature b/code/Test_definitions/blockchain-public-address-retrieveBlockchainPublicAddress.feature
index e16cffa..8895282 100644
--- a/code/Test_definitions/blockchain-public-address-retrieveBlockchainPublicAddress.feature
+++ b/code/Test_definitions/blockchain-public-address-retrieveBlockchainPublicAddress.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Blockchain Public Address API, v0.3.0-rc.1 - Operation retrieveBlockchainPublicAddress
+Feature: CAMARA Blockchain Public Address API, v0.3.0 - Operation retrieveBlockchainPublicAddress
# Input to be provided by the implementation to the tester
#
# Implementation indications:
@@ -11,7 +11,7 @@ Feature: CAMARA Blockchain Public Address API, v0.3.0-rc.1 - Operation retrieveB
# References to OAS spec schemas refer to schemas specifies in blockchain-public-address.yaml
Background: Common retrieveBlockchainPublicAddress setup
- Given the resource "/blockchain-public-address/v0.3rc1/blockchain-public-addresses/retrieve-blockchains"
+ Given the resource "/blockchain-public-address/v0.3/blockchain-public-addresses/retrieve-blockchains"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/blockchain-public-address-validation-createBlockchainPublicAddressValidationNonce.feature b/code/Test_definitions/blockchain-public-address-validation-createBlockchainPublicAddressValidationNonce.feature
index c77bd30..17ba86b 100644
--- a/code/Test_definitions/blockchain-public-address-validation-createBlockchainPublicAddressValidationNonce.feature
+++ b/code/Test_definitions/blockchain-public-address-validation-createBlockchainPublicAddressValidationNonce.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Blockchain Public Address Validation API, v0.1.0-rc.1 - Operation createBlockchainPublicAddressValidationNonce
+Feature: CAMARA Blockchain Public Address Validation API, v0.1.0 - Operation createBlockchainPublicAddressValidationNonce
# Input to be provided by the implementation to the tester
#
# Implementation indications:
@@ -11,7 +11,7 @@ Feature: CAMARA Blockchain Public Address Validation API, v0.1.0-rc.1 - Operatio
# References to OAS spec schemas refer to schemas specifies in blockchain-public-address-validation.yaml
Background: Common createBlockchainPublicAddressValidationNonce setup
- Given the resource "/blockchain-public-address-validation/v0.1rc1/blockchain-public-addresses"
+ Given the resource "/blockchain-public-address-validation/v0.1/blockchain-public-addresses"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/documentation/API_documentation/blockchain-public-address-API-Readiness-Checklist.md b/documentation/API_documentation/blockchain-public-address-API-Readiness-Checklist.md
index 4ad9756..94ef1cd 100644
--- a/documentation/API_documentation/blockchain-public-address-API-Readiness-Checklist.md
+++ b/documentation/API_documentation/blockchain-public-address-API-Readiness-Checklist.md
@@ -1,12 +1,12 @@
# API Readiness Checklist
-Checklist for BlockChain Public Address v0.3.0-rc.1 in r2.1
+Checklist for BlockChain Public Address v0.3.0 in r2.2
| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/blockchain-public-address.yaml) |
-| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) |
-| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) |
+| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) |
+| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | [link](/code/API_definitions/blockchain-public-address.yaml) |
| 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/blockchain-public-address-User-Story.md) |
diff --git a/documentation/API_documentation/blockchain-public-address-validation-API-Readiness-Checklist.md b/documentation/API_documentation/blockchain-public-address-validation-API-Readiness-Checklist.md
index 842f34b..83cdd09 100644
--- a/documentation/API_documentation/blockchain-public-address-validation-API-Readiness-Checklist.md
+++ b/documentation/API_documentation/blockchain-public-address-validation-API-Readiness-Checklist.md
@@ -1,12 +1,12 @@
# API Readiness Checklist
-Checklist for BlockChain Public Address Validation v0.1.0-rc.1 in r2.1
+Checklist for BlockChain Public Address Validation v0.1.0 in r2.2
| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/blockchain-public-address-validation.yaml) |
-| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) |
-| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) |
+| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) |
+| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | [link](/code/API_definitions/blockchain-public-address-validation.yaml) |
| 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/blockchain-public-address-validation-User-Story.md) |
@@ -16,7 +16,7 @@ Checklist for BlockChain Public Address Validation v0.1.0-rc.1 in r2.1
| 10 | API release numbering convention applied | M | M | M | M | Y | |
| 11 | Change log updated | M | M | M | M | Y | [link](/CHANGELOG.md) |
| 12 | Previous public release was certified | O | O | O | M | N | |
-| 13 | API description (for marketing) | O | O | M | M | N | |
+| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/AYASD) |
To fill the checklist:
- in the line above the table, replace the api-name, api-version and the rx.y by their actual values for the current API version and release.