Skip to content

WIP: introduce wrapper package for C# FFI. #569

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

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
cf6b8c5
Improve error message.
joemphilips Jun 21, 2020
1aa951e
Update tests according to tparameterised errors.
joemphilips Jul 2, 2020
a949cd1
Update tests to pass in rustc 1.22.0
joemphilips Jul 2, 2020
e9ebd8d
Update error message
joemphilips Jul 4, 2020
13edc1f
start writing bindings
joemphilips Mar 16, 2020
578126b
impl Read/Write to ChannelDetails
joemphilips May 22, 2020
29024ca
return variable length buffer as events
joemphilips May 23, 2020
aecfc6f
support BlockNotifier for ffi
joemphilips Jun 20, 2020
c4ec642
do not return Result in ChannelManager constructor
joemphilips Jun 21, 2020
cbef3f4
fix bug in Event serialization
joemphilips Jun 24, 2020
8efa515
add new entrypoint for testing event serialization
joemphilips Jun 24, 2020
1738307
Update
joemphilips Jun 25, 2020
d0fa01f
WIP: refactoring to use Option instead of Ref for fn pointer
joemphilips Jun 26, 2020
db9ea63
Revert "WIP: refactoring to use Option instead of Ref for fn pointer"
joemphilips Jun 26, 2020
c540783
stop using util in FFIChainWatchInterface
joemphilips Jun 28, 2020
9cbf90a
Incorporate upstream changes
joemphilips Jun 28, 2020
3c28b64
remove useless println
joemphilips Jun 29, 2020
acbca14
add new entrypoint for testing ChannelDetails serialization
joemphilips Jul 1, 2020
95266f8
fix some compiler warnings in binding
joemphilips Jul 4, 2020
6411775
add new entrypoint for serilizing ChannelManager
joemphilips Jul 5, 2020
7b4b5d4
Remove useless node_id parameter from PeerManager constructor
joemphilips Jul 7, 2020
4d8af6f
externalize KeysInterface
joemphilips Jul 8, 2020
7352003
avoid using null pointer everywhere possible
joemphilips Jul 9, 2020
082d03e
add new entrypoint ChannelManager::claim_funds_without_secret
joemphilips Jul 11, 2020
5ca1431
impl Read/Write for RouteHint
joemphilips Jul 15, 2020
0c74e21
Add send_payment ffi entrypoint for PeerManager
joemphilips Jul 15, 2020
fd02892
split send_payment into mpp and non-mpp
joemphilips Jul 16, 2020
106da74
fix some compiler warnings
joemphilips Jul 20, 2020
8ea1b25
WIP: expose SimpleManyChannelMonitor to C# side
joemphilips Jul 25, 2020
cb799cd
implement Readable/Writeable for SimpleManyChannelMonitor
joemphilips Jul 26, 2020
9a99587
add entrypoint for deserializing ChannelMonitor
joemphilips Jul 26, 2020
7722df3
make ChannelManager.logger public
joemphilips Jul 29, 2020
ab50d76
impl Display for MonitorUpdateError
joemphilips Jul 29, 2020
c6cf234
Update SimpleManyChannelMonitor deserialization
joemphilips Jul 29, 2020
7436019
Refactor bindings
joemphilips Jul 29, 2020
bd48bfb
remove unsafe_fn in HandleShared::as_arc
joemphilips Jul 29, 2020
be4b916
stop using as_arc
joemphilips Jul 31, 2020
0ff2098
update tell_block_(dis)connected_after resume endpoint
joemphilips Aug 3, 2020
c7ef0f1
return latest block hash in ChannelManager deserialization
joemphilips Aug 4, 2020
2a5ae73
resume channel_monitor state when deserializing channel maanger
joemphilips Aug 8, 2020
f7b893b
add FFI entrypoint for constructing PeerManager from NetworkGraph
joemphilips Aug 8, 2020
14a1a8e
define serialization for Vec<NetAddress>
joemphilips Aug 10, 2020
f21c929
Define new entrypoint.
joemphilips Aug 10, 2020
2fd1ed7
Fix bug in Channel
joemphilips Aug 13, 2020
d59176c
add get_and_clear_pending_events endpoint to ManyChannelMonitor
joemphilips Aug 28, 2020
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
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
members = [
"lightning",
"lightning-net-tokio",
"bindings",
]

# Our tests do actual crypo and lots of work, the tradeoff for -O1 is well worth it
Expand Down
22 changes: 22 additions & 0 deletions bindings/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[package]
name = "bindings"
version = "0.1.0"
authors = ["joe.miyamoto <[email protected]>"]
edition = "2018"

[lib]
crate-type=["staticlib", "cdylib"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
lightning = { path = "../lightning" }
bitcoin = "0.23"
bitcoin_hashes = "0.7"

# We want to include this only for debug build, but following line does not work.
# [target.'cfg(debug_assertions)'.dependencies]
# see https://github.com/rust-lang/cargo/issues/7634
# as a workaround, we just included it as an usual dependency
hex = "0.3"

4 changes: 4 additions & 0 deletions bindings/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# FFI binding interface for rust-lighting

Currently, it only supports C#, other languages are untested.

Loading