Commit graph

43 commits

Author SHA1 Message Date
Andrew Westberg
d1e40907c6
fix(network): add tcp_nodelay to bearer (#365) 2023-12-20 21:50:03 -03:00
Andrew Westberg
1ed2161a43
feat(network): update n2n handshake versions & add keepalive miniprotocol (#362) 2023-12-19 07:56:10 -03:00
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
Santiago Carmuega
1f870cac66
chore: fix lint warning (#283) 2023-09-07 09:39:18 -03: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
Santiago Carmuega
b8ff4e9418
feat: Migrate to asynchronous I/O (#241)
This commit updates the networking stack to use asynchronous I/O for improved performance and concurrency. We have replaced synchronous I/O calls with their asynchronous counterparts and refactored the code to use async/await and Tokio runtime.
2023-04-09 08:50:56 -03:00
Santiago Carmuega
381a46f2cf
chore: Fix lint warnings for all targets (#240) 2023-03-24 06:59:49 -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
dependabot[bot]
3fe3b3b53e
build(deps): update env_logger requirement from 0.9.0 to 0.10.0 (#209)
Updates the requirements on [env_logger](https://github.com/rust-cli/env_logger) to permit the latest version.
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-04 08:52:01 -03: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
9d8ca617ef
chore: Fix lint issues (#222) 2023-02-02 21:07:14 -03: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
f29cc64fd8 Release 0.13.1
pallas@0.13.1
pallas-addresses@0.13.1
pallas-codec@0.13.1
pallas-crypto@0.13.1
pallas-miniprotocols@0.13.1
pallas-multiplexer@0.13.1
pallas-primitives@0.13.1
pallas-traverse@0.13.1

Generated by cargo-workspaces
2022-08-08 18:23:14 -03:00
Santiago Carmuega
19844889e6
feat(multiplexer): Use single channel for muxer (#133) 2022-06-20 16:06:46 -03:00
Santiago Carmuega
00c9e1835e
feat: Implement common traverse iterators (#119) 2022-06-14 13:47:11 -03:00
Santiago Carmuega
26da913ad9
feat: Introduce 'traverse' library (#117) 2022-06-12 19:09:33 -03:00
Santiago Carmuega
fe80ff7800
feat(primitives): Introduce MintedBlock concept (#116) 2022-06-12 10:44:16 -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
Santiago Carmuega
86a2bcc9ac
feat: Make blockfetch observer mutable (#86) 2022-04-08 18:52:38 -03:00
Santiago Carmuega
4faf9a124d
refactor(miniprotocols): Use pure functions for state machines (#84) 2022-03-22 23:27:20 -03:00
Santiago Carmuega
17a4beb8d8
chore: Fix rogue clippy warnings (#79) 2022-03-18 16:12:50 -03:00
Santiago Carmuega
aafaec25d4
chore: Add block-decoding example (#78) 2022-03-18 14:57:02 -03:00
Santiago Carmuega
1fbb4efeef
fix(miniprotocols): Handle regression related to multi-msg payloads (#76) 2022-03-16 18:17:10 -03:00
Santiago Carmuega
187245a62f
feat: Introduce shared codec lib (#71)
closes #65
2022-03-13 09:37:08 -03:00
Santiago Carmuega
4b1d0a82f6
fix(primitives): Fix decoding of empty Nonce hash (#67) 2022-03-01 09:42:08 -03:00
Santiago Carmuega
4385f5824c Release 0.6.1
pallas-primitives@0.6.1

Generated by cargo-workspaces
2022-02-28 17:11:49 -03:00
Santiago Carmuega
bb5d7b6930 chore: Fix clippy warnings 2022-02-24 15:23:31 -03:00
Santiago Carmuega
3280397c70 chore: Tidy up examples 2022-02-24 15:16:04 -03:00
Santiago Carmuega
fec96ffd99
chore: Merge Byron / Alonzo into single crate (#43) 2022-02-09 07:19:17 -03:00
Santiago Carmuega
f8b9d0d5d7
chore: Merge mini-protocols into single crate (#40) 2022-02-06 21:13:35 -03:00
Santiago Carmuega
de41bd8ad6
feat: Introduce Byron library (#39)
Co-authored-by: rvcas <x@rvcas.dev>
2022-02-04 21:40:12 -03:00
Santiago Carmuega
26d74796b4
docs: Add block download example (#24) 2022-01-17 17:11:03 -03:00