Skip to content

Releases: jito-foundation/jito-tip-router

Operator Client V3.0.1

10 Nov 23:33
716747e

Choose a tag to compare

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

02 Nov 20:52
3555d94

Choose a tag to compare

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

25 Jul 20:06
a2390ef

Choose a tag to compare

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

02 Jul 20:27
9bf3142

Choose a tag to compare

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

19 Jun 16:37
b6ceeff

Choose a tag to compare

IMPORTANT

  • Initialize the new git submodule before compiling with git submodule update --init --recursive
  • Add PRIORITY_FEE_DISTRIBUTION_PROGRAM_ID=Priority6weCZ5HwDn29NxLFpb7TDp2iLZ6XKc5e8d3 to 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_bps argument in admin_set_config_fees
  • CLI: Migrate priority fee distribution account merkle upload authority
  • Core: Additional priority_fee_distribution_fee_bps u16 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_program to GeneratedMerkleTree
  • Operator: Legacy type conversions
  • Operator: Add PRIORITY_FEE_DISTRIBUTION_PROGRAM_ID env 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

09 Jun 18:58
a2356e6

Choose a tag to compare

Features

  • Upgrade Solana related dependencies to 2.2
  • Ensure the local validator is caught up before loading bank from snapshot
  • Addition of LOCALHOST_PORT env var for performing solana catchup
  • Remove ellipsis client dependency
  • Addition of CLAIM_TIPS_EPOCH_LOOKBACK env var for claims logic
  • Addition of PRINT_TX env 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_MICROLAMPORTS env var for improved vote transaction landing rates
  • Renaming of MICROLAMPORTS env var to CLAIM_MICROLAMPORTS

Reliability

  • Addition of CLUSTER env var for telemetry purposes
  • Addition of REGION env var for telemetry purposes
  • Addition of HEARTBEAT_INTERVAL_SECONDS env var for telemetry purposes
  • Addition of CLAIM_TIPS_METRICS env var to enable emitting of claims related metrics
  • Addition of CLAIM_TIPS_EPOCH_FILEPATH env 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

18 Mar 22:04
b2fca48

Choose a tag to compare

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

12 Mar 17:57
1b042e5

Choose a tag to compare

  • Fixes --version command
  • Reintroduces META_MERKLE_TREE_DIR environment variable for backwards compatibility with v1.0.0

Operator Client V1.1.0

11 Mar 23:56
d27f552

Choose a tag to compare

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 of META_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.
    • run CLI 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 run
        • STARTING_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)
        • SAVE_STAGES: true/false - whether to save the state of intermediate stages in files. Needed for CLAIM_TIPS and SET_MERKLE_ROOT
        • SAVE_SNAPSHOTS: true/false - whether to save the bank loaded in the target as a full snapshot (~100GB).
  • Create CLI commands for each stage
    • snapshot-slot - Create and store a full snapshot for a given slot
    • create-stake-meta - For a given epoch and slot, load the bank and create the StakeMetaCollection file which contains validator vote accounts and their staking delegations.
    • create-merkle-tree-collection - For a given epoch, load the StakeMetaCollection from disk at save-path, generate and save the GeneratedMerkleTreeCollection.
    • create-meta-merkle-tree - For a given epoch, load the GeneratedMerkleTreeCollection from disk at save-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.json format. 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

14 Feb 19:32
cf534ad

Choose a tag to compare

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