Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
280ad00
Add 'crates/gateway/' from commit '35a134bc4f91d510c6f23ab93e9c4bfa99…
michalrus Feb 18, 2026
367aa18
chore: make `crates/gateway` a proper package in this workspace
michalrus Feb 9, 2026
42aeff4
chore: get rid of `+spec-1.1.0` from `toml`
michalrus Feb 18, 2026
3379005
chore: fix Clippy issues
michalrus Feb 18, 2026
64b41f5
chore: rename the `hydra` modules according to function
michalrus Feb 18, 2026
42af219
chore: remove unused `tunnel.rs`
michalrus Feb 18, 2026
5c6d8bd
chore: rename TOML’s `hydra` → `hydra_platform`
michalrus Feb 19, 2026
5f2a88d
feat: re-do the initial version in separate files for clarity (we'll …
michalrus Feb 19, 2026
09d681e
fix: the minimal top-up bug in the Bridge
michalrus Feb 19, 2026
5dc07a1
fix: get rid of the dust causing `BabbageOutputTooSmallUTxO`
michalrus Feb 19, 2026
b73e9ac
fix: allow Bridge request with non-Open head, as long as there are cr…
michalrus Feb 19, 2026
9403975
chore: edit the default Bridge port for the videos
michalrus Feb 19, 2026
473bb17
chore: using 3 µtransactions/fanout looks better
michalrus Feb 19, 2026
88b450d
fix(ci): try to fix the macOS build (missing `libpq`)
michalrus Feb 9, 2026
bd85832
fix(ci): try to fix the macOS build (missing `libpq`), take 2…
michalrus Feb 9, 2026
639c3df
fix: Nix archives
michalrus Feb 23, 2026
e394f56
fix(build): Windows
michalrus Feb 23, 2026
f5665c2
Merge branch 'feat/hydra-payments' into feat/hydra-payments-2
michalrus Mar 13, 2026
1bffe03
chore: add `blockfrost-sdk-bridge` to Nix packages
michalrus Mar 13, 2026
7a5aa6c
chore: relax coverage %
michalrus Mar 13, 2026
92c0e63
fix: anonymize `node.socket` and key paths
michalrus Mar 13, 2026
96bea9f
Merge branch 'feat/hydra-payments' into feat/hydra-payments-2
michalrus Mar 13, 2026
c528c41
Merge branch 'feat/hydra-payments' into feat/hydra-payments-2
michalrus Apr 2, 2026
28f23b8
feat(hydra): add an integration test: SDK Bridge + Gateway Hydra micr…
michalrus Apr 2, 2026
8eeca71
chore(hydra): add the new test to CI
michalrus Apr 2, 2026
31af299
fix(test): only ever exit with 0 if `test_passed == true`
michalrus Apr 2, 2026
2504d14
Merge branch 'feat/hydra-payments' into feat/hydra-payments-2
michalrus Apr 2, 2026
1b5eeb1
Merge branch 'feat/hydra-payments' into feat/hydra-payments-2
michalrus Apr 2, 2026
f3b7fa4
chore: drop the tracing prefixes in accordance with #501
michalrus Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,23 @@ jobs:
run: |
nix run -L .#internal.x86_64-linux.hydra-platform-gateway-test

hydra_bridge_gateway_tests:
name: Hydra micropayments tests between Bridge↔Gateway
runs-on: [self-hosted, Linux, X64, nixos]
needs: check_flake_lock
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Run Hydra Tests
timeout-minutes: 45
env:
CARDANO_NODE_SOCKET_PATH: /run/cardano-node/node_preview.socket
BLOCKFROST_PROJECT_ID: ${{ secrets.BLOCKFROST_TESTS_PROJECT_ID }}
SUBMIT_MNEMONIC: ${{ secrets.BLOCKFROST_TESTS_SUBMIT_MNEMONIC }}
run: |
nix run -L .#internal.x86_64-linux.hydra-bridge-gateway-test

coverage:
name: Coverage
runs-on: ubuntu-latest
Expand All @@ -256,7 +273,7 @@ jobs:

- name: Check coverage
timeout-minutes: 10
run: cargo tarpaulin --workspace --all --lib --features tarpaulin --fail-under 9
run: cargo tarpaulin --workspace --all --lib --features tarpaulin --fail-under 8

oci_build:
name: OCI Build (${{ matrix.arch }})
Expand Down
31 changes: 31 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ members = [
"crates/node",
"crates/data_node",
"crates/gateway",
"crates/sdk_bridge",
"crates/integration_tests",
]
default-members = ["crates/platform"]
Expand Down
1 change: 1 addition & 0 deletions crates/gateway/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ rand.workspace = true
base64.workspace = true
uuid.workspace = true
hyper.workspace = true
tower.workspace = true
machine-uid.workspace = true
blake3.workspace = true
getrandom.workspace = true
Expand Down
9 changes: 9 additions & 0 deletions crates/gateway/config/development.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,12 @@ commit_ada = 3.0
lovelace_per_request = 100_000
requests_per_microtransaction = 10
microtransactions_per_fanout = 2

[hydra_bridge]
max_concurrent_hydra_nodes = 2
cardano_signing_key = "./hydra-config/preview/_our-keys/payment/payment.sk"
node_socket_path = "/run/cardano-node/node.socket"
commit_ada = 4.0
lovelace_per_request = 100_000
requests_per_microtransaction = 10
microtransactions_per_fanout = 3
4 changes: 4 additions & 0 deletions crates/gateway/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ pub struct ConfigInput {
pub database: DbInput,
pub blockfrost: BlockfrostInput,
pub hydra_platform: Option<HydraConfig>,
pub hydra_bridge: Option<HydraConfig>,
}

#[derive(Debug, Deserialize, Clone)]
Expand All @@ -74,6 +75,7 @@ pub struct Config {
pub database: Db,
pub blockfrost: Blockfrost,
pub hydra_platform: Option<HydraConfig>,
pub hydra_bridge: Option<HydraConfig>,
}

#[derive(Debug, Deserialize, Clone)]
Expand Down Expand Up @@ -145,6 +147,7 @@ pub fn load_config(path: PathBuf) -> Config {
nft_asset: toml_config.blockfrost.nft_asset,
},
hydra_platform: toml_config.hydra_platform,
hydra_bridge: toml_config.hydra_bridge,
};

override_with_env(config)
Expand Down Expand Up @@ -196,5 +199,6 @@ fn override_with_env(config: Config) -> Config {
nft_asset,
},
hydra_platform: config.hydra_platform,
hydra_bridge: config.hydra_bridge,
}
}
Loading
Loading