Skip to content

Commit

Permalink
feat(satp): refactor ODAP package to SATP
Browse files Browse the repository at this point in the history
Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt>

docs(satp): add reference to IETF draft version in README.md

Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
  • Loading branch information
AndreAugusto11 committed Jan 30, 2024
1 parent 73ff593 commit 734fcbd
Show file tree
Hide file tree
Showing 161 changed files with 5,760 additions and 9,165 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1659,11 +1659,11 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh
# cactus-plugin-odap-hermes:
# cactus-plugin-satp-hermes:
# continue-on-error: false
# env:
# FULL_BUILD_DISABLED: true
# JEST_TEST_PATTERN: packages/cactus-plugin-odap-hermes/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
# JEST_TEST_PATTERN: packages/cactus-plugin-satp-hermes/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
# JEST_TEST_RUNNER_DISABLED: false
# TAPE_TEST_RUNNER_DISABLED: true
# needs: build-dev
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/ghpkg-all-kotlin-api-clients-publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -206,19 +206,19 @@ jobs:
name: cactus-plugin-keychain-memory-wasm-kotlin-client-${{ env.GITVERSION }}.jar
path: packages/cactus-plugin-keychain-memory-wasm/src/main/kotlin/generated/openapi/kotlin-client/build/libs/kotlin-client-1.0.0.jar

- name: build-cactus-plugin-odap-hermes-kotlin-client
- name: build-cactus-plugin-satp-hermes-kotlin-client
run: |
WDIR=`pwd`
cd ${WDIR}/packages/cactus-plugin-odap-hermes/src/main/kotlin/generated/openapi/kotlin-client
cd ${WDIR}/packages/cactus-plugin-satp-hermes/src/main/kotlin/generated/openapi/kotlin-client
chmod +x gradlew
./gradlew clean
./gradlew build
- name: publish-cactus-plugin-odap-hermes-kotlin-client
- name: publish-cactus-plugin-satp-hermes-kotlin-client
uses: actions/upload-artifact@v3.0.0
with:
name: cactus-plugin-odap-hermes-kotlin-client-${{ env.GITVERSION }}.jar
path: packages/cactus-plugin-odap-hermes/src/main/kotlin/generated/openapi/kotlin-client/build/libs/kotlin-client-1.0.0.jar
name: cactus-plugin-satp-hermes-kotlin-client-${{ env.GITVERSION }}.jar
path: packages/cactus-plugin-satp-hermes/src/main/kotlin/generated/openapi/kotlin-client/build/libs/kotlin-client-1.0.0.jar

- name: build-cactus-example-supply-chain-business-logic-plugin-kotlin-client
run: |
Expand Down
12 changes: 6 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
* **connector-fabric:** runTransactionV1 Open API validation crash ([516dd49](https://github.com/hyperledger/cacti/commit/516dd49fd443fc2d50b003104301b8060327b35a))
* ejs critical vulnerability CVE-2022-29078 ([2813b75](https://github.com/hyperledger/cacti/commit/2813b75bf5eebb7505ec05817c584324b3b6b149))
* **indy-validator:** fix package dependencies ([a28641a](https://github.com/hyperledger/cacti/commit/a28641ae47bd686af76d85ac22bcc84548211c59)), closes [#2596](https://github.com/hyperledger/cacti/issues/2596)
* **plugin-odap-hermes:** fix duplicate enum values of OdapMessageType ([292d287](https://github.com/hyperledger/cacti/commit/292d2876abdc8eedfe9b51ed70ed0bc32db63e48)), closes [#2553](https://github.com/hyperledger/cacti/issues/2553)
* **plugin-satp-hermes:** fix duplicate enum values of OdapMessageType ([292d287](https://github.com/hyperledger/cacti/commit/292d2876abdc8eedfe9b51ed70ed0bc32db63e48)), closes [#2553](https://github.com/hyperledger/cacti/issues/2553)
* **security:** crash in HeaderParser in dicer ([77fb559](https://github.com/hyperledger/cacti/commit/77fb559532448aae45cfe704da2637119bf93c27))
* **security:** the CVE-2022-2421 - upgrade socket.io-parser to >=4.2.1 ([9172172](https://github.com/hyperledger/cacti/commit/917217227a3fa53a00429f047cd6318862e6ab8d)), closes [#2229](https://github.com/hyperledger/cacti/issues/2229) [#2228](https://github.com/hyperledger/cacti/issues/2228)
* **security:** upgrade fabric 2.x deps to 2.2.18 ([36988a5](https://github.com/hyperledger/cacti/commit/36988a5edbf9856a1bcc960a3b9afe443536733e)), closes [#2610](https://github.com/hyperledger/cacti/issues/2610)
Expand Down Expand Up @@ -126,7 +126,7 @@ configuration.

* **build:** sync-ts-config script needs import assertion of type json ([aa936ec](https://github.com/hyperledger/cactus/commit/aa936ec9e2c7b905c737c7721854c8b6bc305709)), closes [#2163](https://github.com/hyperledger/cactus/issues/2163)
* **connector-iroha:** fix review comments and smaller issues ([b2742e8](https://github.com/hyperledger/cactus/commit/b2742e8f6512f9804c6b4a943947b5bbe90785f0)), closes [PR#2048](https://github.com/PR/issues/2048)
* **odap-plugin:** fixes [#2198](https://github.com/hyperledger/cactus/issues/2198) - two gateways are using the same database ([9da24a0](https://github.com/hyperledger/cactus/commit/9da24a0ecd5e8682cbd6e6edbc349149b5d69d00))
* **satp-plugin:** fixes [#2198](https://github.com/hyperledger/cactus/issues/2198) - two gateways are using the same database ([9da24a0](https://github.com/hyperledger/cactus/commit/9da24a0ecd5e8682cbd6e6edbc349149b5d69d00))
* **plugin-ledger-connector-iroha:** running dockerfile locally ([f5faaab](https://github.com/hyperledger/cactus/commit/f5faaab75cecf22f588f0cdcb502952652fee058)), closes [#1874](https://github.com/hyperledger/cactus/issues/1874)
* **security:** vulnerabilities found in test-npm-registry ([4bbe012](https://github.com/hyperledger/cactus/commit/4bbe012d3db1f8264b19a2c822b45c72f46cb32c)), closes [#2061](https://github.com/hyperledger/cactus/issues/2061)
* **test-tooling:** substrate test ledger fails if WS_PORT not specified ([c668c41](https://github.com/hyperledger/cactus/commit/c668c41dcb4294530978e98349cd9158026d37e7)), closes [#2213](https://github.com/hyperledger/cactus/issues/2213)
Expand Down Expand Up @@ -188,9 +188,9 @@ configuration.
* **corda4:** implement monitoring of state changes ([865ec2f](https://github.com/hyperledger/cactus/commit/865ec2f097df73e4907d812b18c2acf25e7896b1)), closes [#1610](https://github.com/hyperledger/cactus/issues/1610)
* **keychain-aws-sm:** bootstrap readme.md ([060f351](https://github.com/hyperledger/cactus/commit/060f3514a3dfaf19dab52345c0f0d2f80b12149c)), closes [#968](https://github.com/hyperledger/cactus/issues/968)
* **keychain-azure-kv:** complete request handler and endpoints ([932df10](https://github.com/hyperledger/cactus/commit/932df106734ec63146d1dc97d8db9c54d26086c6)), closes [#1010](https://github.com/hyperledger/cactus/issues/1010) [#1349](https://github.com/hyperledger/cactus/issues/1349)
* **odap-plugin:** addition of client endpoints ([cfa8db6](https://github.com/hyperledger/cactus/commit/cfa8db6c96e314bcefd6958b9823c4e0a5cf9620))
* **odap-plugin:** backup gateway implementation ([61da528](https://github.com/hyperledger/cactus/commit/61da5289cefe55527bf6ef3cd6204b6ae7002ce1))
* **odap-plugin:** odap crash recovery first implementation ([2e94ef8](https://github.com/hyperledger/cactus/commit/2e94ef8d3b34449c7b4d48e37d81245851477a3e))
* **satp-plugin:** addition of client endpoints ([cfa8db6](https://github.com/hyperledger/cactus/commit/cfa8db6c96e314bcefd6958b9823c4e0a5cf9620))
* **satp-plugin:** backup gateway implementation ([61da528](https://github.com/hyperledger/cactus/commit/61da5289cefe55527bf6ef3cd6204b6ae7002ce1))
* **satp-plugin:** odap crash recovery first implementation ([2e94ef8](https://github.com/hyperledger/cactus/commit/2e94ef8d3b34449c7b4d48e37d81245851477a3e))
* **quorum-connector:** implement validator interface on go-quorum-connector ([8d36bea](https://github.com/hyperledger/cactus/commit/8d36bea5146a544a2cb4615ec7291a1b425e568f)), closes [#1604](https://github.com/hyperledger/cactus/issues/1604)
* **sawtooth-ledger:** add single sawtooth test ledger image ([cd4c746](https://github.com/hyperledger/cactus/commit/cd4c7460f6e005ce56a0d79edea6f609756bf9d5)), closes [#2108](https://github.com/hyperledger/cactus/issues/2108) [#2030](https://github.com/hyperledger/cactus/issues/2030)
* **secret:** remove Validator/Verifier secret keys from repository ([59b4af4](https://github.com/hyperledger/cactus/commit/59b4af44835e2babafe398040a280ed23e9b490e))
Expand Down Expand Up @@ -221,7 +221,7 @@ Signed-off-by: Michal Bajer <michal.bajer@fujitsu.com>
* **deps:** ensure glob-parent is above 5.1.2 - CVE-2020-28469 ([23ded0f](https://github.com/hyperledger/cactus/commit/23ded0f7095559796525bbebc45ae39e65306855)), closes [#1916](https://github.com/hyperledger/cactus/issues/1916)
* fix faulty shutdownHook definition in the Config-Schema ([fbae2da](https://github.com/hyperledger/cactus/commit/fbae2da4071ebbf40cc1941a1d2261b8b06fe8f0)), closes [#1648](https://github.com/hyperledger/cactus/issues/1648)
* **plugin-ledger-connector-fabric-socketio:** upgrade Fabric due to jsrsasign ([a9ecb19](https://github.com/hyperledger/cactus/commit/a9ecb192cb32661c5bdd9ea684f35a90c7948f6a)), closes [#1754](https://github.com/hyperledger/cactus/issues/1754) [#1799](https://github.com/hyperledger/cactus/issues/1799)
* **plugin-odap-hermes:** remove extraneous dependencies ([87af023](https://github.com/hyperledger/cactus/commit/87af02305be25cdb8afb7e1b7a2464bf36791b6e)), closes [#1641](https://github.com/hyperledger/cactus/issues/1641)
* **plugin-satp-hermes:** remove extraneous dependencies ([87af023](https://github.com/hyperledger/cactus/commit/87af02305be25cdb8afb7e1b7a2464bf36791b6e)), closes [#1641](https://github.com/hyperledger/cactus/issues/1641)
* remove jade dependencies ([f4ce09e](https://github.com/hyperledger/cactus/commit/f4ce09e8c07949aa08e4bfd404e4468e6c3544a8)), closes [#1662](https://github.com/hyperledger/cactus/issues/1662)
* reset script from package.json does not work [#1656](https://github.com/hyperledger/cactus/issues/1656) ([c74e002](https://github.com/hyperledger/cactus/commit/c74e002a636994bd1b864fa0bde495bfc5026f9f))
* **security:** address CVE-2019-5413 ([212b770](https://github.com/hyperledger/cactus/commit/212b770c705c279dcc766b7230d7519ed9a98748)), closes [#1777](https://github.com/hyperledger/cactus/issues/1777)
Expand Down
2 changes: 1 addition & 1 deletion examples/cactus-example-cbdc-bridging-backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"@hyperledger/cactus-plugin-ledger-connector-fabric": "2.0.0-alpha.2",
"@hyperledger/cactus-plugin-ledger-connector-xdai": "2.0.0-alpha.2",
"@hyperledger/cactus-plugin-object-store-ipfs": "2.0.0-alpha.2",
"@hyperledger/cactus-plugin-odap-hermes": "2.0.0-alpha.2",
"@hyperledger/cactus-plugin-satp-hermes": "2.0.0-alpha.2",
"@hyperledger/cactus-test-tooling": "2.0.0-alpha.2",
"@openzeppelin/contracts": "4.9.3",
"@openzeppelin/contracts-upgradeable": "4.9.3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,23 @@ import {
import {
Configuration,
DefaultApi as OdapApi,
IOdapPluginKeyPair,
} from "@hyperledger/cactus-plugin-odap-hermes";
} from "@hyperledger/cactus-plugin-satp-hermes/";
import { PluginKeychainMemory } from "@hyperledger/cactus-plugin-keychain-memory";
import { CbdcBridgingAppDummyInfrastructure } from "./infrastructure/cbdc-bridging-app-dummy-infrastructure";
import { DefaultApi as FabricApi } from "@hyperledger/cactus-plugin-ledger-connector-fabric";
import { DefaultApi as BesuApi } from "@hyperledger/cactus-plugin-ledger-connector-besu";
import { ISatpPluginKeyPair } from "@hyperledger/cactus-plugin-satp-hermes";
import { DefaultApi as IpfsApi } from "@hyperledger/cactus-plugin-object-store-ipfs";
import { FabricOdapGateway } from "./odap-extension/fabric-odap-gateway";
import { BesuOdapGateway } from "./odap-extension/besu-odap-gateway";
import { FabricSatpGateway } from "./satp-extension/fabric-satp-gateway";
import { BesuSatpGateway } from "./satp-extension/besu-satp-gateway";
import CryptoMaterial from "../../crypto-material/crypto-material.json";

export interface ICbdcBridgingApp {
apiHost: string;
apiServer1Port: number;
apiServer2Port: number;
clientGatewayKeyPair: IOdapPluginKeyPair;
serverGatewayKeyPair: IOdapPluginKeyPair;
clientGatewayKeyPair: ISatpPluginKeyPair;
serverGatewayKeyPair: ISatpPluginKeyPair;
logLevel?: LogLevelDesc;
apiServerOptions?: ICactusApiServerOptions;
disableSignalHandlers?: true;
Expand Down Expand Up @@ -236,6 +236,6 @@ export interface IStartInfo {
readonly ipfsApiClient: IpfsApi;
readonly besuApiClient: BesuApi;
readonly fabricApiClient: FabricApi;
readonly fabricOdapGateway: FabricOdapGateway;
readonly besuOdapGateway: BesuOdapGateway;
readonly fabricOdapGateway: FabricSatpGateway;
readonly besuOdapGateway: BesuSatpGateway;
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ import { PluginRegistry } from "@hyperledger/cactus-core";
import { PluginObjectStoreIpfs } from "@hyperledger/cactus-plugin-object-store-ipfs";
import AssetReferenceContractJson from "../../../solidity/asset-reference-contract/AssetReferenceContract.json";
import CBDCcontractJson from "../../../solidity/cbdc-erc-20/CBDCcontract.json";
import { IOdapPluginKeyPair } from "@hyperledger/cactus-plugin-odap-hermes";
import { FabricOdapGateway } from "../odap-extension/fabric-odap-gateway";
import { BesuOdapGateway } from "../odap-extension/besu-odap-gateway";
import { ISatpPluginKeyPair } from "@hyperledger/cactus-plugin-satp-hermes";
import { FabricSatpGateway } from "../satp-extension/fabric-satp-gateway";
import { BesuSatpGateway } from "../satp-extension/besu-satp-gateway";
import { PluginImportType } from "@hyperledger/cactus-core-api";
import CryptoMaterial from "../../../crypto-material/crypto-material.json";

Expand Down Expand Up @@ -303,12 +303,12 @@ export class CbdcBridgingAppDummyInfrastructure {

public async createClientGateway(
nodeApiHost: string,
keyPair: IOdapPluginKeyPair,
keyPair: ISatpPluginKeyPair,
ipfsPath: string,
): Promise<FabricOdapGateway> {
): Promise<FabricSatpGateway> {
this.log.info(`Creating Source Gateway...`);
const pluginSourceGateway = new FabricOdapGateway({
name: "cactus-plugin-source#odapGateway",
const pluginSourceGateway = new FabricSatpGateway({
name: "cactus-plugin-source#satpGateway",
dltIDs: ["DLT2"],
instanceId: uuidv4(),
keyPair: keyPair,
Expand All @@ -330,12 +330,12 @@ export class CbdcBridgingAppDummyInfrastructure {

public async createServerGateway(
nodeApiHost: string,
keyPair: IOdapPluginKeyPair,
keyPair: ISatpPluginKeyPair,
ipfsPath: string,
): Promise<BesuOdapGateway> {
): Promise<BesuSatpGateway> {
this.log.info(`Creating Recipient Gateway...`);
const pluginRecipientGateway = new BesuOdapGateway({
name: "cactus-plugin-recipient#odapGateway",
const pluginRecipientGateway = new BesuSatpGateway({
name: "cactus-plugin-recipient#satpGateway",
dltIDs: ["DLT1"],
instanceId: uuidv4(),
keyPair: keyPair,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ import {
InvokeContractV1Request as BesuInvokeContractV1Request,
} from "@hyperledger/cactus-plugin-ledger-connector-besu";
import {
IOdapPluginKeyPair,
PluginOdapGateway,
} from "@hyperledger/cactus-plugin-odap-hermes";
import { SessionDataRollbackActionsPerformedEnum } from "@hyperledger/cactus-plugin-odap-hermes";
ISatpPluginKeyPair,
PluginSatpGateway,
} from "@hyperledger/cactus-plugin-satp-hermes";
import { SessionDataRollbackActionsPerformedEnum } from "@hyperledger/cactus-plugin-satp-hermes";
import { ClientHelper } from "./client-helper";
import { ServerHelper } from "./server-helper";

export interface IBesuOdapGatewayConstructorOptions {
export interface IBesuSatpGatewayConstructorOptions {
name: string;
dltIDs: string[];
instanceId: string;
keyPair?: IOdapPluginKeyPair;
keyPair?: ISatpPluginKeyPair;
backupGatewaysAllowed?: string[];

ipfsPath?: string;
Expand All @@ -36,13 +36,13 @@ export interface IBesuOdapGatewayConstructorOptions {
knexConfig?: Knex.Config;
}

export class BesuOdapGateway extends PluginOdapGateway {
export class BesuSatpGateway extends PluginSatpGateway {
public besuApi?: BesuApi;
public besuContractName?: string;
public besuWeb3SigningCredential?: Web3SigningCredential;
public besuKeychainId?: string;

public constructor(options: IBesuOdapGatewayConstructorOptions) {
public constructor(options: IBesuSatpGatewayConstructorOptions) {
super({
name: options.name,
dltIDs: options.dltIDs,
Expand All @@ -58,7 +58,7 @@ export class BesuOdapGateway extends PluginOdapGateway {
}

private defineBesuConnection(
options: IBesuOdapGatewayConstructorOptions,
options: IBesuSatpGatewayConstructorOptions,
): void {
const fnTag = `${this.className}#defineBesuConnection()`;

Expand Down Expand Up @@ -124,7 +124,7 @@ export class BesuOdapGateway extends PluginOdapGateway {

let besuCreateAssetProof = "";

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "exec",
operation: "create-asset",
Expand Down Expand Up @@ -175,14 +175,14 @@ export class BesuOdapGateway extends PluginOdapGateway {
`${fnTag}, proof of the asset creation: ${besuCreateAssetProof}`,
);

await this.storeOdapProof({
await this.storeSatpProof({
sessionID: sessionID,
type: "proof",
operation: "create",
data: besuCreateAssetProof,
});

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "done",
operation: "create-asset",
Expand All @@ -207,7 +207,7 @@ export class BesuOdapGateway extends PluginOdapGateway {

let besuDeleteAssetProof = "";

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "exec",
operation: "delete-asset",
Expand Down Expand Up @@ -254,14 +254,14 @@ export class BesuOdapGateway extends PluginOdapGateway {
`${fnTag}, proof of the asset deletion: ${besuDeleteAssetProof}`,
);

await this.storeOdapProof({
await this.storeSatpProof({
sessionID: sessionID,
type: "proof",
operation: "delete",
data: besuDeleteAssetProof,
});

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "done",
operation: "delete-asset",
Expand All @@ -286,7 +286,7 @@ export class BesuOdapGateway extends PluginOdapGateway {

let besuLockAssetProof = "";

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "exec",
operation: "lock-asset",
Expand Down Expand Up @@ -330,14 +330,14 @@ export class BesuOdapGateway extends PluginOdapGateway {

this.log.info(`${fnTag}, proof of the asset lock: ${besuLockAssetProof}`);

await this.storeOdapProof({
await this.storeSatpProof({
sessionID: sessionID,
type: "proof",
operation: "lock",
data: besuLockAssetProof,
});

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "done",
operation: "lock-asset",
Expand All @@ -362,7 +362,7 @@ export class BesuOdapGateway extends PluginOdapGateway {

let besuUnlockAssetProof = "";

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "exec-rollback",
operation: "unlock-asset",
Expand Down Expand Up @@ -412,14 +412,14 @@ export class BesuOdapGateway extends PluginOdapGateway {
`${fnTag}, proof of the asset unlock: ${besuUnlockAssetProof}`,
);

await this.storeOdapProof({
await this.storeSatpProof({
sessionID: sessionID,
type: "proof-rollback",
operation: "unlock",
data: besuUnlockAssetProof,
});

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "done-rollback",
operation: "unlock-asset",
Expand Down Expand Up @@ -450,7 +450,7 @@ export class BesuOdapGateway extends PluginOdapGateway {

let besuCreateAssetProof = "";

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "exec-rollback",
operation: "create-asset",
Expand Down Expand Up @@ -504,14 +504,14 @@ export class BesuOdapGateway extends PluginOdapGateway {
`${fnTag}, proof of the asset create: ${besuCreateAssetProof}`,
);

await this.storeOdapProof({
await this.storeSatpProof({
sessionID: sessionID,
type: "proof-rollback",
operation: "create",
data: besuCreateAssetProof,
});

await this.storeOdapLog({
await this.storeSatpLog({
sessionID: sessionID,
type: "done-rollback",
operation: "create-asset",
Expand Down
Loading

0 comments on commit 734fcbd

Please sign in to comment.