Skip to content

Commit

Permalink
Merge branch 'main' into filters
Browse files Browse the repository at this point in the history
Signed-off-by: Nicko Guyer <[email protected]>
  • Loading branch information
nguyer committed Feb 27, 2024
2 parents 05171de + 8b6b604 commit 62f55ef
Show file tree
Hide file tree
Showing 187 changed files with 9,083 additions and 4,425 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
go-version: 1.21

- name: Build and Test
run: make
Expand All @@ -38,7 +38,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
go-version: 1.21

- name: Build Docker image
run: make docker
Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:

- stack-type: ethereum
blockchain-connector: ethconnect
test-suite: TestEthereumGatewayE2ESuite
test-suite: TestEthereumGatewayLegacyEthE2ESuite
database-type: sqlite3
token-provider: erc1155
multiparty-enabled: false
Expand All @@ -130,7 +130,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
go-version: 1.21

- name: Download Docker image
uses: actions/download-artifact@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.18
go-version: 1.21

- name: Update manifest to latest commit for every service
run: ./manifestgen.sh head
Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.18
go-version: 1.21

- name: Update manifest to latest commit for every service
run: ./manifestgen.sh head
Expand Down
1 change: 1 addition & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ run:
skip-dirs:
- "mocks"
- "ffconfig"
- "test/e2e"
linters-settings:
golint: {}
gocritic:
Expand Down
11 changes: 10 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ RUN apk add jq \
&& cd ../build/contracts \
&& mv combined.json Firefly.json

FROM alpine:3.19 AS SBOM
WORKDIR /
ADD . /SBOM
RUN apk add --no-cache curl
RUN curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.48.3
RUN trivy fs --format spdx-json --output /sbom.spdx.json /SBOM
RUN trivy sbom /sbom.spdx.json --severity UNKNOWN,HIGH,CRITICAL --exit-code 1

FROM $BASE_TAG
ARG UI_TAG
ARG UI_RELEASE
Expand All @@ -52,5 +60,6 @@ COPY --from=fabric-builder /firefly/smart_contracts/fabric/firefly-go/firefly_fa
ENV UI_RELEASE https://github.com/hyperledger/firefly-ui/releases/download/$UI_TAG/$UI_RELEASE.tgz
RUN mkdir /firefly/frontend \
&& curl -sLo - $UI_RELEASE | tar -C /firefly/frontend -zxvf -
COPY --from=SBOM /sbom.spdx.json /sbom.spdx.json
RUN ln -s /firefly/firefly /usr/bin/firefly
ENTRYPOINT [ "firefly" ]
ENTRYPOINT [ "firefly" ]
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ lint: ${LINT}
${MOCKERY}:
$(VGO) install github.com/vektra/mockery/v2@latest
${LINT}:
$(VGO) install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.47.3
$(VGO) install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.54.0
ffcommon:
$(eval WSCLIENT_PATH := $(shell $(VGO) list -f '{{.Dir}}' github.com/hyperledger/firefly-common/pkg/wsclient))

Expand Down Expand Up @@ -79,6 +79,7 @@ $(eval $(call makemock, internal/operations, Manager, operat
$(eval $(call makemock, internal/multiparty, Manager, multipartymocks))
$(eval $(call makemock, internal/apiserver, FFISwaggerGen, apiservermocks))
$(eval $(call makemock, internal/apiserver, Server, apiservermocks))
$(eval $(call makemock, internal/events/websockets, WebSocketsNamespaced, websocketsmocks))

firefly-nocgo: ${GOFILES}
CGO_ENABLED=0 $(VGO) build -o ${BINARY_NAME}-nocgo -ldflags "-X main.buildDate=$(DATE) -X main.buildVersion=$(BUILD_VERSION) -X 'github.com/hyperledger/firefly/cmd.BuildVersionOverride=$(BUILD_VERSION)' -X 'github.com/hyperledger/firefly/cmd.BuildDate=$(DATE)' -X 'github.com/hyperledger/firefly/cmd.BuildCommit=$(GIT_REF)'" -tags=prod -tags=prod -v
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ Other repositories you might be interested in containing those microservice comp
- Permissioned Ethereum connector - https://github.com/hyperledger/firefly-ethconnect
- Private/permissioned: Hyperledger Besu / Quorum
- Hyperledger Fabric connector - https://github.com/hyperledger/firefly-fabconnect
- Tezos connector - https://github.com/hyperledger/firefly-tezosconnect
- Corda connector starter: https://github.com/hyperledger/firefly-cordaconnect
- CorDapp specific customization is required

Expand Down Expand Up @@ -245,10 +246,10 @@ Plugins: Each plugin comprises a Go shim, plus a remote agent microservice runti
│ │ interface │ * Standardized operations, and custom on-chain coupling
│ └─────┬─────────┘
│ │
│ ├─────────────────────┬───────────────────┐
│ ┌─────┴─────────┐ ┌───────┴───────┐ ┌───────┴────────┐
│ │ ethereum │ │ fabric │ │ corda/cordapps │
│ └─────┬─────────┘ └───────────────┘ └────────────────┘
│ ├─────────────────────┬───────────────────┬-───────────────────
│ ┌─────┴─────────┐ ┌───────┴───────┐ ┌───────┴────────┐ ┌───────┴────────┐
│ │ ethereum │ │ fabric │ │ corda/cordapps │ │ tezos │
│ └─────┬─────────┘ └───────────────┘ └────────────────┘ └────────────────┘
│ [REST/WebSockets]
│ ┌─────┴────────────────────┐ ┌────────────────────────┐ ┌─
│ │ transaction manager [Tm] ├───┤ Connector API [ffcapi] ├───┤ Simple framework for building blockchain connectors
Expand Down
9 changes: 7 additions & 2 deletions docker_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.

handle_error() {
docker buildx rm firefly --keep-state
exit 1
}
trap handle_error ERR

echo $@

if [[ ! -x `which jq` ]]; then echo "Please install \"jq\" to continue"; exit 1; fi
if [[ ! -x `which jq` ]]; then echo "Please install \"jq\" to continue"; exit 1; fi

FIREFLY_BUILDER_TAG=$(cat manifest.json | jq -r '.build."firefly-builder".image')
FABRIC_BUILDER_TAG=$(cat manifest.json | jq -r '.build."fabric-builder".image')
Expand Down Expand Up @@ -52,4 +58,3 @@ docker buildx build \
--build-arg GIT_REF=$GIT_REF \
$@ \
.
docker buildx rm firefly --keep-state
2 changes: 1 addition & 1 deletion docs/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ group :jekyll_plugins do
gem "jekyll-multiple-languages-plugin"
gem "html-proofer"
gem "webrick"
end
end
99 changes: 52 additions & 47 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,43 +1,53 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.6)
activesupport (7.1.3)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.8.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
base64 (0.2.0)
bigdecimal (3.1.6)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.23.5)
concurrent-ruby (1.1.10)
dnsruby (1.61.9)
simpleidn (~> 0.1)
commonmarker (0.23.10)
concurrent-ruby (1.2.3)
connection_pool (2.4.1)
dnsruby (1.70.0)
simpleidn (~> 0.2.1)
drb (2.2.0)
ruby2_keywords
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.15.0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.8.1)
faraday (2.5.2)
execjs (2.9.1)
faraday (2.8.1)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.0)
ffi (1.15.5)
faraday-net_http (3.0.2)
ffi (1.16.3)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (227)
github-pages (228)
github-pages-health-check (= 1.17.9)
jekyll (= 3.9.2)
jekyll (= 3.9.3)
jekyll-avatar (= 0.7.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.2.0)
jekyll-commonmark-ghpages (= 0.4.0)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.15.1)
jekyll-gist (= 1.5.0)
Expand Down Expand Up @@ -71,7 +81,7 @@ GEM
jemoji (= 0.12.0)
kramdown (= 2.3.2)
kramdown-parser-gfm (= 1.1.0)
liquid (= 4.0.3)
liquid (= 4.0.4)
mercenary (~> 0.3)
minima (= 2.5.1)
nokogiri (>= 1.13.6, < 2.0)
Expand All @@ -83,10 +93,10 @@ GEM
octokit (~> 4.0)
public_suffix (>= 3.0, < 5.0)
typhoeus (~> 1.3)
html-pipeline (2.14.2)
html-pipeline (2.14.3)
activesupport (>= 2)
nokogiri (>= 1.4)
html-proofer (4.4.0)
html-proofer (4.4.3)
addressable (~> 2.3)
mercenary (~> 0.3)
nokogiri (~> 1.13)
Expand All @@ -96,13 +106,13 @@ GEM
yell (~> 2.0)
zeitwerk (~> 2.5)
http_parser.rb (0.8.0)
i18n (0.9.5)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
jekyll (3.9.2)
jekyll (3.9.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
i18n (>= 0.7, < 2)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (>= 1.17, < 3)
Expand All @@ -118,11 +128,11 @@ GEM
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.4.0)
commonmarker (~> 0.22)
jekyll-commonmark-ghpages (0.2.0)
commonmarker (~> 0.23.4)
jekyll-commonmark-ghpages (0.4.0)
commonmarker (~> 0.23.7)
jekyll (~> 3.9.0)
jekyll-commonmark (~> 1.4.0)
rouge (>= 2.0, < 4.0)
rouge (>= 2.0, < 5.0)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.15.1)
Expand Down Expand Up @@ -212,35 +222,32 @@ GEM
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
liquid (4.0.4)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mini_portile2 (2.8.1)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.16.3)
nokogiri (1.13.8)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nokogiri (1.13.8-arm64-darwin)
minitest (5.21.2)
mutex_m (0.2.0)
nokogiri (1.15.5-arm64-darwin)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
parallel (1.22.1)
parallel (1.24.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.7)
racc (1.6.0)
racc (1.7.3)
rainbow (3.1.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rexml (3.2.6)
rouge (3.26.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
Expand All @@ -257,22 +264,20 @@ GEM
unf (~> 0.1.4)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.4.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (1.2.10)
thread_safe (~> 0.1)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unf_ext (0.0.9.1)
unicode-display_width (1.8.0)
webrick (1.7.0)
webrick (1.8.1)
yell (2.2.2)
zeitwerk (2.6.0)
zeitwerk (2.6.12)

PLATFORMS
arm64-darwin-21
ruby

DEPENDENCIES
github-pages
Expand All @@ -281,4 +286,4 @@ DEPENDENCIES
webrick

BUNDLED WITH
2.3.14
2.3.14
1 change: 1 addition & 0 deletions docs/_i18n/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,4 @@ pages:
xdc_testnet: XDC Testnet
zksync_testnet: zkSync Testnet
rotate_dx_certs: Rotate Data Exchange Certificates
tezos_testnet: Tezos Testnet
2 changes: 1 addition & 1 deletion docs/architecture/ping_pong_txflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ This is deliberately a simple flow, and all kinds of additional layers might wel

## Authorize & Transfer Data (Member 1)

- Inpsect the request data
- Inspect the request data
- Retrieve data asset by hash
- Send the private data in a private message
- No blockchain in this flow
Expand Down
2 changes: 1 addition & 1 deletion docs/contributors/dev_environment_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This guide will walk you through setting up your machine for contributing to Fir

You will need a few prerequisites set up on your machine before you can build FireFly from source. We recommend doing development on macOS, Linux, or WSL 2.0.

- [Go 1.18](https://golang.org/dl/)
- [Go 1.21](https://golang.org/dl/)
- make
- GCC
- openssl
Expand Down
Loading

0 comments on commit 62f55ef

Please sign in to comment.