diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1353fdc..6e1e55a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -11,9 +11,10 @@ env: jobs: build-and-test: name: Build and test programs - runs-on: ubuntu-20.04 + runs-on: big-runner-1 steps: + # Setup - uses: actions/checkout@v2 - uses: ./.github/actions/setup/ - uses: ./.github/actions/setup-solana/ @@ -26,16 +27,70 @@ jobs: ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ - ./target/ + ./mev-programs/target/ key: cargo-${{ runner.os }}-anchor-${{ hashFiles('**/Cargo.lock') }} - run: cargo install --git https://github.com/coral-xyz/anchor --tag v0.27.0 anchor-cli --locked --force - name: Install yarn dependencies working-directory: ./mev-programs run: yarn - - name: Run Anchor test - working-directory: ./mev-programs - run: anchor test - uses: reinismu/clippy-check@master with: working-directory: ./mev-programs/programs token: ${{ secrets.GITHUB_TOKEN }} + + # Build IDLs + - name: Build jito_tip_distribution + working-directory: ./mev-programs + run: anchor build --idl idl --program-name jito_tip_distribution + - name: Build jito_tip_payment + working-directory: ./mev-programs + run: anchor build --idl idl --program-name jito_tip_payment + + # Test + - name: Run Anchor test + working-directory: ./mev-programs + run: anchor test + + # Make sure no uncommitted changes + - name: Check for diff + run: git diff --exit-code + + verified-build: + name: Build Verifiable Artifact + runs-on: big-runner-1 + steps: + - name: Checkout + uses: actions/checkout@v3 + + # --force because the cargo cache has it saved + - name: Install Solana Verify + run: | + cargo install solana-verify --force + solana-verify --version + + - name: Verifiable Build + working-directory: ./mev-programs + run: | + solana-verify build --library-name jito_tip_distribution + solana-verify build --library-name jito_tip_payment + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: build + path: | + mev-programs/target/deploy/jito_tip_distribution.so + mev-programs/target/deploy/jito_tip_payment.so + mev-programs/target/idl/jito_tip_distribution.json + mev-programs/target/idl/jito_tip_payment.json + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + working-directory: ./mev-programs + files: | + mev-programs/target/deploy/jito_tip_distribution.so + mev-programs/target/deploy/jito_tip_payment.so + mev-programs/target/idl/jito_tip_distribution.json + mev-programs/target/idl/jito_tip_payment.json diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml deleted file mode 100644 index d8a21dd..0000000 --- a/.github/workflows/publish.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: Publish -on: - push: - branches: - - master - -jobs: - publish-to-apr: - name: Publish to apr.dev - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v2 - - uses: ./.github/actions/setup/ - - uses: ./.github/actions/setup-solana/ - - uses: actions/cache@v2 - name: Cache Cargo registry + index - id: cache-anchor - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - ./target/ - key: cargo-${{ runner.os }}-anchor-${{ hashFiles('**/Cargo.lock') }} - - run: cargo install --git https://github.com/coral-xyz/anchor --tag v0.27.0 anchor-cli --locked --force - - name: Install yarn dependencies - working-directory: ./mev-programs - run: yarn - - name: Run Anchor test - working-directory: ./mev-programs - run: anchor test - - name: Anchor Login - working-directory: ./mev-programs - run: anchor login ${{ secrets.ANCHOR_PUBLISH_TOKEN }} - - name: Publish tip-payment source code - working-directory: ./mev-programs - run: yes 'yes' | anchor publish tip_payment --skip-build --provider.cluster mainnet - - name: Publish tip-distribution source code - working-directory: ./mev-programs - run: yes 'yes' | anchor publish tip_distribution --skip-build --provider.cluster mainnet diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..d9adb43 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,94 @@ +name: Release +on: + push: + tags: + - 'v*' + +env: + SOLANA_CLI_VERSION: 1.14.17 +jobs: + release: + name: Create the jito programs release + runs-on: big-runner-1 + + steps: + # Setup + - uses: actions/checkout@v2 + - uses: ./.github/actions/setup/ + - uses: ./.github/actions/setup-solana/ + - uses: actions/cache@v2 + name: Cache Cargo registry + index + id: cache-anchor + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + ./mev-programs/target/ + key: cargo-${{ runner.os }}-anchor-${{ hashFiles('**/Cargo.lock') }} + - run: cargo install --git https://github.com/coral-xyz/anchor --tag v0.27.0 anchor-cli --locked --force + - name: Install yarn dependencies + working-directory: ./mev-programs + run: yarn + + # Build IDLs + - name: Build jito_tip_distribution + working-directory: ./mev-programs + run: anchor build --idl idl --program-name jito_tip_distribution + - name: Build jito_tip_payment + working-directory: ./mev-programs + run: anchor build --idl idl --program-name jito_tip_payment + + # Test + - name: Run Anchor test + working-directory: ./mev-programs + run: anchor test + + # Verified build + # --force because the cargo cache has it saved + - name: Install Solana Verify + run: | + cargo install solana-verify --force + solana-verify --version + + - name: Verifiable Build + working-directory: ./mev-programs + run: | + solana-verify build --library-name jito_tip_distribution + solana-verify build --library-name jito_tip_payment + + # Make sure no uncommitted changes + - name: Check for diff + run: git diff --exit-code + + # Push to anchor repository + - name: Anchor Login + working-directory: ./mev-programs + run: anchor login ${{ secrets.ANCHOR_PUBLISH_TOKEN }} + - name: Publish tip-payment source code + working-directory: ./mev-programs + run: yes 'yes' | anchor publish jito_tip_payment --skip-build --provider.cluster mainnet + - name: Publish tip-distribution source code + working-directory: ./mev-programs + run: yes 'yes' | anchor publish jito_tip_distribution --skip-build --provider.cluster mainnet + + # Upload artifacts + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: build + path: | + mev-programs/target/deploy/jito_tip_distribution.so + mev-programs/target/deploy/jito_tip_payment.so + mev-programs/target/idl/jito_tip_distribution.json + mev-programs/target/idl/jito_tip_payment.json + - 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_payment.so + mev-programs/target/idl/jito_tip_distribution.json + mev-programs/target/idl/jito_tip_payment.json diff --git a/mev-programs/Anchor.toml b/mev-programs/Anchor.toml index 6b0a239..6a84f0b 100644 --- a/mev-programs/Anchor.toml +++ b/mev-programs/Anchor.toml @@ -3,16 +3,16 @@ cluster = "localnet" wallet = "~/.config/solana/id.json" [programs.mainnet] -tip_distribution = "4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7" -tip_payment = "T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt" +jito_tip_distribution = "4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7" +jito_tip_payment = "T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt" [programs.testnet] -tip_distribution = "F2Zu7QZiTYUhPd7u9ukRVwxh7B71oA3NMJcHuCHc29P2" -tip_payment = "DCN82qDxJAQuSqHhv2BJuAgi41SPeKZB5ioBCTMNDrCC" +jito_tip_distribution = "F2Zu7QZiTYUhPd7u9ukRVwxh7B71oA3NMJcHuCHc29P2" +jito_tip_payment = "DCN82qDxJAQuSqHhv2BJuAgi41SPeKZB5ioBCTMNDrCC" [programs.localnet] -tip_distribution = "4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7" -tip_payment = "T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt" +jito_tip_distribution = "4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7" +jito_tip_payment = "T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt" [workspace] members = [ @@ -28,5 +28,4 @@ url = "https://anchor.projectserum.com" test = "yarn ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.{ts,js}" [test.validator] -slots_per_epoch = "128" -ticks_per_slot = 32 +slots_per_epoch = "32" diff --git a/mev-programs/Cargo.lock b/mev-programs/Cargo.lock index 1e295c5..acfe463 100644 --- a/mev-programs/Cargo.lock +++ b/mev-programs/Cargo.lock @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" dependencies = [ "memchr", ] @@ -42,8 +42,8 @@ checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "regex", "syn 1.0.109", ] @@ -57,8 +57,8 @@ dependencies = [ "anchor-syn", "anyhow", "bs58 0.5.0", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "rustversion", "syn 1.0.109", ] @@ -70,7 +70,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" dependencies = [ "anchor-syn", - "proc-macro2", + "proc-macro2 1.0.67", "syn 1.0.109", ] @@ -81,8 +81,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" dependencies = [ "anchor-syn", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -94,8 +94,8 @@ checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -107,8 +107,8 @@ checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -120,8 +120,8 @@ checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -131,8 +131,8 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -153,7 +153,7 @@ dependencies = [ "arrayref", "base64 0.13.1", "bincode", - "borsh 0.9.3", + "borsh 0.10.3", "bytemuck", "getrandom 0.2.10", "solana-program", @@ -169,20 +169,20 @@ dependencies = [ "anyhow", "bs58 0.5.0", "heck", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "serde", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "syn 1.0.109", "thiserror", ] [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "ark-bn254" @@ -238,7 +238,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote", + "quote 1.0.33", "syn 1.0.109", ] @@ -250,8 +250,8 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint", "num-traits", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -286,8 +286,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -339,9 +339,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.3" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "bincode" @@ -369,9 +369,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" dependencies = [ "arrayref", "arrayvec", @@ -416,7 +416,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ "borsh-derive 0.10.3", - "hashbrown 0.12.3", + "hashbrown 0.13.2", ] [[package]] @@ -428,7 +428,7 @@ dependencies = [ "borsh-derive-internal 0.9.3", "borsh-schema-derive-internal 0.9.3", "proc-macro-crate", - "proc-macro2", + "proc-macro2 1.0.67", "syn 1.0.109", ] @@ -441,7 +441,7 @@ dependencies = [ "borsh-derive-internal 0.10.3", "borsh-schema-derive-internal 0.10.3", "proc-macro-crate", - "proc-macro2", + "proc-macro2 1.0.67", "syn 1.0.109", ] @@ -451,8 +451,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -462,8 +462,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -473,8 +473,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -484,8 +484,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -506,9 +506,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bv" @@ -522,22 +522,22 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.22", + "proc-macro2 1.0.67", + "quote 1.0.33", + "syn 2.0.37", ] [[package]] @@ -548,11 +548,12 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.79" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -583,29 +584,19 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - [[package]] name = "crossbeam-deque" version = "0.8.3" @@ -679,14 +670,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "default-env" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f753eb82d29277e79efc625e84aecacfd4851ee50e05a8573a4740239a77bfd3" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "syn 0.15.44", +] + [[package]] name = "derivative" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -712,9 +714,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "feature-probe" @@ -768,15 +770,6 @@ dependencies = [ "ahash 0.7.6", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.6", -] - [[package]] name = "hashbrown" version = "0.13.2" @@ -795,12 +788,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - [[package]] name = "hmac" version = "0.8.1" @@ -849,9 +836,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jito-programs-vote-state" @@ -866,18 +853,22 @@ dependencies = [ [[package]] name = "jito-tip-distribution" -version = "0.1.2" +version = "0.1.3" dependencies = [ "anchor-lang", + "default-env", "jito-programs-vote-state", "solana-program", + "solana-security-txt", ] [[package]] name = "jito-tip-payment" -version = "0.1.2" +version = "0.1.3" dependencies = [ "anchor-lang", + "default-env", + "solana-security-txt", ] [[package]] @@ -915,9 +906,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "libsecp256k1" @@ -979,15 +970,15 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" @@ -1024,8 +1015,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "syn 1.0.109", ] @@ -1048,16 +1039,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "once_cell" version = "1.18.0" @@ -1125,20 +1106,38 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "proc-macro2" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.29" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +dependencies = [ + "proc-macro2 0.4.30", +] + +[[package]] +name = "quote" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ - "proc-macro2", + "proc-macro2 1.0.67", ] [[package]] @@ -1222,9 +1221,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -1232,14 +1231,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -1253,9 +1250,21 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.4" +version = "1.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" dependencies = [ "aho-corasick", "memchr", @@ -1264,9 +1273,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "rustc-hash" @@ -1285,62 +1294,62 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" [[package]] name = "serde" -version = "1.0.164" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.9" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.164" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.22", + "proc-macro2 1.0.67", + "quote 1.0.33", + "syn 2.0.37", ] [[package]] name = "serde_json" -version = "1.0.99" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" dependencies = [ "itoa", "ryu", @@ -1362,9 +1371,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -1393,15 +1402,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "solana-frozen-abi" -version = "1.16.10" +version = "1.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963c416b8306f50bb35cc361b5b5e81e0b1ee2fe65e5fa3ea56e555c2f0d70e0" +checksum = "361cc834e5fbbe1a73f1d904fcb8ab052a665e5be6061bd1ba7ab478d7d17c9c" dependencies = [ "ahash 0.8.3", "blake3", @@ -1424,7 +1433,7 @@ dependencies = [ "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "solana-frozen-abi-macro", "subtle", "thiserror", @@ -1432,28 +1441,28 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.16.10" +version = "1.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f00491538baa9a2ba9a79bfdc471d6bc56c0073e10bb8f6ff4c8ddc5b76867" +checksum = "575d875dc050689f9f88c542e292e295e2f081d4e96e0df297981e45cbad8824" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "rustc_version", - "syn 2.0.22", + "syn 2.0.37", ] [[package]] name = "solana-program" -version = "1.16.10" +version = "1.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9380a2e65237b99532f7ac34b19be0dde6054b2d360c98b4ced70e3788c2f1" +checksum = "9863ff5c6e828015bec331c26fb53e48352a264a9be682e7e078d2c3b3e93b46" dependencies = [ "ark-bn254", "ark-ec", "ark-ff", "ark-serialize", "array-bytes", - "base64 0.21.3", + "base64 0.21.4", "bincode", "bitflags", "blake3", @@ -1486,7 +1495,7 @@ dependencies = [ "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "sha3", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -1499,63 +1508,80 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.16.10" +version = "1.16.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec575f561066d6d411f129e422300db49654f5f6c8ad910233b461d892f27a" +checksum = "bd177a74fb3a0a362f1292c027d668eff609ac189f08b78158324587a0a4f8d1" dependencies = [ "bs58 0.4.0", - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "rustversion", - "syn 2.0.22", + "syn 2.0.37", ] +[[package]] +name = "solana-security-txt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" + [[package]] name = "subtle" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +[[package]] +name = "syn" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid", +] + [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.22" +version = "2.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" +checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 1.0.67", + "quote 1.0.33", "unicode-ident", ] [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.22", + "proc-macro2 1.0.67", + "quote 1.0.33", + "syn 2.0.37", ] [[package]] @@ -1603,15 +1629,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -1628,6 +1654,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + [[package]] name = "version_check" version = "0.9.4" @@ -1665,9 +1697,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2", - "quote", - "syn 2.0.22", + "proc-macro2 1.0.67", + "quote 1.0.33", + "syn 2.0.37", "wasm-bindgen-shared", ] @@ -1677,7 +1709,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote", + "quote 1.0.33", "wasm-bindgen-macro-support", ] @@ -1687,9 +1719,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.22", + "proc-macro2 1.0.67", + "quote 1.0.33", + "syn 2.0.37", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1712,9 +1744,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -1727,45 +1759,45 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "zeroize" @@ -1782,7 +1814,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.22", + "proc-macro2 1.0.67", + "quote 1.0.33", + "syn 2.0.37", ] diff --git a/mev-programs/programs/tip-distribution/Cargo.toml b/mev-programs/programs/tip-distribution/Cargo.toml index 18295d5..efe30d4 100644 --- a/mev-programs/programs/tip-distribution/Cargo.toml +++ b/mev-programs/programs/tip-distribution/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jito-tip-distribution" -version = "0.1.2" +version = "0.1.3" description = "Tip distribution program, responsible for distributing funds to entitled parties." edition = "2021" license = "Apache-2.0" @@ -18,5 +18,7 @@ default = [] [dependencies] anchor-lang = "0.28.0" -solana-program = "1.16" +default-env = "0.1.1" jito-programs-vote-state = { path = "../vote-state" } +solana-program = "1.16" +solana-security-txt = "1.1.1" diff --git a/mev-programs/programs/tip-distribution/build.rs b/mev-programs/programs/tip-distribution/build.rs new file mode 100644 index 0000000..9886a7a --- /dev/null +++ b/mev-programs/programs/tip-distribution/build.rs @@ -0,0 +1,13 @@ +fn main() { + println!("cargo:rerun-if-env-changed=GIT_SHA"); + println!( + "cargo:rustc-env=GIT_SHA={}", + option_env!("GIT_SHA").unwrap_or("GIT_SHA_MISSING") + ); + + println!("cargo:rerun-if-env-changed=GIT_REF_NAME"); + println!( + "cargo:rustc-env=GIT_REF_NAME={}", + option_env!("GIT_REF_NAME").unwrap_or("GIT_REF_NAME_MISSING") + ); +} diff --git a/mev-programs/idl/tip_distribution.json b/mev-programs/programs/tip-distribution/idl/jito_tip_distribution.json similarity index 94% rename from mev-programs/idl/tip_distribution.json rename to mev-programs/programs/tip-distribution/idl/jito_tip_distribution.json index dd47ee1..f3a57ed 100644 --- a/mev-programs/idl/tip_distribution.json +++ b/mev-programs/programs/tip-distribution/idl/jito_tip_distribution.json @@ -1,6 +1,6 @@ { - "version": "0.1.0", - "name": "tip_distribution", + "version": "0.1.3", + "name": "jito_tip_distribution", "instructions": [ { "name": "initialize", @@ -47,53 +47,6 @@ } ] }, - { - "name": "initTipDistributionAccount", - "docs": [ - "Initialize a new [TipDistributionAccount] associated with the given validator vote key", - "and current epoch." - ], - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "tipDistributionAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "merkleRootUploadAuthority", - "type": "publicKey" - }, - { - "name": "validatorVoteAccount", - "type": "publicKey" - }, - { - "name": "validatorCommissionBps", - "type": "u16" - }, - { - "name": "bump", - "type": "u8" - } - ] - }, { "name": "initializeTipDistributionAccount", "docs": [ diff --git a/mev-programs/programs/tip-distribution/src/lib.rs b/mev-programs/programs/tip-distribution/src/lib.rs index 708672c..23be332 100644 --- a/mev-programs/programs/tip-distribution/src/lib.rs +++ b/mev-programs/programs/tip-distribution/src/lib.rs @@ -5,6 +5,23 @@ use crate::{ ErrorCode::Unauthorized, }; +#[cfg(not(feature = "no-entrypoint"))] +use {default_env::default_env, solana_security_txt::security_txt}; + +#[cfg(not(feature = "no-entrypoint"))] +security_txt! { + // Required fields + name: "Jito Tip Distribution Program", + project_url: "https://jito.network/", + contacts: "email:support@jito.network", + policy: "https://github.com/jito-foundation/jito-programs", + // Optional Fields + preferred_languages: "en", + source_code: "https://github.com/jito-foundation/jito-programs", + source_revision: default_env!("GIT_SHA", "GIT_SHA_MISSING"), + source_release: default_env!("GIT_REF_NAME", "GIT_REF_NAME_MISSING") +} + pub mod merkle_proof; pub mod sdk; pub mod state; @@ -12,7 +29,7 @@ pub mod state; declare_id!("4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7"); #[program] -pub mod tip_distribution { +pub mod jito_tip_distribution { use jito_programs_vote_state::VoteState; use super::*; diff --git a/mev-programs/programs/tip-payment/Cargo.toml b/mev-programs/programs/tip-payment/Cargo.toml index e364c3d..bbb1420 100644 --- a/mev-programs/programs/tip-payment/Cargo.toml +++ b/mev-programs/programs/tip-payment/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jito-tip-payment" -version = "0.1.2" +version = "0.1.3" description = "Tip Payment Program" edition = "2021" license = "Apache-2.0" @@ -8,7 +8,7 @@ authors = ["Jito Foundation "] [lib] crate-type = ["cdylib", "lib"] -name = "tip_payment" +name = "jito_tip_payment" [features] no-entrypoint = [] @@ -17,6 +17,7 @@ no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] - [dependencies] anchor-lang = "0.28.0" +default-env = "0.1.1" +solana-security-txt = "1.1.1" diff --git a/mev-programs/programs/tip-payment/build.rs b/mev-programs/programs/tip-payment/build.rs new file mode 100644 index 0000000..9886a7a --- /dev/null +++ b/mev-programs/programs/tip-payment/build.rs @@ -0,0 +1,13 @@ +fn main() { + println!("cargo:rerun-if-env-changed=GIT_SHA"); + println!( + "cargo:rustc-env=GIT_SHA={}", + option_env!("GIT_SHA").unwrap_or("GIT_SHA_MISSING") + ); + + println!("cargo:rerun-if-env-changed=GIT_REF_NAME"); + println!( + "cargo:rustc-env=GIT_REF_NAME={}", + option_env!("GIT_REF_NAME").unwrap_or("GIT_REF_NAME_MISSING") + ); +} diff --git a/mev-programs/idl/tip_payment.json b/mev-programs/programs/tip-payment/idl/jito_tip_payment.json similarity index 99% rename from mev-programs/idl/tip_payment.json rename to mev-programs/programs/tip-payment/idl/jito_tip_payment.json index 3d2c231..2715536 100644 --- a/mev-programs/idl/tip_payment.json +++ b/mev-programs/programs/tip-payment/idl/jito_tip_payment.json @@ -1,6 +1,6 @@ { - "version": "0.1.0", - "name": "tip_payment", + "version": "0.1.3", + "name": "jito_tip_payment", "instructions": [ { "name": "initialize", diff --git a/mev-programs/programs/tip-payment/src/lib.rs b/mev-programs/programs/tip-payment/src/lib.rs index 3d58d01..be61e6d 100644 --- a/mev-programs/programs/tip-payment/src/lib.rs +++ b/mev-programs/programs/tip-payment/src/lib.rs @@ -2,6 +2,23 @@ use anchor_lang::prelude::*; use crate::TipPaymentError::ArithmeticError; +#[cfg(not(feature = "no-entrypoint"))] +use {default_env::default_env, solana_security_txt::security_txt}; + +#[cfg(not(feature = "no-entrypoint"))] +security_txt! { + // Required fields + name: "Jito Tip Payment Program", + project_url: "https://jito.network/", + contacts: "email:support@jito.network", + policy: "https://github.com/jito-foundation/jito-programs", + // Optional Fields + preferred_languages: "en", + source_code: "https://github.com/jito-foundation/jito-programs", + source_revision: default_env!("GIT_SHA", "GIT_SHA_MISSING"), + source_release: default_env!("GIT_REF_NAME", "GIT_REF_NAME_MISSING") +} + declare_id!("T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt"); /// We've decided to hardcode the seeds, effectively meaning @@ -22,7 +39,7 @@ pub const TIP_ACCOUNT_SEED_7: &[u8] = b"TIP_ACCOUNT_7"; pub const HEADER: usize = 8; #[program] -pub mod tip_payment { +pub mod jito_tip_payment { use super::*; pub fn initialize(ctx: Context, _bumps: InitBumps) -> Result<()> { diff --git a/mev-programs/scripts/autosnapshot_inner.sh b/mev-programs/scripts/autosnapshot_inner.sh index d522bf2..04e5d5a 100755 --- a/mev-programs/scripts/autosnapshot_inner.sh +++ b/mev-programs/scripts/autosnapshot_inner.sh @@ -115,7 +115,7 @@ create_snapshot_for_slot() { # produces snapshot in $snapshot_dir # shellcheck disable=SC2012 - RUST_LOG=info solana-ledger-tool -l "$ledger_location" create-snapshot "$snapshot_slot" "$snapshot_dir" + RUST_LOG=info solana-ledger-tool -l "$ledger_location" create-snapshot --enable-accounts-disk-index "$snapshot_slot" "$snapshot_dir" # TODO: figure this out # for some reason solana-ledger-tool error doesn't cause this script to exit out, so check status here diff --git a/mev-programs/tests/tip-distribution.ts b/mev-programs/tests/tip-distribution.ts index 58f2579..c3b6258 100644 --- a/mev-programs/tests/tip-distribution.ts +++ b/mev-programs/tests/tip-distribution.ts @@ -1,7 +1,7 @@ import { u64 } from "@saberhq/token-utils"; import * as anchor from "@coral-xyz/anchor"; import { AnchorError, Program } from "@coral-xyz/anchor"; -import { TipDistribution } from "../target/types/tip_distribution"; +import { JitoTipDistribution } from "../target/types/jito_tip_distribution"; import { assert, expect } from "chai"; import { PublicKey } from "@solana/web3.js"; import { MerkleTree } from "./merkle-tree"; @@ -24,7 +24,7 @@ const provider = anchor.AnchorProvider.local("http://127.0.0.1:8899", { }); anchor.setProvider(provider); -const tipDistribution = anchor.workspace.TipDistribution as Program; +const tipDistribution = anchor.workspace.JitoTipDistribution as Program; // globals let configAccount, configBump; diff --git a/mev-programs/tests/tip-payment.ts b/mev-programs/tests/tip-payment.ts index 2ab525c..48e1a29 100644 --- a/mev-programs/tests/tip-payment.ts +++ b/mev-programs/tests/tip-payment.ts @@ -1,7 +1,7 @@ import * as anchor from "@coral-xyz/anchor"; import { Program } from "@coral-xyz/anchor"; -import { TipPayment } from "../target/types/tip_payment"; +import { JitoTipPayment } from "../target/types/jito_tip_payment"; import { assert } from "chai"; import { PublicKey } from "@solana/web3.js"; @@ -41,7 +41,7 @@ const provider = anchor.AnchorProvider.local("http://127.0.0.1:8899", { preflightCommitment: "confirmed", }); anchor.setProvider(provider); -const tipPaymentProg = anchor.workspace.TipPayment as Program; +const tipPaymentProg = anchor.workspace.JitoTipPayment as Program; describe("tests tip_payment", () => { const sendTip = async (accountToTip: PublicKey, tipAmount: number) => {