-
Notifications
You must be signed in to change notification settings - Fork 18
[WIP] Oneway channel and trampoline routing #1012
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.19 to 0.3.20. - [Release notes](https://github.com/tokio-rs/tracing/releases) - [Commits](tokio-rs/tracing@tracing-subscriber-0.3.19...tracing-subscriber-0.3.20) --- updated-dependencies: - dependency-name: tracing-subscriber dependency-version: 0.3.20 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.219 to 1.0.228. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](serde-rs/serde@v1.0.219...v1.0.228) --- updated-dependencies: - dependency-name: serde dependency-version: 1.0.228 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.9.2 to 2.10.0. - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](bitflags/bitflags@2.9.2...2.10.0) --- updated-dependencies: - dependency-name: bitflags dependency-version: 2.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.142 to 1.0.143. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.142...v1.0.143) --- updated-dependencies: - dependency-name: serde_json dependency-version: 1.0.143 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [wasm-bindgen-test](https://github.com/wasm-bindgen/wasm-bindgen) from 0.3.50 to 0.3.55. - [Release notes](https://github.com/wasm-bindgen/wasm-bindgen/releases) - [Changelog](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/CHANGELOG.md) - [Commits](https://github.com/wasm-bindgen/wasm-bindgen/commits) --- updated-dependencies: - dependency-name: wasm-bindgen-test dependency-version: 0.3.55 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [hyper](https://github.com/hyperium/hyper) from 1.6.0 to 1.8.1. - [Release notes](https://github.com/hyperium/hyper/releases) - [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md) - [Commits](hyperium/hyper@v1.6.0...v1.8.1) --- updated-dependencies: - dependency-name: hyper dependency-version: 1.8.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [log](https://github.com/rust-lang/log) from 0.4.27 to 0.4.29. - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](rust-lang/log@0.4.27...0.4.29) --- updated-dependencies: - dependency-name: log dependency-version: 0.4.29 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.99 to 1.0.100. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](dtolnay/anyhow@1.0.99...1.0.100) --- updated-dependencies: - dependency-name: anyhow dependency-version: 1.0.100 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Updated the funding transaction handling logic to send a TxAbort message to peers when signing fails instead of panic. Added a test case to verify that funding is aborted correctly on both nodes when a signing failure occurs.
Co-authored-by: Yukang <[email protected]>
- Define payment and invoice events to be sent to CCH for both fiber and lnd. - These events can be emitted from fiber store changes in a later PR. - Extract lnd trackers into its own module. - Limit concurrent lnd invoice trackers to 5, scheduling them at 5-minute intervals using a round-robin strategy.
Add gauges to monitor the LND tracker's internal state for better observability. - Track invoice queue length to monitor backlog size - Monitor count of active invoice trackers for capacity awareness - Conditionally compile metrics behind "metrics" feature flag
- When an invoice state changes in Fiber (settled, failed, expired), the CCH order tracking system automatically detects and synchronizes the state without manual polling or intervention. - When an outgoing payment state changes in Fiber (succeeded, failed, pending), the CCH order tracking system automatically detects and synchronizes the state without requiring manual status checks. - CCH monitors invoice for the incoming payment. When CCH has received the incoming payment, it will send the outgoing payment to get the preimage. - CCH monitors outgoing payment to get the preimage and use the obtained preimage the settle the incoming payment.
Co-authored-by: ian <[email protected]>
57248d0 to
03aa736
Compare
efcaf4f to
2a3fa32
Compare
fcfa7ca to
311bee8
Compare
907fa59 to
498351e
Compare
498351e to
a86176e
Compare
c5c5756 to
14745f2
Compare
|
|
||
| ## References | ||
|
|
||
| - [Lightning Network Trampoline Proposal](https://github.com/lightning/bolts/blob/master/proposals/trampoline.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Link’s dead.
|
|
||
| Each trampoline hop specifies: | ||
| - `pubkey`: Trampoline node public key | ||
| - `fee_rate`: Optional service fee rate in ppm (default: `DEFAULT_FEE_RATE * 2`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this value user-configurable? Users will definitely set it to zero.
| Each trampoline hop specifies: | ||
| - `pubkey`: Trampoline node public key | ||
| - `fee_rate`: Optional service fee rate in ppm (default: `DEFAULT_FEE_RATE * 2`) | ||
| - `tlc_expiry_delta`: Optional expiry delta (default: `DEFAULT_TLC_EXPIRY_DELTA`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any security risk if users configure this value?
| } | ||
| ``` | ||
|
|
||
| ## Multi-Part Payment (MPP) Support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add note that Sender → Trampoline does not support MPP
Implementation of design:
one-way-channel: #1016
trampoline routing: https://github.com/nervosnetwork/fiber/blob/quake/oneway-channel/docs/specs/trampoline-routing.md