magicblock-labs / magicblock-labs/redsuite
Prepare immutable wire-ready transaction requests
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 3h 58m
- Merged PRs (30d)
- 48
Description
## Outcome
Transport-only burst measurements avoid transaction cloning and encoding during submission.
## Scope
[The pre-signed burst path](https://github.com/magicblock-labs/redsuite/blob/06c80157f8bc87c39ac48fd59367a8e9280d2db9/redline/src/scenarios/scheduler/executor_saturation.rs#L292) still clones individual transactions and calls [send_transaction](https://github.com/magicblock-labs/redsuite/blob/06c80157f8bc87c39ac48fd59367a8e9280d2db9/crates/redsuite-core/src/api.rs#L541), which performs bincode/base64/JSON encoding. [Batch submission](https://github.com/magicblock-labs/redsuite/blob/06c80157f8bc87c39ac48fd59367a8e9280d2db9/crates/redsuite-core/src/api.rs#L483) clones the full prepared body.
Prepare immutable encoded bodies with expected signatures before transport-only measured sends. Share transaction encoding between individual and batch requests; move or cheaply share body ownership. Preserve signatures and blockhash-refresh behavior.
Related: #87 owns the common latency timestamp and scheduling-delay policy. Do not duplicate that work or redefine end-to-end measurements here.
## Acceptance criteria
- [ ] Transport-only burst paths submit already-encoded bodies without deep transaction or full-body copies.
- [ ] Individual and batch response validation remains intact.
- [ ] Blockhash freshness and subscription-before-submission ordering are preserved.
- [ ] End-to-end scenarios retain their intended timing boundary; changed measurements are identified explicitly.
- [ ] Record client CPU/allocation or throughput evidence for the prepared path without claiming validator-only latency.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.