Skip to content

Commit 14f0a20

Browse files
committed
Jito Patch
only reroute if relayer connected (#123) feat: add client tls config (#121) remove extra val (#129) fix clippy (#130) copy all binaries to docker-output (#131) Ledger tool halts at slot passed to create-snapshot (#118) update program submodule (#133) quick fix for tips and clearing old bundles (#135) update submodule to new program (#136) Improve stake-meta-generator usability (#134) pinning submodule head (#140) Use BundleAccountLocker when handling tip txs (#147) Add metrics for relayer + block engine proxy (#149) Build claim-mev in docker (#141) Rework bundle receiving and add metrics (#152) (#154) update submodule + dev files (#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (#159) update jito-programs submodule (#160) Separate MEV tip related workflow (#161) Add block builder fee protos (#162) fix jito programs (#163) update submodule so autosnapshot exits out of ledger tool early (#164) Pipe through block builder fee (#167) pull in new snapshot code (#171) block builder bug (#172) Pull in new slack autosnapshot submodule (#174) sort stake meta json and use int math (#176) add accountsdb conn submod (#169) Update tip distribution parameters (#177) new submodules (#180) Add buildkite link for jito CI (#183) Fixed broken links to repositories (#184) Changed from ssh to https transfer for clone Seg/update submods (#187) fix tests (#190) rm geyser submod (#192) rm dangling geyser references (#193) fix syntax err (#195) use deterministic req ids in batch calls (#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (#203) Add logging for sol balance desired (#205) * add logging * add logging * update msg * tweak vars update submodule (#204) use efficient data structures when calling batch_simulate_bundles (#206) [JIT-504] Add low balance check in uploading merkle roots (#209) add config to simulate on top of working bank (#211) rm frozen bank check simulate_bundle rpc bugfixes (#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (#210) * add files * switch to include bump update submodule (#217) add amount filter (#218) update autosnapshot (#222) Print TX error in Bundles (#223) add new args to support single relayer and block-engine endpoints (#224) point to new jito-programs submod and invoke updated init tda instruction (#228) fix clippy errors (#230) fix validator start scripts (#232) Point README to gitbook (#237) use packaged cargo bin to build (#239) Add validator identity pubkey to StakeMeta (#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 (#240) Seg/tip distributor master (#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (#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 (#247) Improve docker caching delay constructing claim mev txs (#253) fix stake meta tests from bb fee (#254) fix tests Buffer bundles that exceed cost model (#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (#260) update Cargo.lock to correct solana versions in jito-programs submodule (#265) fix simulate_bundle client and better error handling (#267) update submod (#272) Preallocate Bundle Cost (#238) fix Dockerfile (#278) Fix Tests (#279) Fix Tests (#281) * fix tests update jito-programs submod (#282) add reclaim rent workflow (#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (#292) Remove security.md (#293) demote frequent relayer_stage-stream_error to warn (#275) account for case where TDA exists but not allocated (#295) implement better retries for tip-distributor workflows (#297) limit number of concurrent rpc calls (#298) Discard Empty Packet Batches (#299) Identity Hotswap (#290) small fixes (#305) Set backend config from admin rpc (#304) Admin Shred Receiver Change (#306) Seg/rm bundle UUID (#309) Fix github workflow to recursively clone (#327) Add recursive checkout for downstream-project-spl.yaml (#341) Use cluster info functions for tpu (#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (#374) Updates bootstrap and start scripts needed for local dev. (#384) Remove Deprecated Cli Args (#387) Master Rebase improve simulate_bundle errors and response (#404) derive Clone on accountoverrides (#416) Add upsert to AccountOverrides (#419) update jito-programs (#430) [JIT-1661] Faster Autosnapshot (#436) Reverts simulate_transaction result calls to upstream (#446) Don't unlock accounts in TransactionBatches used during simulation (#449) first pass at wiring up jito-plugin (#428) [JIT-1713] Fix bundle's blockspace preallocation (#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (#491) [JIT-1710] - Optimize Bundle Consumer Checks (#490) Add Blockhash Metrics to Bundle Committer (#500) add priority fee ix to mev-claim (#520) Update Autosnapshot (#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (#582) Update CI (#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (#585) Fix more release urls (#588) [JIT-1812] Fix blocking mutexs (#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase #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 (#597) Sleep longer waiting for buildkite to start (#598) correctly initialize account overrides (#595) Fix: Ensure set contact info to UDP port instead of QUIC (#603) Add fast replay branch to daily rebase (#607) take a snapshot of all bundle accounts before sim (#13) (#615) update jito-programs submodule Add 2.0 to daily rebase (#626) Export agave binaries during docker build (#627) Buffer bundles that exceed processing time and make the allowed processing time longer (#611) Publish releases to S3 and GCS (#633) Rebase from different repos (#637) Point SECURITY.md to immunefi (#671) Loosen requirements on tip accounts touchable in BankingStage (#683) Separate out broadcast + retransmit shredstream (#703) Add packet flag for staked node (#705)
1 parent 1e91378 commit 14f0a20

File tree

188 files changed

+18512
-1075
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+18512
-1075
lines changed

.dockerignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.dockerignore
2+
.git/
3+
.github/
4+
.gitignore
5+
.idea/
6+
README.md
7+
Dockerfile
8+
f
9+
target/

.github/workflows/cargo.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ jobs:
3636
runs-on: ${{ matrix.os }}
3737
steps:
3838
- uses: actions/checkout@v4
39+
with:
40+
submodules: 'recursive'
3941

4042
- uses: mozilla-actions/[email protected]
4143
with:

.github/workflows/changelog-label.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
- uses: actions/checkout@v4
1414
with:
1515
fetch-depth: 0
16+
submodules: 'recursive'
1617
- name: Check if changes to CHANGELOG.md
1718
shell: bash
1819
env:

.github/workflows/client-targets.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ jobs:
3333
runs-on: ${{ matrix.os }}
3434
steps:
3535
- uses: actions/checkout@v4
36+
with:
37+
submodules: 'recursive'
3638

3739
# This can be removed once cargo-ndk >= 3.5.4 is used.
3840
- name: Setup environment for Android NDK
@@ -63,6 +65,8 @@ jobs:
6365
runs-on: ${{ matrix.os }}
6466
steps:
6567
- uses: actions/checkout@v4
68+
with:
69+
submodules: 'recursive'
6670

6771
- name: Setup Rust
6872
run: |

.github/workflows/crate-check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
- uses: actions/checkout@v4
2121
with:
2222
fetch-depth: 0
23+
submodules: 'recursive'
2324

2425
- name: Get commit range (push)
2526
if: ${{ github.event_name == 'push' }}

.github/workflows/docs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ jobs:
2323
uses: actions/checkout@v4
2424
with:
2525
fetch-depth: 0
26+
submodules: 'recursive'
2627

2728
- name: Get commit range (push)
2829
if: ${{ github.event_name == 'push' }}
@@ -78,6 +79,8 @@ jobs:
7879
steps:
7980
- name: Checkout
8081
uses: actions/checkout@v4
82+
with:
83+
submodules: 'recursive'
8184

8285
- name: Setup Node
8386
uses: actions/setup-node@v4

.github/workflows/downstream-project-anchor.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,12 @@ jobs:
4141
runs-on: ubuntu-latest
4242
strategy:
4343
matrix:
44-
version: ["master"]
44+
version: [ "master" ]
4545
if: false # Re-enable once new major versions for spl-token-2022 and spl-pod are out
4646
steps:
4747
- uses: actions/checkout@v4
48+
with:
49+
submodules: 'recursive'
4850

4951
- shell: bash
5052
run: |

.github/workflows/downstream-project-spl.yml

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ jobs:
4141
runs-on: ubuntu-latest
4242
steps:
4343
- uses: actions/checkout@v4
44+
with:
45+
submodules: 'recursive'
4446

4547
- shell: bash
4648
run: |
@@ -68,7 +70,7 @@ jobs:
6870
arrays:
6971
[
7072
{
71-
test_paths: ["token/cli"],
73+
test_paths: [ "token/cli" ],
7274
required_programs:
7375
[
7476
"token/program",
@@ -78,14 +80,14 @@ jobs:
7880
],
7981
},
8082
{
81-
test_paths: ["single-pool/cli"],
83+
test_paths: [ "single-pool/cli" ],
8284
required_programs:
8385
[
8486
"single-pool/program",
8587
],
8688
},
8789
{
88-
test_paths: ["token-upgrade/cli"],
90+
test_paths: [ "token-upgrade/cli" ],
8991
required_programs:
9092
[
9193
"token-upgrade/program",
@@ -94,6 +96,8 @@ jobs:
9496
]
9597
steps:
9698
- uses: actions/checkout@v4
99+
with:
100+
submodules: 'recursive'
97101

98102
- shell: bash
99103
run: |
@@ -129,25 +133,26 @@ jobs:
129133
strategy:
130134
matrix:
131135
programs:
132-
- [token/program]
136+
- [ token/program ]
133137
- [
134-
instruction-padding/program,
135-
token/program-2022,
136-
token/program-2022-test,
137-
]
138+
instruction-padding/program,
139+
token/program-2022,
140+
token/program-2022-test,
141+
]
138142
- [
139-
associated-token-account/program,
140-
associated-token-account/program-test,
141-
]
142-
- [token-upgrade/program]
143-
- [feature-proposal/program]
144-
- [governance/addin-mock/program, governance/program]
145-
- [name-service/program]
146-
- [stake-pool/program]
147-
- [single-pool/program]
148-
143+
associated-token-account/program,
144+
associated-token-account/program-test,
145+
]
146+
- [ token-upgrade/program ]
147+
- [ feature-proposal/program ]
148+
- [ governance/addin-mock/program, governance/program ]
149+
- [ name-service/program ]
150+
- [ stake-pool/program ]
151+
- [ single-pool/program ]
149152
steps:
150153
- uses: actions/checkout@v4
154+
with:
155+
submodules: 'recursive'
151156

152157
- shell: bash
153158
run: |

.github/workflows/rebase.yaml

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# This workflow runs a periodic rebase process, pulling in updates from an upstream repository
2+
# The workflow for rebasing a jito-solana branch to a solana labs branch locally is typically:
3+
# $ git checkout v1.17
4+
# $ git pull --rebase # --rebase needed locally
5+
# $ git branch -D lb/v1.17_rebase # deletes branch from last v1.17 rebase
6+
# $ git checkout -b lb/v1.17_rebase
7+
# $ git fetch upstream
8+
# $ git rebase upstream/v1.17 # rebase + fix merge conflicts
9+
# $ git rebase --continue
10+
# $ git push origin +lb/v1.17_rebase # force needed to overwrite remote. wait for CI, fix if any issues
11+
# $ git checkout v1.17
12+
# $ git reset --hard lb/v1.17_rebase
13+
# $ git push origin +v1.17
14+
#
15+
# This workflow automates this process, with periodic status updates over slack.
16+
# It will also run CI and wait for it to pass before performing the force push to v1.17.
17+
# In the event there's a failure in the process, it's reported to slack and the job stops.
18+
19+
name: "Rebase jito-solana from upstream anza-xyz/agave"
20+
21+
on:
22+
# push:
23+
schedule:
24+
- cron: "00 19 * * 1-5"
25+
26+
jobs:
27+
rebase:
28+
runs-on: ubuntu-latest
29+
strategy:
30+
matrix:
31+
include:
32+
- branch: master
33+
upstream_branch: master
34+
upstream_repo: https://github.com/anza-xyz/agave.git
35+
- branch: v2.0
36+
upstream_branch: v2.0
37+
upstream_repo: https://github.com/anza-xyz/agave.git
38+
- branch: v1.18
39+
upstream_branch: v1.18
40+
upstream_repo: https://github.com/solana-labs/solana.git
41+
fail-fast: false
42+
steps:
43+
- uses: actions/checkout@v4
44+
with:
45+
ref: ${{ matrix.branch }}
46+
submodules: recursive
47+
fetch-depth: 0
48+
token: ${{ secrets.JITO_SOLANA_RELEASE_TOKEN }}
49+
- name: Add upstream
50+
run: git remote add upstream ${{ matrix.upstream_repo }}
51+
- name: Fetch upstream
52+
run: git fetch upstream
53+
- name: Fetch origin
54+
run: git fetch origin
55+
- name: Set REBASE_BRANCH
56+
run: echo "REBASE_BRANCH=ci/nightly/${{ matrix.branch }}/$(date +'%Y-%m-%d-%H-%M')" >> $GITHUB_ENV
57+
- name: echo $REBASE_BRANCH
58+
run: echo $REBASE_BRANCH
59+
- name: Create rebase branch
60+
run: git checkout -b $REBASE_BRANCH
61+
- name: Setup email
62+
run: |
63+
git config --global user.email "[email protected]"
64+
git config --global user.name "Jito Infrastructure"
65+
- name: Rebase
66+
id: rebase
67+
run: git rebase upstream/${{ matrix.upstream_branch }}
68+
- name: Send warning for rebase error
69+
if: failure() && steps.rebase.outcome == 'failure'
70+
uses: slackapi/[email protected]
71+
with:
72+
payload: |
73+
{
74+
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: Rebase failed to apply cleanly"
75+
}
76+
env:
77+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
78+
- name: Check if rebase applied
79+
id: check_rebase_applied
80+
run: |
81+
PRE_REBASE_SHA=$(git rev-parse ${{ matrix.branch }})
82+
POST_REBASE_SHA=$(git rev-parse HEAD)
83+
if [ "$PRE_REBASE_SHA" = "$POST_REBASE_SHA" ]; then
84+
echo "No rebase was applied, exiting..."
85+
exit 1
86+
else
87+
echo "Rebase applied successfully."
88+
fi
89+
- name: Send warning for rebase error
90+
if: failure() && steps.check_rebase_applied.outcome == 'failure'
91+
uses: slackapi/[email protected]
92+
with:
93+
payload: |
94+
{
95+
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: Rebase not needed"
96+
}
97+
env:
98+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
99+
- name: Set REBASE_SHA
100+
run: echo "REBASE_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
101+
- name: Push changes
102+
uses: ad-m/github-push-action@master
103+
with:
104+
github_token: ${{ secrets.GITHUB_TOKEN }}
105+
branch: ${{ env.REBASE_BRANCH }}
106+
- name: Wait for buildkite to start build
107+
run: sleep 300
108+
- name: Wait for buildkite to finish
109+
id: wait_for_buildkite
110+
timeout-minutes: 300
111+
run: |
112+
while true; do
113+
response=$(curl -s -f -H "Authorization: Bearer ${{ secrets.BUILDKITE_TOKEN }}" "https://api.buildkite.com/v2/organizations/jito/pipelines/jito-solana/builds?commit=${{ env.REBASE_SHA }}")
114+
if [ $? -ne 0 ]; then
115+
echo "Curl request failed."
116+
exit 1
117+
fi
118+
119+
state=$(echo $response | jq --exit-status -r '.[0].state')
120+
echo "Current build state: $state"
121+
122+
# Check if the state is one of the finished states
123+
case $state in
124+
"passed"|"finished")
125+
echo "Build finished successfully."
126+
exit 0
127+
;;
128+
"canceled"|"canceling"|"not_run")
129+
# ignoring "failing"|"failed" because flaky CI, can restart and hope it finishes or times out
130+
echo "Build failed or was cancelled."
131+
exit 2
132+
;;
133+
esac
134+
135+
sleep 30
136+
done
137+
- name: Send failure update
138+
uses: slackapi/[email protected]
139+
if: failure() && steps.wait_for_buildkite.outcome == 'failure'
140+
with:
141+
payload: |
142+
{
143+
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: CI failed\nBranch: ${{ env.REBASE_BRANCH}}\nBuild: https://buildkite.com/jito/jito-solana/builds?commit=${{ env.REBASE_SHA }}"
144+
}
145+
env:
146+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
147+
# check to see if different branch since CI build can take awhile and these steps are not atomic
148+
- name: Fetch the latest remote changes
149+
run: git fetch origin ${{ matrix.branch }}
150+
- name: Check if origin HEAD has changed from the beginning of the workflow
151+
run: |
152+
LOCAL_SHA=$(git rev-parse ${{ matrix.branch }})
153+
ORIGIN_SHA=$(git rev-parse origin/${{ matrix.branch }})
154+
if [ "$ORIGIN_SHA" != "$LOCAL_SHA" ]; then
155+
echo "The remote HEAD of ${{ matrix.branch }} does not match the local HEAD of ${{ matrix.branch }} at the beginning of CI."
156+
echo "origin sha: $ORIGIN_SHA"
157+
echo "local sha: $LOCAL_SHA"
158+
exit 1
159+
else
160+
echo "The remote HEAD matches the local REBASE_SHA at the beginning of CI. Proceeding."
161+
fi
162+
- name: Reset ${{ matrix.branch }} to ${{ env.REBASE_BRANCH }}
163+
run: |
164+
git checkout ${{ matrix.branch }}
165+
git reset --hard ${{ env.REBASE_BRANCH }}
166+
- name: Push rebased %{{ matrix.branch }}
167+
uses: ad-m/github-push-action@master
168+
with:
169+
github_token: ${{ secrets.JITO_SOLANA_RELEASE_TOKEN }}
170+
branch: ${{ matrix.branch }}
171+
force: true
172+
- name: Send success update
173+
uses: slackapi/[email protected]
174+
with:
175+
payload: |
176+
{
177+
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: CI success, rebased, and pushed\nBranch: ${{ env.REBASE_BRANCH}}\nBuild: https://buildkite.com/jito/jito-solana/builds?commit=${{ env.REBASE_SHA }}"
178+
}
179+
env:
180+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

.github/workflows/release-artifacts.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
with:
2323
ref: master
2424
fetch-depth: 0
25+
submodules: 'recursive'
2526

2627
- name: Setup Rust
2728
shell: bash

0 commit comments

Comments
 (0)