Skip to content

Commit 025f00e

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

File tree

182 files changed

+17799
-871
lines changed

Some content is hidden

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

182 files changed

+17799
-871
lines changed

.dockerignore

+9
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

+2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ jobs:
3535
runs-on: ${{ matrix.os }}
3636
steps:
3737
- uses: actions/checkout@v4
38+
with:
39+
submodules: 'recursive'
3840

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

.github/workflows/changelog-label.yml

+1
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

+4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ jobs:
3232
runs-on: ${{ matrix.os }}
3333
steps:
3434
- uses: actions/checkout@v4
35+
with:
36+
submodules: 'recursive'
3537

3638
- run: cargo install [email protected]
3739

@@ -56,6 +58,8 @@ jobs:
5658
runs-on: ${{ matrix.os }}
5759
steps:
5860
- uses: actions/checkout@v4
61+
with:
62+
submodules: 'recursive'
5963

6064
- name: Setup Rust
6165
run: |

.github/workflows/crate-check.yml

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
- uses: actions/checkout@v4
2020
with:
2121
fetch-depth: 0
22+
submodules: 'recursive'
2223

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

.github/workflows/docs.yml

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
uses: actions/checkout@v4
2323
with:
2424
fetch-depth: 0
25+
submodules: 'recursive'
2526

2627
- name: Get commit range (push)
2728
if: ${{ github.event_name == 'push' }}
@@ -77,6 +78,8 @@ jobs:
7778
steps:
7879
- name: Checkout
7980
uses: actions/checkout@v4
81+
with:
82+
submodules: 'recursive'
8083

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

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

+3-1
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,11 @@ jobs:
4343
runs-on: ubuntu-latest
4444
strategy:
4545
matrix:
46-
version: ["v0.29.0", "v0.30.0"]
46+
version: [ "v0.29.0", "v0.30.0" ]
4747
steps:
4848
- uses: actions/checkout@v4
49+
with:
50+
submodules: 'recursive'
4951

5052
- shell: bash
5153
run: |

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

+24-18
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ jobs:
4242
runs-on: ubuntu-latest
4343
steps:
4444
- uses: actions/checkout@v4
45+
with:
46+
submodules: 'recursive'
4547

4648
- shell: bash
4749
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: |
@@ -128,26 +132,28 @@ jobs:
128132
strategy:
129133
matrix:
130134
programs:
131-
- [token/program]
135+
- [ token/program ]
132136
- [
133-
instruction-padding/program,
134-
token/program-2022,
135-
token/program-2022-test,
136-
]
137+
instruction-padding/program,
138+
token/program-2022,
139+
token/program-2022-test,
140+
]
137141
- [
138-
associated-token-account/program,
139-
associated-token-account/program-test,
140-
]
141-
- [token-upgrade/program]
142-
- [feature-proposal/program]
143-
- [governance/addin-mock/program, governance/program]
144-
- [memo/program]
145-
- [name-service/program]
146-
- [stake-pool/program]
147-
- [single-pool/program]
142+
associated-token-account/program,
143+
associated-token-account/program-test,
144+
]
145+
- [ token-upgrade/program ]
146+
- [ feature-proposal/program ]
147+
- [ governance/addin-mock/program, governance/program ]
148+
- [ memo/program ]
149+
- [ name-service/program ]
150+
- [ stake-pool/program ]
151+
- [ single-pool/program ]
148152

149153
steps:
150154
- uses: actions/checkout@v4
155+
with:
156+
submodules: 'recursive'
151157

152158
- shell: bash
153159
run: |

.github/workflows/rebase.yaml

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

.github/workflows/release-artifacts.yml

+1
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

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ target/
44
/solana-release.tar.bz2
55
/solana-metrics/
66
/solana-metrics.tar.bz2
7+
**/target/
78
/test-ledger/
89

910
**/*.rs.bk
@@ -27,7 +28,11 @@ log-*/
2728
# fetch-spl.sh artifacts
2829
/spl-genesis-args.sh
2930
/spl_*.so
31+
/jito_*.so
3032

3133
.DS_Store
3234
# scripts that may be generated by cargo *-bpf commands
3335
**/cargo-*-bpf-child-script-*.sh
36+
37+
.env
38+
docker-output/

.gitmodules

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[submodule "anchor"]
2+
path = anchor
3+
url = https://github.com/jito-foundation/anchor.git
4+
[submodule "jito-programs"]
5+
path = jito-programs
6+
url = https://github.com/jito-foundation/jito-programs.git
7+
[submodule "jito-protos/protos"]
8+
path = jito-protos/protos
9+
url = https://github.com/jito-labs/mev-protos.git

0 commit comments

Comments
 (0)