Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Table of Contents

- [r2.2](#r22)
- [r2.1 - rc](#r21---rc)
- [r1.2](#r12)
- [r1.1 - rc](#r11---rc)
Expand All @@ -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
Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.**
<br>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.**
<br>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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions code/API_definitions/blockchain-public-address.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
![Binding Enforcement - Off-Chain Signature](https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/main/documentation/API_documentation/resources/blockchain-public-address-binding-enforcement-off-chain-signature.png)
![Binding Enforcement - Off-Chain Signature](https://raw.githubusercontent.com/camaraproject/BlockchainPublicAddress/r2.2/documentation/API_documentation/resources/blockchain-public-address-binding-enforcement-off-chain-signature.png)

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.
Expand Down Expand Up @@ -58,13 +58,13 @@ info:
license:
Copy link
Contributor

@Kevsy Kevsy Sep 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 28: Please change the link to the "Binding Enforcement" image : it currently includes /main/ in the path, which must be replace with /r2.2/

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
Expand Down
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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"
Expand Down
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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"
Expand Down
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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"
Expand Down
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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"
Expand Down
Original file line number Diff line number Diff line change
@@ -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<br>public | stable<br> 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) |
Expand Down
Loading