Commit graph

17 commits

Author SHA1 Message Date
Alexsander Falcucci
6f1b15269c
feat(network): implement GetUTxOByAddress local state query (#341) 2023-12-12 09:31:46 -03:00
Alexsander Falcucci
645989465d
feat(network): implement stake distribution local state query (#340) 2023-11-24 06:43:25 -03:00
Santiago Carmuega
155139e166
fix: fix conditional code for windows builds (#334) 2023-11-16 13:36:49 -03:00
Santiago Carmuega
e0f9f14dea
refactor(network): simplify local state mini-protocol implementation (#326) 2023-11-09 21:47:24 -03:00
Harper
2b5f22def2
feat(network): scaffold local state query server (#280) 2023-10-26 18:02:11 +00:00
Andrew Westberg
554fa1578e
feat: add handshake with query for n2c (#266) 2023-06-27 13:46:24 -03:00
Olof Blomqvist
31a87032ca
fix: fix builds on windows platform (#263) 2023-06-21 13:39:43 -03:00
Santiago Carmuega
cb0348b47a
refactor: Merge multiplexer & miniprotocols into single crate (#244) 2023-04-10 19:51:38 -03:00
Pi Lanningham
fc2728639f
feat: Make the underlying TxBody type generic
* WIP

* Fix compilation on windows machines

* Make TxBody generic

Technically we should be generic over TxBody for arbitrary ouroboros implementations; however, that makes things awkward.  So, we introduce GenericClient and GenericServer, with concrete types that instantiate them to Cardano specific types.  We could have done this with default type arguments, but this pushes the type system to it's limits and it often can't infer the correct type

* More examples tweaks; clippy and fmt

* Remove unneccesary defaults

* Tag 24 is no longer mysterious

It means raw CBOR

* Cargo fmt

One day I'll configure vscode to do this on safe
2023-02-20 10:19:06 -05:00
Pi Lanningham
a81fc101fe
feat: Add client/server use_channel variants (#228)
The goal here is to make the use of channels when interfacing with nodes less of a black box; the 0x8000 bit flip is a very surprising behavior if you're not already familiar with it.
2023-02-09 17:38:45 -03:00
Pi Lanningham
4915d14cd5
feat: Add constants for known miniprotocols
* Add constants for known miniprotocols

Now consumers of the crate don't have to memorize what channel number means what

* Add myself to the crate authors
2023-02-05 06:13:55 -05:00
Santiago Carmuega
16d0211c5b
feat(miniprotocols): Implement tx submission client (#220)
* feat(miniprotocols): Implement tx submission client

* Match CDDL specs

* Fix build errors

* Add server implementation for txsubmission

Also includes some documentation for how to use both the client and the server

* cargo fmt

* clippy suggestions

clippy pls

* Fail explicitly on missing n2c unix socket

---------

Co-authored-by: Pi Lanningham <pi@sundaeswap.finance>
2023-02-03 20:38:12 -05:00
Santiago Carmuega
a129d77608
feat: Migrate to dumb agents (#198)
BREAKING CHANGE: handshake, chainsync, localstate and blockfetch mini-protocols changed the API surface

Co-authored-by: jmhrpr <harper.jme@gmail.com>
2022-10-25 14:42:34 -03:00
Santiago Carmuega
c075f8c2ab
fix(multiplexer): Use buffers that own the inner channel (#113) 2022-06-10 11:54:14 -03:00
Santiago Carmuega
f67e010c76
feat: Improve multiplexer ergonomics (#111) 2022-06-04 17:39:29 -03:00
Santiago Carmuega
a39682a38d
feat(multiplexer): Allow fine-grained control of concurrency strategy (#106) 2022-06-03 21:37:38 -03:00
Santiago Carmuega
c998d9adbb
chore: Move miniprotocol examples to custom crate (#97) 2022-04-28 09:50:33 -03:00