diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8394145..6c221d5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -38,7 +38,7 @@ jobs: uses: baptiste0928/cargo-install@v3 with: crate: cargo-audit - version: "0.21.2" + version: "0.22.0" - run: cargo audit --ignore RUSTSEC-2022-0093 --ignore RUSTSEC-2024-0344 --ignore RUSTSEC-2024-0421 --ignore RUSTSEC-2025-0022 working-directory: ./mev-programs @@ -93,10 +93,9 @@ jobs: - name: Install yarn dependencies working-directory: ./mev-programs run: yarn - # Build - name: Build jito_tip_distribution working-directory: ./mev-programs - run: RUSTUP_TOOLCHAIN=nightly-2025-04-16 anchor build --idl idl --program-name jito_tip_distribution + run: RUSTUP_TOOLCHAIN=nightly-2025-04-16 anchor build --idl idl --program-name jito_tip_distribution -- --features jito-tip-distribution/mainnet - name: Build jito_tip_payment working-directory: ./mev-programs run: RUSTUP_TOOLCHAIN=nightly-2025-04-16 anchor build --idl idl --program-name jito_tip_payment @@ -114,9 +113,16 @@ jobs: # Slow anchor tests - run: solana-keygen new --no-bip39-passphrase # needed for tests + - name: Copy IDLs for tests + working-directory: ./mev-programs + run: | + mkdir -p target/idl target/types + cp programs/tip-distribution/idl/*.json target/idl/ + cp programs/tip-payment/idl/*.json target/idl/ + cp programs/priority-fee-distribution/idl/*.json target/idl/ - name: Run Anchor test working-directory: ./mev-programs - run: RUSTUP_TOOLCHAIN=nightly-2025-04-16 anchor test + run: RUSTUP_TOOLCHAIN=nightly-2025-04-16 anchor test --skip-build verified_build: name: verified_build @@ -132,23 +138,28 @@ jobs: ./mev-programs/ - name: Install Solana Verify run: | - RUSTUP_TOOLCHAIN=nightly-2025-04-01 cargo install solana-verify@0.4.3 + sudo apt-get update && sudo apt-get install -y libudev-dev + rustup install nightly-2025-11-01 + RUSTUP_TOOLCHAIN=nightly-2025-11-01 cargo install solana-verify@0.4.11 solana-verify --version - name: Verifiable Build working-directory: ./mev-programs run: | - solana-verify build --library-name jito_tip_distribution --base-image solanafoundation/solana-verifiable-build:2.2.13 + solana-verify build --library-name jito_tip_distribution --base-image solanafoundation/solana-verifiable-build:2.2.13 -- --features jito-tip-distribution/mainnet + sudo mv target/deploy/jito_tip_distribution.so target/deploy/jito_tip_distribution-mainnet.so solana-verify build --library-name jito_tip_payment --base-image solanafoundation/solana-verifiable-build:2.2.13 solana-verify build --library-name jito_priority_fee_distribution --base-image solanafoundation/solana-verifiable-build:2.2.13 - + solana-verify build --library-name jito_tip_distribution --base-image solanafoundation/solana-verifiable-build:2.2.13 + sudo mv target/deploy/jito_tip_distribution.so target/deploy/jito_tip_distribution-testnet.so - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: build path: | - mev-programs/target/deploy/jito_tip_distribution.so + mev-programs/target/deploy/jito_tip_distribution-mainnet.so + mev-programs/target/deploy/jito_tip_distribution-testnet.so mev-programs/target/deploy/jito_tip_payment.so mev-programs/target/deploy/jito_priority_fee_distribution.so mev-programs/programs/tip-distribution/idl/jito_tip_distribution.json @@ -156,16 +167,16 @@ jobs: mev-programs/programs/priority-fee-distribution/idl/jito_priority_fee_distribution.json - name: Cleanup rust cache un-cacheable files run: | - sudo rm ./mev-programs/target/deploy/jito_tip_distribution-keypair.json - sudo rm ./mev-programs/target/deploy/jito_tip_payment-keypair.json + sudo rm -f ./mev-programs/target/deploy/jito_tip_distribution-keypair.json + sudo rm -f ./mev-programs/target/deploy/jito_tip_payment-keypair.json - # Tag related steps - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: | - mev-programs/target/deploy/jito_tip_distribution.so + mev-programs/target/deploy/jito_tip_distribution-mainnet.so + mev-programs/target/deploy/jito_tip_distribution-testnet.so mev-programs/target/deploy/jito_tip_payment.so mev-programs/target/deploy/jito_priority_fee_distribution.so mev-programs/target/idl/jito_tip_distribution.json diff --git a/mev-programs/Anchor.toml b/mev-programs/Anchor.toml index e878ead..5cdb166 100644 --- a/mev-programs/Anchor.toml +++ b/mev-programs/Anchor.toml @@ -7,7 +7,7 @@ jito_tip_distribution = "4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7" jito_tip_payment = "T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt" [programs.testnet] -jito_tip_distribution = "F2Zu7QZiTYUhPd7u9ukRVwxh7B71oA3NMJcHuCHc29P2" +jito_tip_distribution = "DzvGET57TAgEDxvm3ERUM4GNcsAJdqjDLCne9sdfY4wf" jito_tip_payment = "DCN82qDxJAQuSqHhv2BJuAgi41SPeKZB5ioBCTMNDrCC" [programs.localnet] diff --git a/mev-programs/programs/tip-distribution/Cargo.toml b/mev-programs/programs/tip-distribution/Cargo.toml index 9537810..c3a6825 100644 --- a/mev-programs/programs/tip-distribution/Cargo.toml +++ b/mev-programs/programs/tip-distribution/Cargo.toml @@ -22,6 +22,7 @@ custom-panic = [] default = [] idl-build = ["anchor-lang/idl-build"] anchor-debug = ["anchor-lang/anchor-debug"] +mainnet = [] [dependencies] anchor-lang = { workspace = true } diff --git a/mev-programs/programs/tip-distribution/src/lib.rs b/mev-programs/programs/tip-distribution/src/lib.rs index 16d589a..eaadc49 100644 --- a/mev-programs/programs/tip-distribution/src/lib.rs +++ b/mev-programs/programs/tip-distribution/src/lib.rs @@ -24,8 +24,12 @@ security_txt! { pub mod merkle_proof; pub mod state; +#[cfg(feature = "mainnet")] declare_id!("4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7"); +#[cfg(not(feature = "mainnet"))] +declare_id!("DzvGET57TAgEDxvm3ERUM4GNcsAJdqjDLCne9sdfY4wf"); + #[program] pub mod jito_tip_distribution { use anchor_lang::solana_program;