Releases: jito-foundation/jito-tip-router
Releases · jito-foundation/jito-tip-router
Operator Client V3.0.1
What's Changed
- Improved error handling when the operator is casting a vote
- Improvements to error metrics during submit to ncn
Important:
- This release requires that the underlying RPC is running agave/jito-solana version 3.0.0 or higher.
- You must include the following changes into your operator’s service configuration file:
LimitMEMLOCK=2000000000
LimitNOFILE=1000000
RESTAKING_PROGRAM_ID=RestkWeAVL8fRGgzhfeoqFhsqKRchg6aa1XrcH96z4Q
Operator Client V3.0.0
What's Changed
- Upgrade jito-solana dependencies to 3.x
- Removal of anchor-lang dependencies
- Upgrade rust-toolchain to 1.89.0
- Removal of various spl program crates
- Introduction of new spl program interface crates
- Upstream changes reflected in load_and_process_ledger
Important:
- This release requires that the underlying RPC is running agave/jito-solana version 3.0.0 or higher.
- You must include the following changes into your operator’s service configuration file:
LimitMEMLOCK=2000000000
LimitNOFILE=1000000
RESTAKING_PROGRAM_ID=RestkWeAVL8fRGgzhfeoqFhsqKRchg6aa1XrcH96z4Q
Operator Client v2.2.0
What's Changed
Remove the following command from your build process. This is no longer needed.
git submodule update --init --recursive
If you run into difficulties please run
rm -r tip-router-operator-cli/repo-at-older-commit
- Upgrade jito-solana deps to 2.3.4
- Downgrade jito-solana rocksdb dep to 0.22 for performance considerations
- Create a SnapshotController within load_and_process_ledger
- Remove BlockMetaService as it has been merged with TransactionStatusService
- Remove legacy operator conditionals
- Remove to_legacy impl functions for various operator structs
- Join on account and transaction services in load_and_process_ledger is now
non-blocking
Operator Client v2.1.0
What's Changed
- feat: changes for upstream args and ledger tool by @tomjohn1028 in #163
- FIX: Auto recover from low lamports by @coachchucksol in #157
- keeper: modify keypair path / config logic for containerized builds by @gzalz in #166
- fix: prioritize processing validator claims by @gzalz in #168
- fix: claims logic when total_fees are greater than total_tips by @gzalz in #169
- Tip Router Operator CLI: Fix the version of Cargo.toml by @aoikurokawa in #170
Full Changelog: v2.0.0-operator...v2.1.0-operator-patch
Operator Client v2.0.0
IMPORTANT
- Initialize the new git submodule before compiling with
git submodule update --init --recursive - Add
PRIORITY_FEE_DISTRIBUTION_PROGRAM_ID=Priority6weCZ5HwDn29NxLFpb7TDp2iLZ6XKc5e8d3to your TipRouter
configuration
Features
- Epoch gated priority fee distribution feature (epoch 809 go live)
- Legacy meta merkle tree dependency
- Legacy tip router operator dependency
- Priority fee distribution SDK dependency
- CLI: Additional
new_priority_fee_distribution_fee_bpsargument inadmin_set_config_fees - CLI: Migrate priority fee distribution account merkle upload authority
- Core: Additional
priority_fee_distribution_fee_bpsu16 field on Fees, reserved bytes reduced by 2 bytes to 126 - Meta Merkle Tree: s/tip_distribution_account/distribution_account
- Meta Merkle Tree: Add
distribution_programto GeneratedMerkleTree - Operator: Legacy type conversions
- Operator: Add
PRIORITY_FEE_DISTRIBUTION_PROGRAM_IDenv var - Operator: Add priority fee distribution meta
- Operator: Epoch gated priority fee logic
- Operator: Use PriorityFeeDistributionAccount for setting priority fee distribution account merkle roots
Operator Client v1.3.0
Features
- Upgrade Solana related dependencies to 2.2
- Ensure the local validator is caught up before loading bank from snapshot
- Addition of
LOCALHOST_PORTenv var for performingsolana catchup - Remove ellipsis client dependency
- Addition of
CLAIM_TIPS_EPOCH_LOOKBACKenv var for claims logic - Addition of
PRINT_TXenv var for displaying transaction information from the CLI - Support for additional filename pattern within gcp_uploader:
Regex::new(r"^snapshot-\d+-[a-zA-Z0-9]+-.*\.tar\.zst$") - Improved handling of claimant not found in merkle tree
- Addition of
VOTE_MICROLAMPORTSenv var for improved vote transaction landing rates - Renaming of
MICROLAMPORTSenv var toCLAIM_MICROLAMPORTS
Reliability
- Addition of
CLUSTERenv var for telemetry purposes - Addition of
REGIONenv var for telemetry purposes - Addition of
HEARTBEAT_INTERVAL_SECONDSenv var for telemetry purposes - Addition of
CLAIM_TIPS_METRICSenv var to enable emitting of claims related metrics - Addition of
CLAIM_TIPS_EPOCH_FILEPATHenv var for claims logic - Improved solana metrics: cast_vote txns should correctly report errors, periodic heartbeat emit, emit cluster and region tags
- The keeper will no longer try to create, uncreatable NcnRewardRouters
Operator Client V1.2.0
What's Changed
- Includes an additional patch required to send Jito Validator MEV commissions to Vote Accounts instead of Identity Accounts
- Operator Versions are now emitted to metrics
Full Changelog: v1.1.1-operator...v1.2.0-operator
Operator Client V1.1.1
- Fixes --version command
- Reintroduces META_MERKLE_TREE_DIR environment variable for backwards compatibility with v1.0.0
Operator Client V1.1.0
Change notes
- FIX: Updates Validator Claimant to be Vote Account instead of Identity Account. Fix is activated epoch 757.
- New top-level environment variable/CLI arg
SAVE_PATH: renaming ofMETA_MERKLE_TREE_DIR. Path where all generated operator files are stored. META_MERKLE_TREE_DIR is now aliased to SAVE_PATH.
- Separates each stage of the process into more coherent functions.
runCLI command loops through each stage, saving the outputs to save-path CLI argument. The output from each stage is held in memory to reduce the processing.- New Environment Variables/CLI Args for
runSTARTING_STAGE: Ability to start the operator from a specific stage before it continues- one of:
load-bank-from-snapshot, create-stake-meta, create-merkle-tree-collection, create-meta-merkle-tree, cast-vote, wait-for-next-epoch (default)
- one of:
SAVE_STAGES: true/false - whether to save the state of intermediate stages in files. Needed for CLAIM_TIPS and SET_MERKLE_ROOTSAVE_SNAPSHOTS: true/false - whether to save the bank loaded in the target as a full snapshot (~100GB).
- New Environment Variables/CLI Args for
- Create CLI commands for each stage
snapshot-slot- Create and store a full snapshot for a given slotcreate-stake-meta- For a given epoch and slot, load the bank and create theStakeMetaCollectionfile which contains validator vote accounts and their staking delegations.create-merkle-tree-collection- For a given epoch, load theStakeMetaCollectionfrom disk atsave-path, generate and save theGeneratedMerkleTreeCollection.create-meta-merkle-tree- For a given epoch, load theGeneratedMerkleTreeCollectionfrom disk atsave-path, generate and save theMetaMerkleTree.submit-epoch- For a given epoch, load the MetaMerkleTree file and cast a vote to the NCN's ballot box. Optionally set the merkle root on the Tip Distribution account if the NCN has consensus for the epoch.claim-tips- For a given epoch, generate and execute Tip Distribution Claim instructions for any unclaimed tips.
- TipRouter saved files
- generated files are now saved under save-path
- Files
<= current_epoch - num_monitored_epochsare purged for anything - NOTE: file names have change to a
{epoch}_file_name.jsonformat. All previous files will not be removed. Operators should manually delete old files.
- FIX: Patches stored ClaimStatus addresses to be correct claimant.
Operator Client V1.0.0
Works with Solana v2.1, recommended to start running epoch 742.
- Can now run operator with the following flags
-
SET_MERKLE_ROOTS=true: Optional CPI into the Tip Distribution program, setting the winning merkle root per validator.
-
CLAIM_TIPS=true: Optional process to claim the tips from the Tip Distribution program.
- Now supports snapshots generated by Solana v2.1