Skip to content

Commit 83df46f

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 Export agave binaries during docker build (BP #627) (#628) Backport #611 (#631) Publish releases to S3 and GCS (#633) (#634) Add packet flag for from staked sender (#655) Co-authored-by: Jed <[email protected]> Add bundle storage to new unprocessed transaction storage method Loosen tip requirement [v2.0] (#685) Add comments around ignoring the slot returned from ImmutableDeserializedPacket::build_sanitized_transaction Backport: Separate out broadcast + retransmit shredstream (#703) (#704)
1 parent 10b95d1 commit 83df46f

File tree

180 files changed

+17830
-876
lines changed

Some content is hidden

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

180 files changed

+17830
-876
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
@@ -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

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
@@ -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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,12 @@ 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
if: false # Re-enable once new major versions for spl-token-2022 and spl-pod are out
4848
steps:
4949
- uses: actions/checkout@v4
50+
with:
51+
submodules: 'recursive'
5052

5153
- shell: bash
5254
run: |

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

Lines changed: 24 additions & 18 deletions
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

Lines changed: 181 additions & 0 deletions
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

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)