Skip to content

Commit

Permalink
docs(examples): prepare SATP code for 2024 Member Summit
Browse files Browse the repository at this point in the history
Squashed together the commits on the satp-dev branch to make it easier to
rebase onto upstream/main.

The list of commits that were squashed:

feat(satp-Hermes): gateway refactor WIP

Signed-off-by: Rafael Belchior <[email protected]>

feat(bungee): add skeleton for bungee

Signed-off-by: André Augusto <[email protected]>

refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI

* created new messages in openAPI definition

feat(bungee): fix bungee dependencies

Signed-off-by: André Augusto <[email protected]>

feat(SATP-Hermes): gateway coordinator

feat(SATP-Hermes): gateway coordinator

feat(SATP-Hermes): gateway coordinator WIP

Signed-off-by: Rafael Belchior <[email protected]>

test(SATP-Hermes): enable decorators needed for gateway coordinator checks

Signed-off-by: Rafael Belchior <[email protected]>

docs(SATP-Hermes): update package.json

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): remove kotlin sdk, add protobuffer

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): refactor naming

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure improvements

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): update yarn.lock and clean up

Signed-off-by: André Augusto <[email protected]>

refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream

1. The container management library that we use in the test infrastructure
(called dockerode) is expecting streams that are defined in the global
namespace of the `@types/node` library, e.g. the standard library of NodeJS
itself.
2. Previously we were using the "streams" package to provide type information
to the streams that we were passing around to dockerode and it was working
fine, but after some changes that seem unrelated this has broken the
compilation process.
3. The mentioned changes are not yet on the main branch, but we expect
them to be there soon and so this change is laying the groundwork for that
by pre-emptively fixing the broken build's root cause which is that the
test-tooling package does not declare it's typings related dependencies
correctly: It implicitly uses the NodeJS standard library's types but
so far had not declared them on the package level.
4. This change is therefore to rectify the issue of the `@types/node`
dependency missing from the test-tooling package and also the refactoring
of some of the test ledger classes which were relying on the `streams`
builtin package instead of correctly using the NodeJS.ReadableStream global.
5. Earlier the reasoning for this was that we try to avoid pulling in
types from the global scope because we try to avoid any sort of dependency
on the global scope in general. Once we have proof though that this is
causing issues with the build, then we must give up the principle for
practical reasons (and only in the minimum viable scope, e.g. this does
not change the fact that everywhere else in the codebase we should still
do our best to avoid using the global scoped classes, types, functions,
etc..).

Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue
through the pull request of his that is currently being worked on at the
time of this writing:
RafaelAPB#72

Related to but does not address hyperledger-cacti#2811

Signed-off-by: Peter Somogyvari <[email protected]>

refactor(SATP-Hermes): remove unused packages

* updated openapi version
* updated bungee plugin version to 2.0.0-alpha.2

Co-authored-by: Peter Somogyvari <[email protected]>

Signed-off-by: André Augusto <[email protected]>
Signed-off-by: Peter Somogyvari <[email protected]>

fix(satp-hermes): fix build bugs and hanging tests

Co-authored-by: André Augusto <[email protected]>
Co-authored-by: Peter Somogyvari <[email protected]>
Co-authored-by: Rafael Belchior <[email protected]>

Signed-off-by: Rafael Belchior <[email protected]>

test(satp-hermes): fix hanging tests

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): fix cspell and lint

Signed-off-by: André Augusto <[email protected]>

feat(satp-hermes): add API1 layer WIP

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): BLO API specification

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): add BLO layer

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): fix status endpoint and spec

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): fix lint

Signed-off-by: André Augusto <[email protected]>

ci(satp-hermes): rebase and update ci

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): update BLO specification

Signed-off-by: Rafael Belchior <[email protected]>

docs(satp-hermes): migrate BLO open api spec from json to yml

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): update Go BLO SDK generation

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): update BLO specification

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): add health check endpoint to BLO spec

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): re-add open-api json files

The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml.

Signed-off-by: Rafael Belchior <[email protected]>

 feat(satp-hermes): remove deprecated spec

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): add gateway coordinator WIP

Signed-off-by: Rafael Belchior <[email protected]>

feat(bungee): add skeleton for bungee

Signed-off-by: André Augusto <[email protected]>

refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI

* created new messages in openAPI definition

feat(bungee): fix bungee dependencies

Signed-off-by: André Augusto <[email protected]>

feat(SATP-Hermes): gateway coordinator

feat(SATP-Hermes): gateway coordinator

feat(SATP-Hermes): gateway coordinator WIP

Signed-off-by: Rafael Belchior <[email protected]>

test(SATP-Hermes): enable decorators needed for gateway coordinator checks

Signed-off-by: Rafael Belchior <[email protected]>

docs(SATP-Hermes): update package.json

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): remove kotlin sdk, add protobuffer

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): refactor naming

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure improvements

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): update yarn.lock and clean up

Signed-off-by: André Augusto <[email protected]>

refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream

1. The container management library that we use in the test infrastructure
(called dockerode) is expecting streams that are defined in the global
namespace of the `@types/node` library, e.g. the standard library of NodeJS
itself.
2. Previously we were using the "streams" package to provide type information
to the streams that we were passing around to dockerode and it was working
fine, but after some changes that seem unrelated this has broken the
compilation process.
3. The mentioned changes are not yet on the main branch, but we expect
them to be there soon and so this change is laying the groundwork for that
by pre-emptively fixing the broken build's root cause which is that the
test-tooling package does not declare it's typings related dependencies
correctly: It implicitly uses the NodeJS standard library's types but
so far had not declared them on the package level.
4. This change is therefore to rectify the issue of the `@types/node`
dependency missing from the test-tooling package and also the refactoring
of some of the test ledger classes which were relying on the `streams`
builtin package instead of correctly using the NodeJS.ReadableStream global.
5. Earlier the reasoning for this was that we try to avoid pulling in
types from the global scope because we try to avoid any sort of dependency
on the global scope in general. Once we have proof though that this is
causing issues with the build, then we must give up the principle for
practical reasons (and only in the minimum viable scope, e.g. this does
not change the fact that everywhere else in the codebase we should still
do our best to avoid using the global scoped classes, types, functions,
etc..).

Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue
through the pull request of his that is currently being worked on at the
time of this writing:
RafaelAPB#72

Related to but does not address hyperledger-cacti#2811

Signed-off-by: Peter Somogyvari <[email protected]>

refactor(SATP-Hermes): remove unused packages

* updated openapi version
* updated bungee plugin version to 2.0.0-alpha.2

Co-authored-by: Peter Somogyvari <[email protected]>

Signed-off-by: André Augusto <[email protected]>
Signed-off-by: Peter Somogyvari <[email protected]>

fix(satp-hermes): re-add open-api json files

The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml.

Signed-off-by: Rafael Belchior <[email protected]>

ci(satp-hermes): re-activate satp-hermes ci

Signed-off-by: Rafael Belchior <[email protected]>

fixup: update package json, ci, yarn lock

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): add gateway coordinator WIP

Signed-off-by: Rafael Belchior <[email protected]>

feat(bungee): add skeleton for bungee

Signed-off-by: André Augusto <[email protected]>

refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI

* created new messages in openAPI definition

feat(bungee): fix bungee dependencies

Signed-off-by: André Augusto <[email protected]>

feat(SATP-Hermes): gateway coordinator

feat(SATP-Hermes): gateway coordinator

feat(SATP-Hermes): gateway coordinator WIP

Signed-off-by: Rafael Belchior <[email protected]>

test(SATP-Hermes): enable decorators needed for gateway coordinator checks

Signed-off-by: Rafael Belchior <[email protected]>

docs(SATP-Hermes): update package.json

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): re-estructure project

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): remove kotlin sdk, add protobuffer

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure

Signed-off-by: Rafael Belchior <[email protected]>

refactor(SATP-Hermes): refactor naming

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): protobuf structure improvements

Signed-off-by: Rafael Belchior <[email protected]>

feat(SATP-Hermes): update yarn.lock and clean up

Signed-off-by: André Augusto <[email protected]>

refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream

1. The container management library that we use in the test infrastructure
(called dockerode) is expecting streams that are defined in the global
namespace of the `@types/node` library, e.g. the standard library of NodeJS
itself.
2. Previously we were using the "streams" package to provide type information
to the streams that we were passing around to dockerode and it was working
fine, but after some changes that seem unrelated this has broken the
compilation process.
3. The mentioned changes are not yet on the main branch, but we expect
them to be there soon and so this change is laying the groundwork for that
by pre-emptively fixing the broken build's root cause which is that the
test-tooling package does not declare it's typings related dependencies
correctly: It implicitly uses the NodeJS standard library's types but
so far had not declared them on the package level.
4. This change is therefore to rectify the issue of the `@types/node`
dependency missing from the test-tooling package and also the refactoring
of some of the test ledger classes which were relying on the `streams`
builtin package instead of correctly using the NodeJS.ReadableStream global.
5. Earlier the reasoning for this was that we try to avoid pulling in
types from the global scope because we try to avoid any sort of dependency
on the global scope in general. Once we have proof though that this is
causing issues with the build, then we must give up the principle for
practical reasons (and only in the minimum viable scope, e.g. this does
not change the fact that everywhere else in the codebase we should still
do our best to avoid using the global scoped classes, types, functions,
etc..).

Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue
through the pull request of his that is currently being worked on at the
time of this writing:
RafaelAPB#72

Related to but does not address hyperledger-cacti#2811

Signed-off-by: Peter Somogyvari <[email protected]>

refactor(SATP-Hermes): remove unused packages

* updated openapi version
* updated bungee plugin version to 2.0.0-alpha.2

Co-authored-by: Peter Somogyvari <[email protected]>

Signed-off-by: André Augusto <[email protected]>
Signed-off-by: Peter Somogyvari <[email protected]>

feat(satp-hermes): add protobuf gateway refactor

Authored by: Carlos Amaro <[email protected]>

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): satp proto update (hyperledger-cacti#3147)

* feat(satp-hermes): update protos

Signed-off-by: Carlos Amaro <[email protected]>

* feat(satp-hermes): protos

Signed-off-by: Carlos Amaro <[email protected]>

* feat(satp-hermes): protos

Signed-off-by: Carlos Amaro <[email protected]>

---------

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): update protos

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): core stage services message names update

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): gRPC server start implementation and gateway_refactor in handlers

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): satp proto update

also updates yarn lock

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): update yarn, comment method

fix(satp-hermes): update yarn

ci(satp-hermes): fix bungee and satp ci

Signed-off-by: Rafael Belchior <[email protected]>

chore(satp-hermes): delete Kotlin SDK, add Go SDK

Signed-off-by: Rafael Belchior <[email protected]>

build(satp-hermes): add gateway client Go SDK

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): re-add message proto

Signed-off-by: Rafael Belchior <[email protected]>

fixup(satp-hermes): remove test protos and endpoints

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): gRPC services draft implementation

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): stage1-service and handler refactored

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes):stage2-service and handler refactored server-side

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): service handlers server

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): client stage handlers refactor

Signed-off-by: Carlos Amaro <[email protected]>

fixup(satp-hermes): add skeleton for satp-bridge

Signed-off-by: Rafael Belchior <[email protected]>

chore(satp-hermes): rename generated code for gateway and blo

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): fix knex path for old gateway tests

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): update protos and services

Signed-off-by: Carlos Amaro <[email protected]>

Signed-off-by: Rafael Belchior <[email protected]>

Signed-off-by: Rafael Belchior <[email protected]>

Signed-off-by: Rafael Belchior <[email protected]>

fix: refactor services and handlers

Signed-off-by: Rafael Belchior <[email protected]>

feat(bungee-hermes): viewProof & ethereum strategy

* Views have new attribute viewProof
* This attribute has the roots of all state proofs and transaction
proofs in the view
* Added new endpoint to verify integrity of view proofs
* Created strategy for bungee-hermes to support the ethereum-connector
* Created new test for the strategy-ethereum, and altered the API test
to test the new viewProof endpoint
* Updated documentation to reflect new changes.
* Fixes in Fabric Strategy, stateProofs and error handling

Co-authored-by: André Augusto <[email protected]>
Co-authored-by: Rafael Belchior <[email protected]>

Signed-off-by: eduv09 <[email protected]>

fix: refactor services and handlers

Signed-off-by: Rafael Belchior <[email protected]>

fix: eslint all

Signed-off-by: Rafael Belchior <[email protected]>

chore(satp-hermes): rebase with cacti main

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): satp development continuation and implementation satp protocol (hyperledger-cacti#3397)

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): fabric and besu bridges, wrapper contracts with ontology (hyperledger-cacti#3382)

feat(satp-hermes): added forge to compile solidity contracts

Signed-off-by: Carlos Amaro <[email protected]>

fix: rebase with main

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): added generated code (hyperledger-cacti#3443)

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): run sequencial instead of paralel (hyperledger-cacti#3445)

Signed-off-by: Carlos Amaro <[email protected]>

feat(cc-tx-visualization): initial commit

Signed-off-by: Iulia Mihaiu <[email protected]>
Signed-off-by: Rafael Belchior <[email protected]>

feat(cc-tx-viz): add methods to fabric connector

Signed-off-by: Iulia Mihaiu <[email protected]>

fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202

1. Specified a `register` property of the gauges as an empty
array so that it does not pollute the global namespace. This
is how this is supposed to be done as per the docs of prom-client.

2. Once the change from 1) took place, the issue became that
the metrics gathering code was still trying to hit up the
global scope for the metrics, e.g. calling the get metrics
methods directly on the promClient object instead of the
registry that we create for each prmoetheus exporter object
separately. So a little additional refactor ensued to fix this
as well by making sure that we grab a reference of the registry
object at construction time and then re-use that wherever needed
instead of going through the global promClient object.

3. Added missing .startMetricsCollection calls in the plugin
constructors to ensure that the prometheus exporter object
gets initialized properly (this is where the registry gets
created as well so without this there are crashes happening
when one tries to access the metrics through the registry)

Why though?
The problem was that the metrics.ts file that we have for all the
plugin's metrics constructs a new Metric (Gauge) object at import
time which then defaults to registering the metric in the global
registry of prom-client by default.

The latter was causing crashes when separate versions of the same
metrics.ts file are imported in a scenario were the API server
imports plugins from a different directory (this issue is coming
from the branch where I'm working on plugin sandboxing via the
live-plugin-manager).

Fixes hyperledger-cacti#1202

Signed-off-by: Peter Somogyvari <[email protected]>

feat(cc-tx-viz): added test for multiple prometheus metrics on fabric

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(cc-tx-viz): add metric model

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(cc-tx-viz): added croschainEventLog models

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(fabric): added endpoint for list of transaction receipts

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(test-tooling): add RabbitMQ test server

feat(cc-tx-viz): add RabbitMQ support; update model

feat(cc-tx-viz): add preliminary support to Fabric and Besu

build(deps): upgrade axios to latest to fix CVE

Details
CVE-2021-3749
high severity
Vulnerable versions: <= 0.21.1
Patched version: 0.21.2
axios is vulnerable to Inefficient Regular Expression Complexity

Signed-off-by: Peter Somogyvari <[email protected]>

feat(cc-tx-viz): add methods to fabric connector

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(cc-tx-viz): add metric model

Signed-off-by: Iulia Mihaiu <[email protected]>

xfix(cc-tx-viz): error implementation of IsVisualizable

feat(cc-tx-viz): add methods to fabric and besu; update models

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(cc-tx-viz): update cross chain events log for fabric transactions

Signed-off-by: Iulia Mihaiu <[email protected]>

feat(cctxviz): fix fabric prometheus

feat(cctxviz): fix besu prometheus

feat(cctxviz): fix fabric test

feat(cctxviz): update tx receipt

feat(cctxviz): add test script

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add test receipts

feat(cctxviz): refactor CrossChainEventLog

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): refactor tests

feat(cc-tx-viz): update model, add tests

chore(cc-tx-viz): update dependencies

Signed-off-by: Rafael Belchior <[email protected]>

feat(cc-tx-viz): persist logs

Signed-off-by: Rafael Belchior <[email protected]>

test(cc-tx-viz): update test

Signed-off-by: Rafael Belchior <[email protected]>

feat(cc-tx-viz): update strinfify to csv

Signed-off-by: Rafael Belchior <[email protected]>

chore(cc-tx-viz): add csv folder

Signed-off-by: Rafael Belchior <[email protected]>

chore(cc-tx-viz): move csv folder

Signed-off-by: Rafael Belchior <[email protected]>

feat(cc-tx-viz): add test

feat(cctxviz): add csv file, process mining script

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): proof of concept v1

Signed-off-by: Rafael Belchior <[email protected]>

chore(cctxviz): update csv

Signed-off-by: Rafael Belchior <[email protected]>

docs(cctxviz): update readme

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update tests

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add carbon footprint

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update tests

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update model

Signed-off-by: Rafael Belchior <[email protected]>

feat(fabric-connector): update default queue

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): fabric test

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add parameters to fabric calls

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): support besu

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update metrics

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxvi): update fabric and besu tests

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): besu and fabric

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): support call transactions on fabric

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add aggregation basis

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): aggregate cctx

Signed-off-by: Rafael Belchior <[email protected]>

chore: update yarn and remove package.lock

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): containerize draft

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add revenue

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update model playbook

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add dummy use case playbook

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): update persist test and dummy uc

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add timer

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): workload test

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add more timers

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): add timer to map on connectors

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update testing framework

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): vis plot wip

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): evaluate baseline

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update plots

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): add test files

Signed-off-by: Rafael Belchior <[email protected]>

feat(cctxviz): update testing framework

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): time-efficient polling receipts

Signed-off-by: Rafael Belchior <[email protected]>

chore(cctxviz): add test chaincode

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): update test

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): use case v1

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): update test framework

Signed-off-by: Rafael Belchior <[email protected]>

build(cc-tx-visualization): added missing fabric-contract-api

This will fix one compilation error.

Signed-off-by: Peter Somogyvari <[email protected]>

chore(deps): updated yarn.lock after rebase onto upstream/main

Signed-off-by: Peter Somogyvari <[email protected]>

build(cc-tx-visualization): deleted redundant test fixtures

Also added the test-tooling package as a dev dependency which
should fix a few of the compiler errors we were getting on account
of missing dependencies.

Signed-off-by: Peter Somogyvari <[email protected]>

fix: resolved build errors for cctxviz branch

- test-tooling package changed that needs to be reverted before commmit to main branch
- added import statement for test data generationt

xfix(cc-tx-viz): error implementation of IsVisualizable

chore: update yarn and remove package.lock

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): testing framework

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): test framework

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): update framework

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): add graphs

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): add test

Signed-off-by: Rafael Belchior <[email protected]>

fix(cctxviz): fix bug

Signed-off-by: Rafael Belchior <[email protected]>

test(cctxviz): add process conformance

Signed-off-by: Rafael Belchior <[email protected]>

refactor(cc-tx-visualization): capture transactional data with RxJS

The plugin now utilizes RxJS instead of RabbitMQ in transaction monitoring.
ReplaySubjects store and emit observed transactional data to subscribers.

fix(cc-tx-visualization): rebase latest version

Signed-off-by: Rafael Belchior <[email protected]>

squash! - migrate a test case to Fabric v2.5.6 LTS AIO

This is just a snippet of a change from the pair programming
call with Bruno, it can be safely squashed, no worries.

Signed-off-by: Peter Somogyvari <[email protected]>
Signed-off-by: Bruno Mateus <[email protected]>

feat(cc-tx-visualization): ccmodel serialization with PM4PY

The plugin now creates the ccmodel for conformance checking with PM4PY.

Signed-off-by: Bruno Mateus <[email protected]>

feat(hephaestus): analyse transactions using hephaestus

The plugin is now able to:
Create a Cross-Chain Model based on monitored transactions
Compare new transactions against the model and detect non-conformance

Signed-off-by: Bruno Mateus <[email protected]>

feat(satp-hermes): add skeleton for stage0

Signed-off-by: eduv09 <[email protected]>

feat(satp-hermes): services tests

bug correction

session functionalities

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): errors file and other fixes

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): fix packages versions

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): add satp-plugin cli (wip)

Signed-off-by: Rafael Belchior <[email protected]>

chore(satp-hermes): fix satp build process

Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): satp-manager and gol refactor

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): fix handler and service intialization

Signed-off-by: Rafael Belchior <[email protected]>

fix(satp-hermes): service errors and some stage bugs

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): satp rejection

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): handler bug correction and errors

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): bridge erros and log messages

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): some error fixes

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): some fixes requested

Signed-off-by: Carlos Amaro <[email protected]>
Signed-off-by: Rafael Belchior <[email protected]>

feat(satp-hermes): stage0, bug fixing and test e2e

Co-authored-by: eduv09 <[email protected]>
Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): error messages in stage0

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): service tests added stage0 and error handling

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): test e2e

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): fix bugs and test e2e working transfer

Signed-off-by: Carlos Amaro <[email protected]>

fix(stap-hermes): bugs and 2 gateway test

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): openApi transact implementation

Signed-off-by: Carlos Amaro <[email protected]>

feat(satp-hermes): improve admin endpoints

Signed-off-by: Eduardo Vasques <[email protected]>

refactor(cbdc-example): added gateways and contracts

Signed-off-by: Carlos Amaro <[email protected]>

refactor(cbdc-example): update with new satp-plugin

Signed-off-by: eduv09 <[email protected]>

refactor(cbdc-example): fixes

Signed-off-by: Carlos Amaro <[email protected]>
<

refactor(cbdc-app): frontend update and some fixes

Signed-off-by: Eduardo Vasques <[email protected]>

fix(satp-hermes): bug fixing

Signed-off-by: Carlos Amaro <[email protected]>

fix(cbdc-example): bug fixing

Signed-off-by: Carlos Amaro <[email protected]>

feat(cbdc): final fixes

Signed-off-by: Eduardo Vasques <[email protected]>

fix(cbdc-example): remove unecessary variable

Signed-off-by: Carlos Amaro <[email protected]>

fix(satp-hermes): remove unessary logs

Signed-off-by: Carlos Amaro <[email protected]>

fix(cbdc-example): docker ports

Signed-off-by: Carlos Amaro <[email protected]>

docs(example-cbdc): update frontend to match new functionality
* Separated Transfer functionality into local blockchain transfers
and cross-chain transfers
* Added new table with the state of token approvals made to the bridge
* Highlight cross-chain functionality with red coloring
* add helper page with instructions on how to use app

Signed-off-by: André Augusto <[email protected]>

docs(cbdc-example): remove unused variables and unused code

* Created new Docker Image and updated README.md

Signed-off-by: André Augusto <[email protected]>
Signed-off-by: Peter Somogyvari <[email protected]>
  • Loading branch information
RafaelAPB authored and petermetz committed Oct 4, 2024
1 parent c331a63 commit 0a03ee5
Show file tree
Hide file tree
Showing 603 changed files with 97,503 additions and 33,045 deletions.
2 changes: 2 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"cccs",
"ccep",
"ccid",
"cctx",
"celo",
"cids",
"clazz",
Expand Down Expand Up @@ -90,6 +91,7 @@
"hada",
"hashicorp",
"Healthcheck",
"hephaestus",
"HSTS",
"htlc",
"Htlc",
Expand Down
85 changes: 55 additions & 30 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2091,33 +2091,33 @@ jobs:
with:
name: coverage-reports-35
path: ./code-coverage-ts/**/
# cactus-plugin-satp-hermes:
# continue-on-error: false
# env:
# FULL_BUILD_DISABLED: true
# 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
# runs-on: ubuntu-22.04
# steps:
# - name: Use Node.js ${{ env.NODEJS_VERSION }}
# uses: actions/[email protected].3
# with:
# node-version: ${{ env.NODEJS_VERSION }}
# - uses: actions/[email protected].7
# - id: yarn-cache-dir-path
# name: Get yarn cache directory path
# run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
# - id: yarn-cache
# name: Restore Yarn Cache
# uses: actions/[email protected].2
# with:
# key: ${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
# path: ./.yarn/
# restore-keys: |
# ${{ runner.os }}-yarn-
# - run: ./tools/ci.sh
cactus-plugin-satp-hermes:
continue-on-error: false
env:
FULL_BUILD_DISABLED: true
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
runs-on: ubuntu-22.04
steps:
- name: Use Node.js ${{ env.NODEJS_VERSION }}
uses: actions/[email protected].2
with:
node-version: ${{ env.NODEJS_VERSION }}
- uses: actions/[email protected].1
- id: yarn-cache-dir-path
name: Get yarn cache directory path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
- id: yarn-cache
name: Restore Yarn Cache
uses: actions/[email protected].1
with:
key: ${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
path: ./.yarn/
restore-keys: |
${{ runner.os }}-yarn-
- run: ./tools/ci.sh
cp-bungee-hermes:
continue-on-error: false
env:
Expand All @@ -2126,8 +2126,8 @@ jobs:
# Free space left: 26 MB
FREE_UP_GITHUB_RUNNER_DISK_SPACE_DISABLED: false
FULL_BUILD_DISABLED: true
JEST_TEST_PATTERN: packages/cactus-plugin-satp-hermes/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_PATTERN: packages/cactus-plugin-bungee-hermes/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
JEST_TEST_COVERAGE_PATH: ./code-coverage-ts/cp-bungee-hermes
JEST_TEST_CODE_COVERAGE_ENABLED: true
TAPE_TEST_RUNNER_DISABLED: true
Expand All @@ -2147,14 +2147,39 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
path: ./.yarn/
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
${{ runner.os }}-yarn-
- run: ./tools/ci.sh
if: ${{ env.RUN_CODE_COVERAGE == 'true' }}
- name: Upload coverage reports as artifacts
uses: actions/[email protected]
with:
name: coverage-reports-36
path: ./code-coverage-ts/**/
cactus-plugin-bungee-hermes:
continue-on-error: false
env:
FULL_BUILD_DISABLED: true
JEST_TEST_RUNNER_DISABLED: false
JEST_TEST_PATTERN: packages/cactus-plugin-bungee-hermes/src/test/typescript/(unit|integration|benchmark)/.*/*.test.ts
TAPE_TEST_RUNNER_DISABLED: true
needs: build-dev
runs-on: ubuntu-22.04
steps:
- name: Use Node.js ${{ env.NODEJS_VERSION }}
uses: actions/[email protected]
with:
node-version: ${{ env.NODEJS_VERSION }}
- uses: actions/[email protected]

- id: yarn-cache
name: Restore Yarn Cache
uses: actions/[email protected]
with:
key: ${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
path: ./.yarn/
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
- run: ./tools/ci.sh
ct-api-client:
continue-on-error: false
env:
Expand Down Expand Up @@ -2637,4 +2662,4 @@ name: Cactus_CI
push:
branches:
- main
- dev
- dev
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
* @petermetz @takeutak @izuru0 @jagpreetsinghsasan @vramakrishna @sandeepnRES @outSH

packages/cactus-plugin-ccmodel-hephaestus @RafaelAPB
packages/cactus-plugin-satp-hermes @RafaelAPB
packages/cactus-plugin-bungee-hermes @RafaelAPB
examples/cactus-example-cbdc-bridging @RafaelAPB
Expand Down
2 changes: 2 additions & 0 deletions examples/cactus-example-cbdc-bridging-backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cache/

72 changes: 0 additions & 72 deletions examples/cactus-example-cbdc-bridging-backend/CHANGELOG.md

This file was deleted.

19 changes: 17 additions & 2 deletions examples/cactus-example-cbdc-bridging-backend/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ WORKDIR ${APP}

SHELL ["/bin/bash", "--login", "-i", "-c"]
# Installing Node Version Manager (nvm)
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

RUN source ~/.bashrc && \
nvm install 16.8.0 && \
nvm install 18.18.2 && \
npm install -g yarn && \
npm run configure

Expand All @@ -48,6 +48,12 @@ ENV API_SERVER_1_PORT=4000
ENV API_SERVER_2_PORT=4100
ENV API_HOST_FRONTEND=localhost
ENV API_PORT_FRONTEND=2000
ENV API_GATEWAY_1_BLO_PORT=4010
ENV API_GATEWAY_2_BLO_PORT=4110
ENV API_GATEWAY_1_CLIENT_PORT=3011
ENV API_GATEWAY_2_CLIENT_PORT=3111
ENV API_GATEWAY_1_SERVER_PORT=3010
ENV API_GATEWAY_2_SERVER_PORT=3110

COPY examples/cactus-example-cbdc-bridging-backend/src/fabric-contracts /usr/src/app/cactus/examples/cactus-example-cbdc-bridging-backend/dist/lib/fabric-contracts
COPY examples/cactus-example-cbdc-bridging-backend/supervisord.conf /etc/supervisord.conf
Expand All @@ -61,6 +67,15 @@ EXPOSE 4000
# API #2
EXPOSE 4100

EXPOSE 4010
EXPOSE 4110
EXPOSE 3011
EXPOSE 3111
EXPOSE 3010
EXPOSE 3110
#to the dummy server that exposes to the frontend the besu-satp contract address
EXPOSE 9999

# Extend the parent image's entrypoint
# https://superuser.com/questions/1459466/can-i-add-an-additional-docker-entrypoint-script
ENTRYPOINT ["/usr/bin/supervisord"]
Expand Down
4 changes: 4 additions & 0 deletions examples/cactus-example-cbdc-bridging-backend/foundry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[profile.default]
solc-version = "0.8.20"
evm-version = "paris"
libs = ["node_modules", "lib"]
24 changes: 16 additions & 8 deletions examples/cactus-example-cbdc-bridging-backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
},
"contributors": [
{
"name": "Please add yourself to the list of contributors",
"email": "[email protected]",
"name": "Eduardo Vasques",
"email": "[email protected]",
"url": "https://example.com"
},
{
Expand All @@ -52,9 +52,13 @@
"webpack": "npm-run-all webpack:dev",
"webpack:dev": "npm-run-all webpack:dev:node webpack:dev:web",
"webpack:dev:node": "webpack --env=dev --target=node --config ../../webpack.config.js",
"webpack:dev:web": "webpack --env=dev --target=web --config ../../webpack.config.js"
"webpack:dev:web": "webpack --env=dev --target=web --config ../../webpack.config.js",
"forge": "forge build ./src/solidity/main/*.sol --out ./src/solidity/main/generated",
"forge:test": "forge build ./src/solidity/test/*.sol --out ./src/solidity/test/generated",
"forge:all": "run-s 'forge' 'forge:test'"
},
"dependencies": {
"@foundry-rs/hardhat-forge": "0.1.17",
"@hyperledger/cactus-api-client": "2.0.0-rc.7",
"@hyperledger/cactus-cmd-api-server": "2.0.0-rc.7",
"@hyperledger/cactus-common": "2.0.0-rc.7",
Expand All @@ -67,21 +71,24 @@
"@hyperledger/cactus-plugin-object-store-ipfs": "2.0.0-rc.7",
"@hyperledger/cactus-plugin-satp-hermes": "2.0.0-rc.7",
"@hyperledger/cactus-test-tooling": "2.0.0-rc.7",
"@openzeppelin/contracts": "4.9.6",
"@openzeppelin/contracts": "5.0.2",
"@openzeppelin/contracts-upgradeable": "4.9.6",
"async-exit-hook": "2.0.1",
"axios": "1.7.7",
"cors": "2.8.5",
"crypto-js": "4.2.0",
"dotenv": "16.0.1",
"fabric-network": "2.2.20",
"fs-extra": "11.2.0",
"fs-extra": "10.1.0",
"hardhat": "2.22.5",
"knex": "2.5.1",
"kubo-rpc-client": "3.0.1",
"nyc": "13.1.0",
"openapi-types": "12.1.3",
"socket.io": "4.6.2",
"sqlite3": "5.1.5",
"typescript-optional": "2.0.1",
"uuid": "10.0.0",
"uuid": "9.0.1",
"web3-core": "1.10.1",
"web3-utils": "1.10.1"
},
Expand All @@ -90,10 +97,11 @@
"@types/cucumber": "4.0.4",
"@types/express": "5.0.0",
"@types/express-jwt": "6.0.2",
"@types/fs-extra": "11.0.4",
"@types/fs-extra": "9.0.13",
"@types/node": "18.11.9",
"@types/uuid": "10.0.0",
"@types/uuid": "9.0.8",
"cucumber": "5.0.3",
"ethereum-abi-types-generator": "1.3.4",
"hardhat": "2.17.2",
"http-status-codes": "2.1.4",
"jose": "4.15.5",
Expand Down
9 changes: 6 additions & 3 deletions examples/cactus-example-cbdc-bridging-backend/process.env
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ API_SERVER_1_PORT=4000
API_SERVER_2_PORT=4100
API_HOST_FRONTEND=localhost
API_PORT_FRONTEND=2000
API_CRPC_HOST=localhost
API_SERVER_1_CRPC_PORT=6000
API_SERVER_2_CRPC_PORT=6100
API_GATEWAY_1_BLO_PORT=4010
API_GATEWAY_2_BLO_PORT=4110
API_GATEWAY_1_CLIENT_PORT=3011
API_GATEWAY_2_CLIENT_PORT=3111
API_GATEWAY_1_SERVER_PORT=3010
API_GATEWAY_2_SERVER_PORT=3110
7 changes: 3 additions & 4 deletions examples/cactus-example-cbdc-bridging-backend/run-cbdc-app.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ function main()
echo "Sleeping to let dockerd spin up"
sleep 10

docker pull ghcr.io/hyperledger/cactus-besu-all-in-one:2021-01-08-7a055c3
docker pull ghcr.io/hyperledger/cactus-fabric-all-in-one:v1.0.0-rc.2
docker pull ipfs/go-ipfs:v0.8.0
docker pull ghcr.io/hyperledger/cactus-besu-all-in-one:2024-06-09-cc2f9c5
docker pull ghcr.io/hyperledger/cactus-fabric2-all-in-one:v1.0.0-rc.22024-03-03--issue-2945-fabric-v2-5-6

/root/.nvm/versions/node/v16.8.0/bin/node -r ts-node/register /usr/src/app/cactus/examples/cactus-example-cbdc-bridging-backend/dist/lib/main/typescript/cbdc-bridging-app-cli.js
/root/.nvm/versions/node/v18.18.2/bin/node -r ts-node/register /usr/src/app/cactus/examples/cactus-example-cbdc-bridging-backend/dist/lib/main/typescript/cbdc-bridging-app-cli.js
}

main
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,12 @@
},
"keychains": {
"keychain1": {
"id": "df05d3c2-ddd5-4074-aae3-526564217459"
"id": "df05d3c2-ddd5-4074-aae3-526564217459",
"ref": "bridge1"
},
"keychain2": {
"id": "d741fb4a-c95c-4205-8afa-758a9423234f"
"id": "d741fb4a-c95c-4205-8afa-758a9423234f",
"ref": "bridge2"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"sinon-chai": "^3.5.0",
"ts-node": "^8.8.1",
"tslint": "^6.1.0",
"typescript": "5.5.2",
"typescript": "5.3.3",
"winston": "^3.2.1"
},
"nyc": {
Expand Down
Loading

0 comments on commit 0a03ee5

Please sign in to comment.