Skip to content

[zk-token-sdk] Implement FromStr for ElGamalPubkey, ElGamalCiphertext, and AeCiphertext#130

Merged
samkim-crypto merged 14 commits intoanza-xyz:masterfrom
samkim-crypto:zk-token-sdk/fromstr
Mar 15, 2024
Merged

[zk-token-sdk] Implement FromStr for ElGamalPubkey, ElGamalCiphertext, and AeCiphertext#130
samkim-crypto merged 14 commits intoanza-xyz:masterfrom
samkim-crypto:zk-token-sdk/fromstr

Conversation

@samkim-crypto
Copy link
Copy Markdown

@samkim-crypto samkim-crypto commented Mar 7, 2024

Problem

Currently, ElGamalPubkey, ElGamalCiphertext and AeCiphertext types implement the Display trait, but not FromStr. It would be nice to implement FromStr for these types since clap-v3 can automatically validate and parse string encodings of any type that implements FromStr. Also, FromStr makes life much easier when exposing these types in wasm binaries.

Summary of Changes

Implement FromStr for types ElGamalPubkey, ElGamalCiphertext, and AeCiphertext.

Fixes #

Copy link
Copy Markdown

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good for the most part! mostly nits.

Since the implementations look pretty much the same in every case, how about creating a macro in the crate to derive FromStr for all of them? It looks like you just need the type, base64 length, and byte length

Comment thread zk-token-sdk/src/zk_token_elgamal/pod/auth_encryption.rs Outdated
Comment thread zk-token-sdk/src/zk_token_elgamal/pod/auth_encryption.rs Outdated
if s.len() > AE_CIPHERTEXT_MAX_BASE64_LEN {
return Err(ParseError::WrongSize);
}
let ciphertext_vec = BASE64_STANDARD.decode(s).map_err(|_| ParseError::Invalid)?;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about decoding directly into an array of [u8; AE_CIPHERTEXT_LEN] with decode_slice https://docs.rs/base64/latest/base64/engine/trait.Engine.html#method.decode_slice? Then you can check that the length is correct and return that directly, no allocations required!

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good idea, but one issue that I had is that something like this does not work

let mut array = [0u8; AE_CIPHERTEXT_LEN]; // 64 byte array
let decoded_length = BASE64_STANDARD.decode_slice(s, &mut array).unwrap();

because it seems like for the base64 encoding, you need extra space for the additional zeroes during decoding. So decoded_length is still 64, but array must be at least of size 66 for this to not panic. This seems to make directly decoding into an array pointless since we would need to eventually allocate to an array length 64. What do you think?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I think I'm missing something, do you have an example that shows this? I just tried this with a few examples of valid of 64-byte encoded strings, ie:

    let s = "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIDFUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgMQ==";
    let mut array = [0u8; 64];
    let decoded_length = BASE64_STANDARD.decode_slice(&s, &mut array).unwrap();
    println!("decoded: {decoded_length}, array: {array:?}");

And it worked as expected with a decoded length of 64.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, weird... I just copy pasted the exact lines into a temporary test and it seems to give the following output for me:

thread 'zk_token_elgamal::pod::elgamal::tests::temp_test' panicked at zk-token-sdk/src/zk_token_elgamal/pod/elgamal.rs:186:75:
called `Result::unwrap()` on an `Err` value: OutputSliceTooSmall

If you add the following test

    #[test]
    fn temp_test() {
        let s = "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIDFUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgMQ==";
        let mut array = [0u8; 64];
        let decoded_length = BASE64_STANDARD.decode_slice(&s, &mut array).unwrap();
        println!("decoded: {decoded_length}, array: {array:?}");
    }

does it pass in your local machine? Both my local and dev server seems to produce OutputSliceTooSmall.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh! Looks like this was fixed in version 0.22, which is the version I was testing with

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah makes sense! This was released two weeks ago. I guess then it would make sense to update the base64 crate version for the monorepo in a separate PR and then rebase this PR after that?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#225 on it!

if s.len() > ELGAMAL_CIPHERTEXT_MAX_BASE64_LEN {
return Err(ParseError::WrongSize);
}
let ciphertext_vec = BASE64_STANDARD.decode(s).map_err(|_| ParseError::Invalid)?;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same note here: decode into an array?

Comment thread zk-token-sdk/src/zk_token_elgamal/pod/elgamal.rs Outdated
Comment thread zk-token-sdk/src/zk_token_elgamal/pod/elgamal.rs Outdated
Comment thread zk-token-sdk/src/zk_token_elgamal/pod/mod.rs Outdated
#[repr(transparent)]
pub struct CompressedRistretto(pub [u8; 32]);

#[macro_export]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: since #[macro_export] makes this pub by default, how about exporting as only pub(crate) like here https://stackoverflow.com/a/67140319/16310679 ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yes, I completely forgot about this. I removed it.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 14, 2024

Codecov Report

Attention: Patch coverage is 87.50000% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 81.9%. Comparing base (794cb2f) to head (532147a).
Report is 6 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff            @@
##           master     #130    +/-   ##
========================================
  Coverage    81.9%    81.9%            
========================================
  Files         836      836            
  Lines      226643   226675    +32     
========================================
+ Hits       185636   185744   +108     
+ Misses      41007    40931    -76     

@samkim-crypto samkim-crypto requested a review from joncinque March 14, 2024 08:26
Copy link
Copy Markdown

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's pretty much there! Just two last little nits, then this is all good for me

Comment thread zk-token-sdk/src/zk_token_elgamal/pod/mod.rs Outdated
Comment thread zk-token-sdk/src/zk_token_elgamal/pod/mod.rs Outdated

fn from_str(s: &str) -> Result<Self, Self::Err> {
if s.len() > $base64_len {
return Err(ParseError::WrongSize);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry one last bit: it seems like these usages here still require implementations to import ParseError, could you fully qualify these with Self::Err or crate::zk_token_elgamal::pod::ParseError so the import isn't required?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yes I should have caught this before. I removed the need for the dependency!

@samkim-crypto samkim-crypto merged commit fba70c8 into anza-xyz:master Mar 15, 2024
codebender828 pushed a commit to codebender828/agave that referenced this pull request Oct 3, 2024
…rtext`, and `AeCiphertext` (anza-xyz#130)

* add `ParseError` in `zk-token-elgamal`

* implement `FromStr` for `ElGamalPubkey` and `ElGamalCiphertext`

* implement `FromStr` for `AeCiphertext`

* fix target

* cargo fmt

* use constants for byte length check

* make `FromStr` functions available on chain

* use macros for the `FromStr` implementations

* restrict `from_str` macro to `pub(crate)`

* decode directly into array

* cargo fmt

* Apply suggestions from code review

Co-authored-by: Jon C <me@jonc.dev>

* remove unnecessary imports

* remove the need for `ParseError` dependency

---------

Co-authored-by: Jon C <me@jonc.dev>
apfitzge pushed a commit to apfitzge/agave that referenced this pull request Aug 26, 2025
only reroute if relayer connected (anza-xyz#123)
feat: add client tls config (anza-xyz#121)
remove extra val (anza-xyz#129)
fix clippy (anza-xyz#130)
copy all binaries to docker-output (anza-xyz#131)
Ledger tool halts at slot passed to create-snapshot (anza-xyz#118)
update program submodule (anza-xyz#133)
quick fix for tips and clearing old bundles (anza-xyz#135)
update submodule to new program (anza-xyz#136)
Improve stake-meta-generator usability (anza-xyz#134)
pinning submodule head (anza-xyz#140)
Use BundleAccountLocker when handling tip txs (anza-xyz#147)
Add metrics for relayer + block engine proxy (anza-xyz#149)
Build claim-mev in docker (anza-xyz#141)
Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154)
update submodule + dev files (anza-xyz#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159)
update jito-programs submodule (anza-xyz#160)
Separate MEV tip related workflow (anza-xyz#161)
Add block builder fee protos (anza-xyz#162)
fix jito programs (anza-xyz#163)
update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164)
Pipe through block builder fee (anza-xyz#167)
pull in new snapshot code (anza-xyz#171)
block builder bug (anza-xyz#172)

Pull in new slack autosnapshot submodule (anza-xyz#174)

sort stake meta json and use int math (anza-xyz#176)

add accountsdb conn submod (anza-xyz#169)

Update tip distribution parameters (anza-xyz#177)

new submodules (anza-xyz#180)

Add buildkite link for jito CI (anza-xyz#183)

Fixed broken links to repositories (anza-xyz#184)

Changed from ssh to https transfer for clone

Seg/update submods (anza-xyz#187)

fix tests (anza-xyz#190)

rm geyser submod (anza-xyz#192)

rm dangling geyser references (anza-xyz#193)

fix syntax err (anza-xyz#195)

use deterministic req ids in batch calls (anza-xyz#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (anza-xyz#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203)

Add logging for sol balance desired (anza-xyz#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (anza-xyz#204)

use efficient data structures when calling batch_simulate_bundles (anza-xyz#206)

[JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209)

add config to simulate on top of working bank (anza-xyz#211)

rm frozen bank check

simulate_bundle rpc bugfixes (anza-xyz#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210)

* add files

* switch to include bump

update submodule (anza-xyz#217)

add amount filter (anza-xyz#218)

update autosnapshot (anza-xyz#222)

Print TX error in Bundles (anza-xyz#223)

add new args to support single relayer and block-engine endpoints (anza-xyz#224)

point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228)

fix clippy errors (anza-xyz#230)

fix validator start scripts (anza-xyz#232)

Point README to gitbook (anza-xyz#237)

use packaged cargo bin to build (anza-xyz#239)

Add validator identity pubkey to StakeMeta (anza-xyz#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (anza-xyz#240)

Seg/tip distributor master (anza-xyz#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (anza-xyz#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (anza-xyz#247)

Improve docker caching

delay constructing claim mev txs (anza-xyz#253)

fix stake meta tests from bb fee (anza-xyz#254)

fix tests

Buffer bundles that exceed cost model (anza-xyz#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (anza-xyz#260)

update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265)

fix simulate_bundle client and better error handling (anza-xyz#267)

update submod (anza-xyz#272)

Preallocate Bundle Cost (anza-xyz#238)

fix Dockerfile (anza-xyz#278)

Fix Tests (anza-xyz#279)

Fix Tests (anza-xyz#281)

* fix tests

update jito-programs submod (anza-xyz#282)

add reclaim rent workflow (anza-xyz#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (anza-xyz#292)

Remove security.md (anza-xyz#293)

demote frequent relayer_stage-stream_error to warn (anza-xyz#275)

account for case where TDA exists but not allocated (anza-xyz#295)

implement better retries for tip-distributor workflows (anza-xyz#297)

limit number of concurrent rpc calls (anza-xyz#298)

Discard Empty Packet Batches (anza-xyz#299)

Identity Hotswap (anza-xyz#290)

small fixes (anza-xyz#305)

Set backend config from admin rpc (anza-xyz#304)

Admin Shred Receiver Change (anza-xyz#306)

Seg/rm bundle UUID (anza-xyz#309)

Fix github workflow to recursively clone (anza-xyz#327)

Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341)

Use cluster info functions for tpu (anza-xyz#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374)

Updates bootstrap and start scripts needed for local dev. (anza-xyz#384)

Remove Deprecated Cli Args (anza-xyz#387)

Master Rebase

improve simulate_bundle errors and response (anza-xyz#404)

derive Clone on accountoverrides (anza-xyz#416)

Add upsert to AccountOverrides (anza-xyz#419)

update jito-programs (anza-xyz#430)

[JIT-1661] Faster Autosnapshot (anza-xyz#436)

Reverts simulate_transaction result calls to upstream (anza-xyz#446)

Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449)

first pass at wiring up jito-plugin (anza-xyz#428)

[JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491)

[JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490)

Add Blockhash Metrics to Bundle Committer (anza-xyz#500)

add priority fee ix to mev-claim (anza-xyz#520)

Update Autosnapshot (anza-xyz#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582)

Update CI (anza-xyz#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step

Add more release fixes (anza-xyz#585)

Fix more release urls (anza-xyz#588)

[JIT-1812] Fix blocking mutexs (anza-xyz#495)

 [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587)

Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success.

Fix periodic rebase anza-xyz#594

Fixes the following bugs in the periodic rebase:
Sends multiple messages on failure instead of one
Cancels entire job if one branch fails

Ignore buildkite curl errors for rebasing and try to keep curling until job times out (anza-xyz#597)

Sleep longer waiting for buildkite to start (anza-xyz#598)

correctly initialize account overrides (anza-xyz#595)

Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603)

Add fast replay branch to daily rebase (anza-xyz#607)

take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615)

update jito-programs submodule

Add 2.0 to daily rebase (anza-xyz#626)

Export agave binaries during docker build (anza-xyz#627)

Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611)

Publish releases to S3 and GCS (anza-xyz#633)

Rebase from different repos (anza-xyz#637)

Point SECURITY.md to immunefi (anza-xyz#671)

Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683)

Separate out broadcast + retransmit shredstream (anza-xyz#703)

Add packet flag for staked node (anza-xyz#705)

Add auto-rebase to v2.1 (anza-xyz#739)

Fix release github (anza-xyz#745)

Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753)

Add precompile checks in BundleStage (anza-xyz#787)

Add auto-rebase to v2.2 (anza-xyz#818)

Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860)

Remove unwrap from authentication (anza-xyz#861)

Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873)

BP anza-xyz#885: Add libclang to Dockerfile (anza-xyz#886)

Remove the tip distributor code (anza-xyz#888)

Rebase: Update anchor to not use deprecated crates
fuzzbuck pushed a commit to ample-sh/agave that referenced this pull request Nov 3, 2025
only reroute if relayer connected (anza-xyz#123)
feat: add client tls config (anza-xyz#121)
remove extra val (anza-xyz#129)
fix clippy (anza-xyz#130)
copy all binaries to docker-output (anza-xyz#131)
Ledger tool halts at slot passed to create-snapshot (anza-xyz#118)
update program submodule (anza-xyz#133)
quick fix for tips and clearing old bundles (anza-xyz#135)
update submodule to new program (anza-xyz#136)
Improve stake-meta-generator usability (anza-xyz#134)
pinning submodule head (anza-xyz#140)
Use BundleAccountLocker when handling tip txs (anza-xyz#147)
Add metrics for relayer + block engine proxy (anza-xyz#149)
Build claim-mev in docker (anza-xyz#141)
Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154)
update submodule + dev files (anza-xyz#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159)
update jito-programs submodule (anza-xyz#160)
Separate MEV tip related workflow (anza-xyz#161)
Add block builder fee protos (anza-xyz#162)
fix jito programs (anza-xyz#163)
update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164)
Pipe through block builder fee (anza-xyz#167)
pull in new snapshot code (anza-xyz#171)
block builder bug (anza-xyz#172)

Pull in new slack autosnapshot submodule (anza-xyz#174)

sort stake meta json and use int math (anza-xyz#176)

add accountsdb conn submod (anza-xyz#169)

Update tip distribution parameters (anza-xyz#177)

new submodules (anza-xyz#180)

Add buildkite link for jito CI (anza-xyz#183)

Fixed broken links to repositories (anza-xyz#184)

Changed from ssh to https transfer for clone

Seg/update submods (anza-xyz#187)

fix tests (anza-xyz#190)

rm geyser submod (anza-xyz#192)

rm dangling geyser references (anza-xyz#193)

fix syntax err (anza-xyz#195)

use deterministic req ids in batch calls (anza-xyz#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (anza-xyz#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203)

Add logging for sol balance desired (anza-xyz#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (anza-xyz#204)

use efficient data structures when calling batch_simulate_bundles (anza-xyz#206)

[JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209)

add config to simulate on top of working bank (anza-xyz#211)

rm frozen bank check

simulate_bundle rpc bugfixes (anza-xyz#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210)

* add files

* switch to include bump

update submodule (anza-xyz#217)

add amount filter (anza-xyz#218)

update autosnapshot (anza-xyz#222)

Print TX error in Bundles (anza-xyz#223)

add new args to support single relayer and block-engine endpoints (anza-xyz#224)

point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228)

fix clippy errors (anza-xyz#230)

fix validator start scripts (anza-xyz#232)

Point README to gitbook (anza-xyz#237)

use packaged cargo bin to build (anza-xyz#239)

Add validator identity pubkey to StakeMeta (anza-xyz#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (anza-xyz#240)

Seg/tip distributor master (anza-xyz#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (anza-xyz#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (anza-xyz#247)

Improve docker caching

delay constructing claim mev txs (anza-xyz#253)

fix stake meta tests from bb fee (anza-xyz#254)

fix tests

Buffer bundles that exceed cost model (anza-xyz#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (anza-xyz#260)

update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265)

fix simulate_bundle client and better error handling (anza-xyz#267)

update submod (anza-xyz#272)

Preallocate Bundle Cost (anza-xyz#238)

fix Dockerfile (anza-xyz#278)

Fix Tests (anza-xyz#279)

Fix Tests (anza-xyz#281)

* fix tests

update jito-programs submod (anza-xyz#282)

add reclaim rent workflow (anza-xyz#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (anza-xyz#292)

Remove security.md (anza-xyz#293)

demote frequent relayer_stage-stream_error to warn (anza-xyz#275)

account for case where TDA exists but not allocated (anza-xyz#295)

implement better retries for tip-distributor workflows (anza-xyz#297)

limit number of concurrent rpc calls (anza-xyz#298)

Discard Empty Packet Batches (anza-xyz#299)

Identity Hotswap (anza-xyz#290)

small fixes (anza-xyz#305)

Set backend config from admin rpc (anza-xyz#304)

Admin Shred Receiver Change (anza-xyz#306)

Seg/rm bundle UUID (anza-xyz#309)

Fix github workflow to recursively clone (anza-xyz#327)

Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341)

Use cluster info functions for tpu (anza-xyz#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374)

Updates bootstrap and start scripts needed for local dev. (anza-xyz#384)

Remove Deprecated Cli Args (anza-xyz#387)

Master Rebase

improve simulate_bundle errors and response (anza-xyz#404)

derive Clone on accountoverrides (anza-xyz#416)

Add upsert to AccountOverrides (anza-xyz#419)

update jito-programs (anza-xyz#430)

[JIT-1661] Faster Autosnapshot (anza-xyz#436)

Reverts simulate_transaction result calls to upstream (anza-xyz#446)

Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449)

first pass at wiring up jito-plugin (anza-xyz#428)

[JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491)

[JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490)

Add Blockhash Metrics to Bundle Committer (anza-xyz#500)

add priority fee ix to mev-claim (anza-xyz#520)

Update Autosnapshot (anza-xyz#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582)

Update CI (anza-xyz#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step

Add more release fixes (anza-xyz#585)

Fix more release urls (anza-xyz#588)

[JIT-1812] Fix blocking mutexs (anza-xyz#495)

 [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587)

Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success.

Fix periodic rebase anza-xyz#594

Fixes the following bugs in the periodic rebase:
Sends multiple messages on failure instead of one
Cancels entire job if one branch fails

Ignore buildkite curl errors for rebasing and try to keep curling until job times out (anza-xyz#597)

Sleep longer waiting for buildkite to start (anza-xyz#598)

correctly initialize account overrides (anza-xyz#595)

Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603)

Add fast replay branch to daily rebase (anza-xyz#607)

take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615)

update jito-programs submodule

Add 2.0 to daily rebase (anza-xyz#626)

Export agave binaries during docker build (anza-xyz#627)

Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611)

Publish releases to S3 and GCS (anza-xyz#633)

Rebase from different repos (anza-xyz#637)

Point SECURITY.md to immunefi (anza-xyz#671)

Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683)

Separate out broadcast + retransmit shredstream (anza-xyz#703)

Add packet flag for staked node (anza-xyz#705)

Add auto-rebase to v2.1 (anza-xyz#739)

Fix release github (anza-xyz#745)

Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753)

Add precompile checks in BundleStage (anza-xyz#787)

Add auto-rebase to v2.2 (anza-xyz#818)

Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860)

Remove unwrap from authentication (anza-xyz#861)

Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873)

Add libclang to Dockerfile (anza-xyz#885)

Remove the tip distributor code (anza-xyz#888)

Rebase: Update anchor to not use deprecated crates

Add TLS webpki roots back in (anza-xyz#933)

Remove trusted relayer packets (anza-xyz#952)

Fix shred retransmit (anza-xyz#954)

[v3.0] Automatically use optimal Block Engine region (anza-xyz#983)

(Backport: anza-xyz#995) Disable autoconfig (anza-xyz#996)
fuzzbuck pushed a commit to ample-sh/agave that referenced this pull request Nov 3, 2025
only reroute if relayer connected (anza-xyz#123)
feat: add client tls config (anza-xyz#121)
remove extra val (anza-xyz#129)
fix clippy (anza-xyz#130)
copy all binaries to docker-output (anza-xyz#131)
Ledger tool halts at slot passed to create-snapshot (anza-xyz#118)
update program submodule (anza-xyz#133)
quick fix for tips and clearing old bundles (anza-xyz#135)
update submodule to new program (anza-xyz#136)
Improve stake-meta-generator usability (anza-xyz#134)
pinning submodule head (anza-xyz#140)
Use BundleAccountLocker when handling tip txs (anza-xyz#147)
Add metrics for relayer + block engine proxy (anza-xyz#149)
Build claim-mev in docker (anza-xyz#141)
Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154)
update submodule + dev files (anza-xyz#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159)
update jito-programs submodule (anza-xyz#160)
Separate MEV tip related workflow (anza-xyz#161)
Add block builder fee protos (anza-xyz#162)
fix jito programs (anza-xyz#163)
update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164)
Pipe through block builder fee (anza-xyz#167)
pull in new snapshot code (anza-xyz#171)
block builder bug (anza-xyz#172)

Pull in new slack autosnapshot submodule (anza-xyz#174)

sort stake meta json and use int math (anza-xyz#176)

add accountsdb conn submod (anza-xyz#169)

Update tip distribution parameters (anza-xyz#177)

new submodules (anza-xyz#180)

Add buildkite link for jito CI (anza-xyz#183)

Fixed broken links to repositories (anza-xyz#184)

Changed from ssh to https transfer for clone

Seg/update submods (anza-xyz#187)

fix tests (anza-xyz#190)

rm geyser submod (anza-xyz#192)

rm dangling geyser references (anza-xyz#193)

fix syntax err (anza-xyz#195)

use deterministic req ids in batch calls (anza-xyz#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (anza-xyz#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203)

Add logging for sol balance desired (anza-xyz#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (anza-xyz#204)

use efficient data structures when calling batch_simulate_bundles (anza-xyz#206)

[JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209)

add config to simulate on top of working bank (anza-xyz#211)

rm frozen bank check

simulate_bundle rpc bugfixes (anza-xyz#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210)

* add files

* switch to include bump

update submodule (anza-xyz#217)

add amount filter (anza-xyz#218)

update autosnapshot (anza-xyz#222)

Print TX error in Bundles (anza-xyz#223)

add new args to support single relayer and block-engine endpoints (anza-xyz#224)

point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228)

fix clippy errors (anza-xyz#230)

fix validator start scripts (anza-xyz#232)

Point README to gitbook (anza-xyz#237)

use packaged cargo bin to build (anza-xyz#239)

Add validator identity pubkey to StakeMeta (anza-xyz#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (anza-xyz#240)

Seg/tip distributor master (anza-xyz#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (anza-xyz#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (anza-xyz#247)

Improve docker caching

delay constructing claim mev txs (anza-xyz#253)

fix stake meta tests from bb fee (anza-xyz#254)

fix tests

Buffer bundles that exceed cost model (anza-xyz#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (anza-xyz#260)

update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265)

fix simulate_bundle client and better error handling (anza-xyz#267)

update submod (anza-xyz#272)

Preallocate Bundle Cost (anza-xyz#238)

fix Dockerfile (anza-xyz#278)

Fix Tests (anza-xyz#279)

Fix Tests (anza-xyz#281)

* fix tests

update jito-programs submod (anza-xyz#282)

add reclaim rent workflow (anza-xyz#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (anza-xyz#292)

Remove security.md (anza-xyz#293)

demote frequent relayer_stage-stream_error to warn (anza-xyz#275)

account for case where TDA exists but not allocated (anza-xyz#295)

implement better retries for tip-distributor workflows (anza-xyz#297)

limit number of concurrent rpc calls (anza-xyz#298)

Discard Empty Packet Batches (anza-xyz#299)

Identity Hotswap (anza-xyz#290)

small fixes (anza-xyz#305)

Set backend config from admin rpc (anza-xyz#304)

Admin Shred Receiver Change (anza-xyz#306)

Seg/rm bundle UUID (anza-xyz#309)

Fix github workflow to recursively clone (anza-xyz#327)

Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341)

Use cluster info functions for tpu (anza-xyz#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374)

Updates bootstrap and start scripts needed for local dev. (anza-xyz#384)

Remove Deprecated Cli Args (anza-xyz#387)

Master Rebase

improve simulate_bundle errors and response (anza-xyz#404)

derive Clone on accountoverrides (anza-xyz#416)

Add upsert to AccountOverrides (anza-xyz#419)

update jito-programs (anza-xyz#430)

[JIT-1661] Faster Autosnapshot (anza-xyz#436)

Reverts simulate_transaction result calls to upstream (anza-xyz#446)

Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449)

first pass at wiring up jito-plugin (anza-xyz#428)

[JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491)

[JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490)

Add Blockhash Metrics to Bundle Committer (anza-xyz#500)

add priority fee ix to mev-claim (anza-xyz#520)

Update Autosnapshot (anza-xyz#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582)

Update CI (anza-xyz#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step

Add more release fixes (anza-xyz#585)

Fix more release urls (anza-xyz#588)

[JIT-1812] Fix blocking mutexs (anza-xyz#495)

 [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587)

Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success.

Fix periodic rebase anza-xyz#594

Fixes the following bugs in the periodic rebase:
Sends multiple messages on failure instead of one
Cancels entire job if one branch fails

Ignore buildkite curl errors for rebasing and try to keep curling until job times out (anza-xyz#597)

Sleep longer waiting for buildkite to start (anza-xyz#598)

correctly initialize account overrides (anza-xyz#595)

Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603)

Add fast replay branch to daily rebase (anza-xyz#607)

take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615)

update jito-programs submodule

Add 2.0 to daily rebase (anza-xyz#626)

Export agave binaries during docker build (anza-xyz#627)

Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611)

Publish releases to S3 and GCS (anza-xyz#633)

Rebase from different repos (anza-xyz#637)

Point SECURITY.md to immunefi (anza-xyz#671)

Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683)

Separate out broadcast + retransmit shredstream (anza-xyz#703)

Add packet flag for staked node (anza-xyz#705)

Add auto-rebase to v2.1 (anza-xyz#739)

Fix release github (anza-xyz#745)

Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753)

Add precompile checks in BundleStage (anza-xyz#787)

Add auto-rebase to v2.2 (anza-xyz#818)

Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860)

Remove unwrap from authentication (anza-xyz#861)

Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873)

Add libclang to Dockerfile (anza-xyz#885)

Remove the tip distributor code (anza-xyz#888)

Rebase: Update anchor to not use deprecated crates

Add TLS webpki roots back in (anza-xyz#933)

Remove trusted relayer packets (anza-xyz#952)

Fix shred retransmit (anza-xyz#954)

[v3.0] Automatically use optimal Block Engine region (anza-xyz#983)

(Backport: anza-xyz#995) Disable autoconfig (anza-xyz#996)
fuzzbuck pushed a commit to ample-sh/agave that referenced this pull request Nov 27, 2025
only reroute if relayer connected (anza-xyz#123)
feat: add client tls config (anza-xyz#121)
remove extra val (anza-xyz#129)
fix clippy (anza-xyz#130)
copy all binaries to docker-output (anza-xyz#131)
Ledger tool halts at slot passed to create-snapshot (anza-xyz#118)
update program submodule (anza-xyz#133)
quick fix for tips and clearing old bundles (anza-xyz#135)
update submodule to new program (anza-xyz#136)
Improve stake-meta-generator usability (anza-xyz#134)
pinning submodule head (anza-xyz#140)
Use BundleAccountLocker when handling tip txs (anza-xyz#147)
Add metrics for relayer + block engine proxy (anza-xyz#149)
Build claim-mev in docker (anza-xyz#141)
Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154)
update submodule + dev files (anza-xyz#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159)
update jito-programs submodule (anza-xyz#160)
Separate MEV tip related workflow (anza-xyz#161)
Add block builder fee protos (anza-xyz#162)
fix jito programs (anza-xyz#163)
update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164)
Pipe through block builder fee (anza-xyz#167)
pull in new snapshot code (anza-xyz#171)
block builder bug (anza-xyz#172)

Pull in new slack autosnapshot submodule (anza-xyz#174)

sort stake meta json and use int math (anza-xyz#176)

add accountsdb conn submod (anza-xyz#169)

Update tip distribution parameters (anza-xyz#177)

new submodules (anza-xyz#180)

Add buildkite link for jito CI (anza-xyz#183)

Fixed broken links to repositories (anza-xyz#184)

Changed from ssh to https transfer for clone

Seg/update submods (anza-xyz#187)

fix tests (anza-xyz#190)

rm geyser submod (anza-xyz#192)

rm dangling geyser references (anza-xyz#193)

fix syntax err (anza-xyz#195)

use deterministic req ids in batch calls (anza-xyz#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (anza-xyz#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203)

Add logging for sol balance desired (anza-xyz#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (anza-xyz#204)

use efficient data structures when calling batch_simulate_bundles (anza-xyz#206)

[JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209)

add config to simulate on top of working bank (anza-xyz#211)

rm frozen bank check

simulate_bundle rpc bugfixes (anza-xyz#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210)

* add files

* switch to include bump

update submodule (anza-xyz#217)

add amount filter (anza-xyz#218)

update autosnapshot (anza-xyz#222)

Print TX error in Bundles (anza-xyz#223)

add new args to support single relayer and block-engine endpoints (anza-xyz#224)

point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228)

fix clippy errors (anza-xyz#230)

fix validator start scripts (anza-xyz#232)

Point README to gitbook (anza-xyz#237)

use packaged cargo bin to build (anza-xyz#239)

Add validator identity pubkey to StakeMeta (anza-xyz#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (anza-xyz#240)

Seg/tip distributor master (anza-xyz#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (anza-xyz#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (anza-xyz#247)

Improve docker caching

delay constructing claim mev txs (anza-xyz#253)

fix stake meta tests from bb fee (anza-xyz#254)

fix tests

Buffer bundles that exceed cost model (anza-xyz#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (anza-xyz#260)

update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265)

fix simulate_bundle client and better error handling (anza-xyz#267)

update submod (anza-xyz#272)

Preallocate Bundle Cost (anza-xyz#238)

fix Dockerfile (anza-xyz#278)

Fix Tests (anza-xyz#279)

Fix Tests (anza-xyz#281)

* fix tests

update jito-programs submod (anza-xyz#282)

add reclaim rent workflow (anza-xyz#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (anza-xyz#292)

Remove security.md (anza-xyz#293)

demote frequent relayer_stage-stream_error to warn (anza-xyz#275)

account for case where TDA exists but not allocated (anza-xyz#295)

implement better retries for tip-distributor workflows (anza-xyz#297)

limit number of concurrent rpc calls (anza-xyz#298)

Discard Empty Packet Batches (anza-xyz#299)

Identity Hotswap (anza-xyz#290)

small fixes (anza-xyz#305)

Set backend config from admin rpc (anza-xyz#304)

Admin Shred Receiver Change (anza-xyz#306)

Seg/rm bundle UUID (anza-xyz#309)

Fix github workflow to recursively clone (anza-xyz#327)

Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341)

Use cluster info functions for tpu (anza-xyz#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374)

Updates bootstrap and start scripts needed for local dev. (anza-xyz#384)

Remove Deprecated Cli Args (anza-xyz#387)

Master Rebase

improve simulate_bundle errors and response (anza-xyz#404)

derive Clone on accountoverrides (anza-xyz#416)

Add upsert to AccountOverrides (anza-xyz#419)

update jito-programs (anza-xyz#430)

[JIT-1661] Faster Autosnapshot (anza-xyz#436)

Reverts simulate_transaction result calls to upstream (anza-xyz#446)

Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449)

first pass at wiring up jito-plugin (anza-xyz#428)

[JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491)

[JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490)

Add Blockhash Metrics to Bundle Committer (anza-xyz#500)

add priority fee ix to mev-claim (anza-xyz#520)

Update Autosnapshot (anza-xyz#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582)

Update CI (anza-xyz#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step

Add more release fixes (anza-xyz#585)

Fix more release urls (anza-xyz#588)

[JIT-1812] Fix blocking mutexs (anza-xyz#495)

 [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587)

Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success.

Fix periodic rebase anza-xyz#594

Fixes the following bugs in the periodic rebase:
Sends multiple messages on failure instead of one
Cancels entire job if one branch fails

Ignore buildkite curl errors for rebasing and try to keep curling until job times out (anza-xyz#597)

Sleep longer waiting for buildkite to start (anza-xyz#598)

correctly initialize account overrides (anza-xyz#595)

Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603)

Add fast replay branch to daily rebase (anza-xyz#607)

take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615)

update jito-programs submodule

Add 2.0 to daily rebase (anza-xyz#626)

Export agave binaries during docker build (anza-xyz#627)

Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611)

Publish releases to S3 and GCS (anza-xyz#633)

Rebase from different repos (anza-xyz#637)

Point SECURITY.md to immunefi (anza-xyz#671)

Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683)

Separate out broadcast + retransmit shredstream (anza-xyz#703)

Add packet flag for staked node (anza-xyz#705)

Add auto-rebase to v2.1 (anza-xyz#739)

Fix release github (anza-xyz#745)

Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753)

Add precompile checks in BundleStage (anza-xyz#787)

Add auto-rebase to v2.2 (anza-xyz#818)

Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860)

Remove unwrap from authentication (anza-xyz#861)

Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873)

Add libclang to Dockerfile (anza-xyz#885)

Remove the tip distributor code (anza-xyz#888)

Rebase: Update anchor to not use deprecated crates

Add TLS webpki roots back in (anza-xyz#933)

Remove trusted relayer packets (anza-xyz#952)

Fix shred retransmit (anza-xyz#954)

[v3.0] Automatically use optimal Block Engine region (anza-xyz#983)

(Backport: anza-xyz#995) Disable autoconfig (anza-xyz#996)
OliverNChalk pushed a commit to OliverNChalk/agave that referenced this pull request Dec 1, 2025
only reroute if relayer connected (anza-xyz#123)
feat: add client tls config (anza-xyz#121)
remove extra val (anza-xyz#129)
fix clippy (anza-xyz#130)
copy all binaries to docker-output (anza-xyz#131)
Ledger tool halts at slot passed to create-snapshot (anza-xyz#118)
update program submodule (anza-xyz#133)
quick fix for tips and clearing old bundles (anza-xyz#135)
update submodule to new program (anza-xyz#136)
Improve stake-meta-generator usability (anza-xyz#134)
pinning submodule head (anza-xyz#140)
Use BundleAccountLocker when handling tip txs (anza-xyz#147)
Add metrics for relayer + block engine proxy (anza-xyz#149)
Build claim-mev in docker (anza-xyz#141)
Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154)
update submodule + dev files (anza-xyz#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159)
update jito-programs submodule (anza-xyz#160)
Separate MEV tip related workflow (anza-xyz#161)
Add block builder fee protos (anza-xyz#162)
fix jito programs (anza-xyz#163)
update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164)
Pipe through block builder fee (anza-xyz#167)
pull in new snapshot code (anza-xyz#171)
block builder bug (anza-xyz#172)

Pull in new slack autosnapshot submodule (anza-xyz#174)

sort stake meta json and use int math (anza-xyz#176)

add accountsdb conn submod (anza-xyz#169)

Update tip distribution parameters (anza-xyz#177)

new submodules (anza-xyz#180)

Add buildkite link for jito CI (anza-xyz#183)

Fixed broken links to repositories (anza-xyz#184)

Changed from ssh to https transfer for clone

Seg/update submods (anza-xyz#187)

fix tests (anza-xyz#190)

rm geyser submod (anza-xyz#192)

rm dangling geyser references (anza-xyz#193)

fix syntax err (anza-xyz#195)

use deterministic req ids in batch calls (anza-xyz#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (anza-xyz#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203)

Add logging for sol balance desired (anza-xyz#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (anza-xyz#204)

use efficient data structures when calling batch_simulate_bundles (anza-xyz#206)

[JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209)

add config to simulate on top of working bank (anza-xyz#211)

rm frozen bank check

simulate_bundle rpc bugfixes (anza-xyz#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210)

* add files

* switch to include bump

update submodule (anza-xyz#217)

add amount filter (anza-xyz#218)

update autosnapshot (anza-xyz#222)

Print TX error in Bundles (anza-xyz#223)

add new args to support single relayer and block-engine endpoints (anza-xyz#224)

point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228)

fix clippy errors (anza-xyz#230)

fix validator start scripts (anza-xyz#232)

Point README to gitbook (anza-xyz#237)

use packaged cargo bin to build (anza-xyz#239)

Add validator identity pubkey to StakeMeta (anza-xyz#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (anza-xyz#240)

Seg/tip distributor master (anza-xyz#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (anza-xyz#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (anza-xyz#247)

Improve docker caching

delay constructing claim mev txs (anza-xyz#253)

fix stake meta tests from bb fee (anza-xyz#254)

fix tests

Buffer bundles that exceed cost model (anza-xyz#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (anza-xyz#260)

update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265)

fix simulate_bundle client and better error handling (anza-xyz#267)

update submod (anza-xyz#272)

Preallocate Bundle Cost (anza-xyz#238)

fix Dockerfile (anza-xyz#278)

Fix Tests (anza-xyz#279)

Fix Tests (anza-xyz#281)

* fix tests

update jito-programs submod (anza-xyz#282)

add reclaim rent workflow (anza-xyz#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (anza-xyz#292)

Remove security.md (anza-xyz#293)

demote frequent relayer_stage-stream_error to warn (anza-xyz#275)

account for case where TDA exists but not allocated (anza-xyz#295)

implement better retries for tip-distributor workflows (anza-xyz#297)

limit number of concurrent rpc calls (anza-xyz#298)

Discard Empty Packet Batches (anza-xyz#299)

Identity Hotswap (anza-xyz#290)

small fixes (anza-xyz#305)

Set backend config from admin rpc (anza-xyz#304)

Admin Shred Receiver Change (anza-xyz#306)

Seg/rm bundle UUID (anza-xyz#309)

Fix github workflow to recursively clone (anza-xyz#327)

Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341)

Use cluster info functions for tpu (anza-xyz#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374)

Updates bootstrap and start scripts needed for local dev. (anza-xyz#384)

Remove Deprecated Cli Args (anza-xyz#387)

Master Rebase

improve simulate_bundle errors and response (anza-xyz#404)

derive Clone on accountoverrides (anza-xyz#416)

Add upsert to AccountOverrides (anza-xyz#419)

update jito-programs (anza-xyz#430)

[JIT-1661] Faster Autosnapshot (anza-xyz#436)

Reverts simulate_transaction result calls to upstream (anza-xyz#446)

Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449)

first pass at wiring up jito-plugin (anza-xyz#428)

[JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491)

[JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490)

Add Blockhash Metrics to Bundle Committer (anza-xyz#500)

add priority fee ix to mev-claim (anza-xyz#520)

Update Autosnapshot (anza-xyz#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582)

Update CI (anza-xyz#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step

Add more release fixes (anza-xyz#585)

Fix more release urls (anza-xyz#588)

[JIT-1812] Fix blocking mutexs (anza-xyz#495)

 [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587)

Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success.

Fix periodic rebase anza-xyz#594

Fixes the following bugs in the periodic rebase:
Sends multiple messages on failure instead of one
Cancels entire job if one branch fails

Ignore buildkite curl errors for rebasing and try to keep curling until job times out (anza-xyz#597)

Sleep longer waiting for buildkite to start (anza-xyz#598)

correctly initialize account overrides (anza-xyz#595)

Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603)

Add fast replay branch to daily rebase (anza-xyz#607)

take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615)

update jito-programs submodule

Add 2.0 to daily rebase (anza-xyz#626)

Export agave binaries during docker build (anza-xyz#627)

Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611)

Publish releases to S3 and GCS (anza-xyz#633)

Rebase from different repos (anza-xyz#637)

Point SECURITY.md to immunefi (anza-xyz#671)

Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683)

Separate out broadcast + retransmit shredstream (anza-xyz#703)

Add packet flag for staked node (anza-xyz#705)

Add auto-rebase to v2.1 (anza-xyz#739)

Fix release github (anza-xyz#745)

Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753)

Add precompile checks in BundleStage (anza-xyz#787)

Add auto-rebase to v2.2 (anza-xyz#818)

Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860)

Remove unwrap from authentication (anza-xyz#861)

Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873)

Add libclang to Dockerfile (anza-xyz#885)

Remove the tip distributor code (anza-xyz#888)

Rebase: Update anchor to not use deprecated crates

Add TLS webpki roots back in (anza-xyz#933)

Remove trusted relayer packets (anza-xyz#952)

Fix shred retransmit (anza-xyz#954)

Add daily v3.0 rebase (anza-xyz#972)

[Master] Automatically use optimal Block Engine region (anza-xyz#974)

Disable autoconfig (anza-xyz#995)

Make shredstream optional (anza-xyz#997)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants