Commit graph

64 commits

Author SHA1 Message Date
Santiago Carmuega
e21895206c chore: fix examples after latest refactors (#560) 2024-12-14 17:18:31 -03:00
Pedro Sánchez Terraf
a0c0ffde1a fix(network): adjust PoolDistr & ProtocolParam structs used for state queries (#551)
Signed-off-by: Pedro Sánchez Terraf <sterraf@users.noreply.github.com>
2024-12-14 16:32:12 -03:00
Logical Mechanism
e2aa8139fc feat(txbuilder): allow cloning of relevant structs (#558)
Co-authored-by: logicalmechanism <logicalmechanism@protonmail.com>
2024-12-13 07:57:36 -03:00
Pedro Sánchez Terraf
226a454ec6 feat(network): implement GetFilteredDelegationsAndRewardAccounts query (#552)
Signed-off-by: Santiago Carmuega <santiago@carmuega.me>
Co-authored-by: Santiago Carmuega <santiago@carmuega.me>
2024-12-11 22:15:07 -03:00
Pedro Sánchez Terraf
5c3a7ccf19 feat(network): implement GetUTxOByTxIn state query (#550) 2024-12-11 21:57:25 -03:00
Santiago Carmuega
9f9e088091 fix(interop): use correct input order to match redeemers (#487) 2024-07-14 13:48:05 -03:00
Santiago Carmuega
0f30012d75 chore: fix lint warnings (#470) 2024-06-01 08:05:47 -03:00
Andrew Westberg
f4fd2600f1 feat(traverse): Decode Conway block headers properly (#466) 2024-05-24 17:25:24 -03:00
Pi Lanningham
af8898b8ec feat: add a simple Crawler example (#453)
While working on Amaru, we'll likely want to grab lots of example data. This adds a small utility to easily grab one block, one tx, or blocks/txs matching some predicate
2024-05-08 20:11:13 -03:00
Pi Lanningham
a1e18833d6 feat(network): add an extra ergonomic method for n2c chainsync (#439) 2024-04-16 19:04:07 -03:00
Alexsander Falcucci
9e7cafbcac feat(network): implement GetChainBlockNo local state query (#441) 2024-04-16 09:27:23 -03:00
Santiago Carmuega
df3291bef5 feat(network): implement background keep-alive loop (#427) 2024-04-02 21:27:33 -03:00
Alexsander Falcucci
212da166df feat: implement GetCBOR local state query (#413) 2024-03-04 15:25:17 -03:00
Alexsander Falcucci
54582764a2 feat(network): implement GetGenesisConfig local state query (#407) 2024-02-26 08:44:37 -03:00
Alexsander Falcucci
83728a085d fix: support multiple pools in stake snapshot query (#396) 2024-02-11 12:51:35 -03:00
Alexsander Falcucci
d4a8acfaa0 feat(network): implement stake snapshot local state query (#394) 2024-02-06 09:17:44 -03:00
Alexsander Falcucci
0c026ef4c9 feat: implement GetCurrentPParams local state query (#322) 2024-01-08 08:38:39 -03:00
Harper
4d887c6d94 feat(network): implement server side KeepAlive (#376) 2024-01-08 07:50:37 -03:00
Santiago Carmuega
8c1ab39539 chore: fix lint warnings across the board (#374) 2024-01-04 09:47:04 -03:00
Clark Alesna
85e83da4b0 feat(network): implement split read / write for NamedPipe bearer (#371) 2024-01-03 08:34:16 -03:00
Santiago Carmuega
8c6d5e5e58 refactor(network): split bearer into read/write (#364) 2023-12-21 18:08:29 -03:00
Andrew Westberg
2e1b0e5cf2 fix(network): add tcp_nodelay to bearer (#365) 2023-12-20 21:50:03 -03:00
Andrew Westberg
b6399333da feat(network): update n2n handshake versions & add keepalive miniprotocol (#362) 2023-12-19 07:56:10 -03:00
Alexsander Falcucci
27f1b3af24 feat(network): implement GetUTxOByAddress local state query (#341) 2023-12-12 09:31:46 -03:00
Alexsander Falcucci
b1ac003716 feat(network): implement stake distribution local state query (#340) 2023-11-24 06:43:25 -03:00
Santiago Carmuega
cc2f295fb2 fix: fix conditional code for windows builds (#334) 2023-11-16 13:36:49 -03:00
Santiago Carmuega
750c2d303e refactor(network): simplify local state mini-protocol implementation (#326) 2023-11-09 21:47:24 -03:00
Harper
fb1cc54b0c feat(network): scaffold local state query server (#280) 2023-10-26 18:02:11 +00:00
Santiago Carmuega
f515a6115c chore: fix lint warning (#283) 2023-09-07 09:39:18 -03:00
Andrew Westberg
98483e76c7 feat: add handshake with query for n2c (#266) 2023-06-27 13:46:24 -03:00
Olof Blomqvist
d1f61a3992 fix: fix builds on windows platform (#263) 2023-06-21 13:39:43 -03:00
Santiago Carmuega
d5f0c2fd80 refactor: Merge multiplexer & miniprotocols into single crate (#244) 2023-04-10 19:51:38 -03:00
Santiago Carmuega
b63d2052cb 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
ae7e1f5c82 chore: Fix lint warnings for all targets (#240) 2023-03-24 06:59:49 -03:00
Pi Lanningham
afea5a43ed 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
01bdf4afe0 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
f9263a0eba 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]
fca65e25bd 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
6a3679dcda 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
d7a414c3af chore: Fix lint issues (#222) 2023-02-02 21:07:14 -03:00
Santiago Carmuega
1b42851f2d 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
1f0eb3bfc0 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
cdb7b6f954 feat(multiplexer): Use single channel for muxer (#133) 2022-06-20 16:06:46 -03:00
Santiago Carmuega
e67da5e7ef feat: Implement common traverse iterators (#119) 2022-06-14 13:47:11 -03:00
Santiago Carmuega
6913efef78 feat: Introduce 'traverse' library (#117) 2022-06-12 19:09:33 -03:00
Santiago Carmuega
c9489c3ddf feat(primitives): Introduce MintedBlock concept (#116) 2022-06-12 10:44:16 -03:00
Santiago Carmuega
8b54dbeeac fix(multiplexer): Use buffers that own the inner channel (#113) 2022-06-10 11:54:14 -03:00
Santiago Carmuega
159d38020c feat: Improve multiplexer ergonomics (#111) 2022-06-04 17:39:29 -03:00
Santiago Carmuega
e4784f444d feat(multiplexer): Allow fine-grained control of concurrency strategy (#106) 2022-06-03 21:37:38 -03:00
Santiago Carmuega
4b5b747ecc chore: Move miniprotocol examples to custom crate (#97) 2022-04-28 09:50:33 -03:00