Skip to content

Commit 04fb066

Browse files
authored
Merge branch 'main' into fix_subs_events_apis
2 parents df1ae59 + 45ec382 commit 04fb066

File tree

30 files changed

+5526
-1573
lines changed

30 files changed

+5526
-1573
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ FROM $BASE_TAG
7474
ARG UI_TAG
7575
ARG UI_RELEASE
7676
RUN apk add --update --no-cache \
77-
sqlite=3.48.0-r1 \
78-
postgresql16-client=16.8-r0 \
77+
sqlite=3.48.0-r2 \
78+
postgresql16-client=16.9-r0 \
7979
curl=8.12.1-r1 \
8080
jq=1.7.1-r0
8181
WORKDIR /firefly

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Other repositories you might be interested in containing those microservice comp
6969
- Private/permissioned: Hyperledger Besu / Quorum
7070
- Hyperledger Fabric connector - <https://github.com/hyperledger/firefly-fabconnect>
7171
- Tezos connector - <https://github.com/hyperledger/firefly-tezosconnect>
72+
- Cardano connector - <https://github.com/hyperledger/firefly-cardano>
7273
- Corda connector starter: <https://github.com/hyperledger/firefly-cordaconnect>
7374
- CorDapp specific customization is required
7475

@@ -249,10 +250,10 @@ Plugins: Each plugin comprises a Go shim, plus a remote agent microservice runti
249250
│ │ interface │ * Standardized operations, and custom on-chain coupling
250251
│ └─────┬─────────┘
251252
│ │
252-
│ ├─────────────────────┬───────────────────┬-───────────────────┐
253-
│ ┌─────┴─────────┐ ┌───────┴───────┐ ┌───────┴────────┐ ┌───────┴────────┐
254-
│ │ ethereum │ │ fabric │ │ corda/cordapps │ │ tezos │
255-
│ └─────┬─────────┘ └───────────────┘ └────────────────┘ └────────────────┘
253+
│ ├─────────────────────┬───────────────────┬-───────────────────┬-───────────────────
254+
│ ┌─────┴─────────┐ ┌───────┴───────┐ ┌───────┴────────┐ ┌───────┴────────┐ ┌───────┴────────┐
255+
│ │ ethereum │ │ fabric │ │ corda/cordapps │ │ tezos │ │ cardano │
256+
│ └─────┬─────────┘ └───────────────┘ └────────────────┘ └────────────────┘ └────────────────┘
256257
│ [REST/WebSockets]
257258
│ ┌─────┴────────────────────┐ ┌────────────────────────┐ ┌─
258259
│ │ transaction manager [Tm] ├───┤ Connector API [ffcapi] ├───┤ Simple framework for building blockchain connectors

doc-site/docs/reference/config.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,84 @@ title: Configuration Reference
636636
|name|The name of the configured Blockchain plugin|`string`|`<nil>`
637637
|type|The type of the configured Blockchain Connector plugin|`string`|`<nil>`
638638

639+
## plugins.blockchain[].cardano.cardanoconnect
640+
641+
|Key|Description|Type|Default Value|
642+
|---|-----------|----|-------------|
643+
|batchSize|The number of events Cardanoconnect should batch together for delivery to FireFly core. Only applies when automatically creating a new event stream|`int`|`50`
644+
|batchTimeout|How long Cardanoconnect should wait for new events to arrive and fill a batch, before sending the batch to FireFly core. Only applies when automatically creating a new event stream|[`time.Duration`](https://pkg.go.dev/time#Duration)|`500`
645+
|connectionTimeout|The maximum amount of time that a connection is allowed to remain with no data transmitted|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
646+
|expectContinueTimeout|See [ExpectContinueTimeout in the Go docs](https://pkg.go.dev/net/http#Transport)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`1s`
647+
|headers|Adds custom headers to HTTP requests|`map[string]string`|`<nil>`
648+
|idleTimeout|The max duration to hold a HTTP keepalive connection between calls|[`time.Duration`](https://pkg.go.dev/time#Duration)|`475ms`
649+
|maxConnsPerHost|The max number of connections, per unique hostname. Zero means no limit|`int`|`0`
650+
|maxIdleConns|The max number of idle connections to hold pooled|`int`|`100`
651+
|maxIdleConnsPerHost|The max number of idle connections, per unique hostname. Zero means net/http uses the default of only 2.|`int`|`100`
652+
|passthroughHeadersEnabled|Enable passing through the set of allowed HTTP request headers|`boolean`|`false`
653+
|requestTimeout|The maximum amount of time that a request is allowed to remain open|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
654+
|tlsHandshakeTimeout|The maximum amount of time to wait for a successful TLS handshake|[`time.Duration`](https://pkg.go.dev/time#Duration)|`10s`
655+
|topic|The websocket listen topic that the node should register on, which is important if there are multiple nodes using a single cardanoconnect|`string`|`<nil>`
656+
|url|The URL of the Cardanoconnect instance|URL `string`|`<nil>`
657+
658+
## plugins.blockchain[].cardano.cardanoconnect.auth
659+
660+
|Key|Description|Type|Default Value|
661+
|---|-----------|----|-------------|
662+
|password|Password|`string`|`<nil>`
663+
|username|Username|`string`|`<nil>`
664+
665+
## plugins.blockchain[].cardano.cardanoconnect.proxy
666+
667+
|Key|Description|Type|Default Value|
668+
|---|-----------|----|-------------|
669+
|url|Optional HTTP proxy server to connect through|`string`|`<nil>`
670+
671+
## plugins.blockchain[].cardano.cardanoconnect.retry
672+
673+
|Key|Description|Type|Default Value|
674+
|---|-----------|----|-------------|
675+
|count|The maximum number of times to retry|`int`|`5`
676+
|enabled|Enables retries|`boolean`|`false`
677+
|errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`<nil>`
678+
|factor|The retry backoff factor|`float32`|`2`
679+
|initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms`
680+
|maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
681+
682+
## plugins.blockchain[].cardano.cardanoconnect.throttle
683+
684+
|Key|Description|Type|Default Value|
685+
|---|-----------|----|-------------|
686+
|burst|The maximum number of requests that can be made in a short period of time before the throttling kicks in.|`int`|`<nil>`
687+
|requestsPerSecond|The average rate at which requests are allowed to pass through over time.|`int`|`<nil>`
688+
689+
## plugins.blockchain[].cardano.cardanoconnect.tls
690+
691+
|Key|Description|Type|Default Value|
692+
|---|-----------|----|-------------|
693+
|ca|The TLS certificate authority in PEM format (this option is ignored if caFile is also set)|`string`|`<nil>`
694+
|caFile|The path to the CA file for TLS on this API|`string`|`<nil>`
695+
|cert|The TLS certificate in PEM format (this option is ignored if certFile is also set)|`string`|`<nil>`
696+
|certFile|The path to the certificate file for TLS on this API|`string`|`<nil>`
697+
|clientAuth|Enables or disables client auth for TLS on this API|`string`|`<nil>`
698+
|enabled|Enables or disables TLS on this API|`boolean`|`false`
699+
|insecureSkipHostVerify|When to true in unit test development environments to disable TLS verification. Use with extreme caution|`boolean`|`<nil>`
700+
|key|The TLS certificate key in PEM format (this option is ignored if keyFile is also set)|`string`|`<nil>`
701+
|keyFile|The path to the private key file for TLS on this API|`string`|`<nil>`
702+
|requiredDNAttributes|A set of required subject DN attributes. Each entry is a regular expression, and the subject certificate must have a matching attribute of the specified type (CN, C, O, OU, ST, L, STREET, POSTALCODE, SERIALNUMBER are valid attributes)|`map[string]string`|`<nil>`
703+
704+
## plugins.blockchain[].cardano.cardanoconnect.ws
705+
706+
|Key|Description|Type|Default Value|
707+
|---|-----------|----|-------------|
708+
|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false`
709+
|connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s`
710+
|heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
711+
|initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5`
712+
|path|The WebSocket sever URL to which FireFly should connect|WebSocket URL `string`|`<nil>`
713+
|readBufferSize|The size in bytes of the read buffer for the WebSocket connection|[`BytesSize`](https://pkg.go.dev/github.com/docker/go-units#BytesSize)|`16Kb`
714+
|url|URL to use for WebSocket - overrides url one level up (in the HTTP config)|`string`|`<nil>`
715+
|writeBufferSize|The size in bytes of the write buffer for the WebSocket connection|[`BytesSize`](https://pkg.go.dev/github.com/docker/go-units#BytesSize)|`16Kb`
716+
639717
## plugins.blockchain[].ethereum.addressResolver
640718

641719
|Key|Description|Type|Default Value|
@@ -755,6 +833,7 @@ title: Configuration Reference
755833
|count|The maximum number of times to retry|`int`|`5`
756834
|enabled|Enables retries|`boolean`|`false`
757835
|errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`<nil>`
836+
|factor|The retry backoff factor|`float32`|`2`
758837
|initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms`
759838
|maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
760839

@@ -784,6 +863,7 @@ title: Configuration Reference
784863

785864
|Key|Description|Type|Default Value|
786865
|---|-----------|----|-------------|
866+
|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false`
787867
|connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s`
788868
|heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
789869
|initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5`
@@ -906,6 +986,7 @@ title: Configuration Reference
906986
|count|The maximum number of times to retry|`int`|`5`
907987
|enabled|Enables retries|`boolean`|`false`
908988
|errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`<nil>`
989+
|factor|The retry backoff factor|`float32`|`2`
909990
|initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms`
910991
|maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
911992

@@ -935,6 +1016,7 @@ title: Configuration Reference
9351016

9361017
|Key|Description|Type|Default Value|
9371018
|---|-----------|----|-------------|
1019+
|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false`
9381020
|connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s`
9391021
|heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
9401022
|initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5`
@@ -1060,6 +1142,7 @@ title: Configuration Reference
10601142
|count|The maximum number of times to retry|`int`|`5`
10611143
|enabled|Enables retries|`boolean`|`false`
10621144
|errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`<nil>`
1145+
|factor|The retry backoff factor|`float32`|`2`
10631146
|initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms`
10641147
|maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
10651148

@@ -1089,6 +1172,7 @@ title: Configuration Reference
10891172

10901173
|Key|Description|Type|Default Value|
10911174
|---|-----------|----|-------------|
1175+
|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false`
10921176
|connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s`
10931177
|heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
10941178
|initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5`
@@ -1200,6 +1284,7 @@ title: Configuration Reference
12001284
|count|The maximum number of times to retry|`int`|`5`
12011285
|enabled|Enables retries|`boolean`|`false`
12021286
|errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`<nil>`
1287+
|factor|The retry backoff factor|`float32`|`2`
12031288
|initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms`
12041289
|maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
12051290

@@ -1229,6 +1314,7 @@ title: Configuration Reference
12291314

12301315
|Key|Description|Type|Default Value|
12311316
|---|-----------|----|-------------|
1317+
|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false`
12321318
|connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s`
12331319
|heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
12341320
|initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5`
@@ -1434,6 +1520,7 @@ title: Configuration Reference
14341520
|count|The maximum number of times to retry|`int`|`5`
14351521
|enabled|Enables retries|`boolean`|`false`
14361522
|errorStatusCodeRegex|The regex that the error response status code must match to trigger retry|`string`|`<nil>`
1523+
|factor|The retry backoff factor|`float32`|`2`
14371524
|initWaitTime|The initial retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`250ms`
14381525
|maxWaitTime|The maximum retry delay|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
14391526

@@ -1463,6 +1550,7 @@ title: Configuration Reference
14631550

14641551
|Key|Description|Type|Default Value|
14651552
|---|-----------|----|-------------|
1553+
|backgroundConnect|When true the connection is established in the background with infinite reconnect (makes initialConnectAttempts redundant when set)|`boolean`|`false`
14661554
|connectionTimeout|The amount of time to wait while establishing a connection (or auto-reconnection)|[`time.Duration`](https://pkg.go.dev/time#Duration)|`45s`
14671555
|heartbeatInterval|The amount of time to wait between heartbeat signals on the WebSocket connection|[`time.Duration`](https://pkg.go.dev/time#Duration)|`30s`
14681556
|initialConnectAttempts|The number of attempts FireFly will make to connect to the WebSocket when starting up, before failing|`int`|`5`

doc-site/docs/reference/types/verifier.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ title: Verifier
2222
| `hash` | Hash used as a globally consistent identifier for this namespace + type + value combination on every node in the network | `Bytes32` |
2323
| `identity` | The UUID of the parent identity that has claimed this verifier | [`UUID`](simpletypes.md#uuid) |
2424
| `namespace` | The namespace of the verifier | `string` |
25-
| `type` | The type of the verifier | `FFEnum`:<br/>`"ethereum_address"`<br/>`"tezos_address"`<br/>`"fabric_msp_id"`<br/>`"dx_peer_id"` |
25+
| `type` | The type of the verifier | `FFEnum`:<br/>`"cardano_address"`<br/>`"ethereum_address"`<br/>`"tezos_address"`<br/>`"fabric_msp_id"`<br/>`"dx_peer_id"` |
2626
| `value` | The verifier string, such as an Ethereum address, or Fabric MSP identifier | `string` |
2727
| `created` | The time this verifier was created on this node | [`FFTime`](simpletypes.md#fftime) |
2828

0 commit comments

Comments
 (0)