Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: metaplex-foundation/digital-asset-validator-plugin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.3.11
Choose a base ref
...
head repository: metaplex-foundation/digital-asset-validator-plugin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Feb 9, 2023

  1. Copy the full SHA
    99a2fdc View commit details
  2. Update README.md

    austbot authored Feb 9, 2023
    Copy the full SHA
    15aa4a4 View commit details
  3. Update README.md

    austbot authored Feb 9, 2023
    Copy the full SHA
    6f49c1f View commit details
  4. Update README.md

    austbot authored Feb 9, 2023
    Copy the full SHA
    b735141 View commit details

Commits on Feb 15, 2023

  1. Copy the full SHA
    b75b4c4 View commit details
  2. up to 1.14.15

    austbot committed Feb 15, 2023
    Copy the full SHA
    403c8c8 View commit details

Commits on Feb 21, 2023

  1. new types for better indexing when 1.15 comes out, adds rpc serialize…

    …r to avoid code duplication (#43)
    austbot authored Feb 21, 2023
    Copy the full SHA
    4ddc668 View commit details
  2. add missing files

    austbot committed Feb 21, 2023
    Copy the full SHA
    654001a View commit details

Commits on Mar 7, 2023

  1. Copy the full SHA
    95300f1 View commit details

Commits on Mar 10, 2023

  1. Copy the full SHA
    678b422 View commit details
  2. Bump version to 1.5.1 (#46)

    Co-authored-by: vovkman <liam.vovk@gmail.com>
    NicolasPennie and vovkman authored Mar 10, 2023
    Copy the full SHA
    d97f995 View commit details

Commits on Mar 15, 2023

  1. Updating readme. (#48)

    Juanito87 authored Mar 15, 2023
    Copy the full SHA
    c299f3d View commit details
  2. Copy the full SHA
    c978581 View commit details

Commits on Mar 22, 2023

  1. Copy the full SHA
    e0c7212 View commit details

Commits on Mar 28, 2023

  1. Copy the full SHA
    8538e83 View commit details

Commits on Mar 29, 2023

  1. Copy the full SHA
    b226055 View commit details

Commits on Jun 29, 2023

  1. Copy the full SHA
    4499925 View commit details
  2. Copy the full SHA
    317dd0f View commit details

Commits on Jul 18, 2023

  1. Fixes and updates from Helius fork (#60)

    Co-authored-by: Tahsin Tunan <tahsintunan@gmail.com>
    NicolasPennie and tahsintunan authored Jul 18, 2023
    Copy the full SHA
    64c0a3f View commit details

Commits on Aug 2, 2023

  1. Copy the full SHA
    716d743 View commit details

Commits on Aug 3, 2023

  1. Copy the full SHA
    9f95602 View commit details

Commits on Aug 14, 2023

  1. Copy the full SHA
    f76a388 View commit details
  2. Copy the full SHA
    62fd0cf View commit details
  3. Copy the full SHA
    a7a1025 View commit details
  4. Revert "Manually downgrading plerkle serialization version so I can b…

    …ump with cargo release"
    
    This reverts commit a7a1025.
    danenbm committed Aug 14, 2023
    Copy the full SHA
    87a4071 View commit details

Commits on Feb 28, 2024

  1. Copy the full SHA
    95ec22b View commit details

Commits on Mar 5, 2024

  1. Copy the full SHA
    0bf3c81 View commit details
  2. Copy the full SHA
    bc79f34 View commit details
  3. Copy the full SHA
    ce2f150 View commit details

Commits on Aug 8, 2024

  1. feat: update solana crates (#74)

    Co-authored-by: Vadim <grozinok@gmail.com>
    rwwwx and n00m4d authored Aug 8, 2024
    Copy the full SHA
    dd8744b View commit details

Commits on Aug 9, 2024

  1. Update versions (#75)

    danenbm authored Aug 9, 2024
    Copy the full SHA
    26707ee View commit details
  2. Copy the full SHA
    b8caf4e View commit details
  3. Fix dockerfile version

    danenbm committed Aug 9, 2024
    Copy the full SHA
    4ce246f View commit details

Commits on Oct 17, 2024

  1. MTG-661 Add redis pool messenger (#81)

    Co-authored-by: rwwwx <vlad.matiukhin@gmail.com>
    n00m4d and rwwwx authored Oct 17, 2024
    Copy the full SHA
    63ae0d3 View commit details
  2. Copy the full SHA
    cb15a94 View commit details

Commits on Nov 7, 2024

  1. Copy the full SHA
    0f53346 View commit details

Commits on Jan 27, 2025

  1. Copy the full SHA
    48e3158 View commit details

Commits on Jan 28, 2025

  1. Copy the full SHA
    0297bd2 View commit details

Commits on Jan 31, 2025

  1. Copy the full SHA
    ae90a2b View commit details

Commits on Feb 4, 2025

  1. feat(ci): rework Dockerfile to use cargo chef (#90)

    * Use cargo chef in Dockerfile to prevent frequent full rebuilds
    * Fix .env loading issue for Docker-based launch ("path not found")
    armyhaylenko authored Feb 4, 2025
    Copy the full SHA
    b1be37c View commit details

Commits on Feb 7, 2025

  1. Copy the full SHA
    bae5e43 View commit details

Commits on Feb 10, 2025

  1. Copy the full SHA
    ce6a79d View commit details

Commits on Mar 4, 2025

  1. Copy the full SHA
    d33f83d View commit details

Commits on Mar 7, 2025

  1. Copy the full SHA
    b1f7477 View commit details
Showing with 9,264 additions and 2,970 deletions.
  1. +6 −1 .dockerignore
  2. +9 −0 .editorconfig
  3. +8 −0 .env.example
  4. +8 −92 .github/workflows/release.yml
  5. +6 −7 .github/workflows/test.yml
  6. +4 −0 .gitignore
  7. +4,080 −778 Cargo.lock
  8. +4 −2 Cargo.toml
  9. +30 −0 Dockerfile
  10. +19 −0 Makefile
  11. +72 −29 README.md
  12. +9 −9 Solana.Dockerfile
  13. +10 −0 accounts-selector-config.json
  14. +2 −2 ci/cargo-build-test.sh
  15. +6 −7 ci/rust-version.sh
  16. +17 −0 geyser-config.json
  17. +16 −13 plerkle/Cargo.toml
  18. +13 −0 plerkle/src/config.rs
  19. +12 −0 plerkle/src/error.rs
  20. +494 −157 plerkle/src/geyser_plugin_nft.rs
  21. +2 −2 plerkle/src/lib.rs
  22. +13 −0 plerkle/src/metrics.rs
  23. +7 −3 plerkle_messenger/Cargo.toml
  24. +31 −0 plerkle_messenger/Readme.md
  25. +5 −4 plerkle_messenger/src/lib.rs
  26. +10 −0 plerkle_messenger/src/metrics.rs
  27. +54 −15 plerkle_messenger/src/plerkle_messenger.rs
  28. +15 −0 plerkle_messenger/src/redis/mod.rs
  29. +254 −206 plerkle_messenger/src/{ → redis}/redis_messenger.rs
  30. +206 −0 plerkle_messenger/src/redis/redis_pool_messenger.rs
  31. +7 −5 plerkle_serialization/Cargo.toml
  32. +4 −0 plerkle_serialization/compiled_instruction.fbs
  33. +227 −283 plerkle_serialization/src/account_info_generated.rs
  34. +356 −433 plerkle_serialization/src/block_info_generated.rs
  35. +50 −44 plerkle_serialization/src/common_generated.rs
  36. +230 −165 plerkle_serialization/src/compiled_instruction_generated.rs
  37. +3 −0 plerkle_serialization/src/deserializer/mod.rs
  38. +197 −0 plerkle_serialization/src/deserializer/solana.rs
  39. +6 −0 plerkle_serialization/src/error.rs
  40. +3 −3 plerkle_serialization/src/lib.rs
  41. +1 −1 plerkle_serialization/src/serializer/mod.rs
  42. +227 −23 plerkle_serialization/src/serializer/serializer_stable.rs
  43. +188 −216 plerkle_serialization/src/slot_status_info_generated.rs
  44. +1 −3 plerkle_serialization/src/solana_geyser_plugin_interface_shims.rs
  45. +535 −465 plerkle_serialization/src/transaction_info_generated.rs
  46. +16 −1 plerkle_serialization/transaction_info.fbs
  47. +92 −0 plerkle_snapshot/Cargo.toml
  48. +202 −0 plerkle_snapshot/LICENSE.md
  49. +34 −0 plerkle_snapshot/README.md
  50. +288 −0 plerkle_snapshot/src/append_vec.rs
  51. +175 −0 plerkle_snapshot/src/archived.rs
  52. +67 −0 plerkle_snapshot/src/bin/solana-snapshot-etl/accounts_selector.rs
  53. +166 −0 plerkle_snapshot/src/bin/solana-snapshot-etl/geyser.rs
  54. +192 −0 plerkle_snapshot/src/bin/solana-snapshot-etl/main.rs
  55. +84 −0 plerkle_snapshot/src/bin/solana-snapshot-etl/mpl_metadata.rs
  56. +130 −0 plerkle_snapshot/src/lib.rs
  57. +49 −0 plerkle_snapshot/src/parallel.rs
  58. +127 −0 plerkle_snapshot/src/solana.rs
  59. +118 −0 plerkle_snapshot/src/unpacked.rs
  60. +1 −1 rust-toolchain.toml
  61. +66 −0 scripts/docker-entrypoint.sh
7 changes: 6 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -6,4 +6,9 @@ node-modules
ledger
.anchor
docker/geyser-outputs
docker/solana-outputs
docker/solana-outputs
snapshot/
.env
Dockerfile
Solana.Dockerfile
Makefile
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[*]
charset = utf-8
end_of_line = lf
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true

[*.sh]
indent_size = 2
8 changes: 8 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SNAPSHOTDIR=./snapshot
# if running locally, the program will fail parsing .env, since the value below must be enclosed in quotes.
# make sure to do so if not using Docker.
PLUGIN_MESSENGER_CONFIG={messenger_type="Redis", connection_config={redis_connection_str="redis://:pass@redis.app:6379"}}

# please do not remove the following line from this example
# remove when creating the actual env file
# vim: set ft=bash
100 changes: 8 additions & 92 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -2,22 +2,17 @@ on:
push:
tags:
- "v*"
pull_request:
paths:
- ".github/workflows/release.yml"

env:
CARGO_TERM_COLOR: always
IMAGE_NAME: plerkle-test-validator
RUST_VERSION: 1.59.0
SOLANA_VERSION_STABLE: v1.13.6
RUST_VERSION_REGRET: 1.64.0
SOLANA_VERSION_REGRET: v1.14.13
RUST_VERSION: 1.83.0
SOLANA_VERSION_STABLE: v2.1.11
jobs:
release-stable:
runs-on: buildjet-8vcpu-ubuntu-2004
runs-on: ubuntu-20-04-8-cores
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set env vars
run: |
source ci/env.sh
@@ -43,7 +38,7 @@ jobs:
run: |
echo "CI_TAG=${GITHUB_REF#refs/*/}" >> "$GITHUB_ENV"
echo "CI_OS_NAME=linux" >> "$GITHUB_ENV"
cargo build --release
cargo build --release --locked
- name: Build release tarball
run: ./ci/create-tarball.sh
- name: Publish to crates registry
@@ -66,68 +61,15 @@ jobs:
solana ${{ env.SOLANA_VERSION_STABLE }}
rust ${{ env.RUST_VERSION }}
files: |
${{ env.GEYSER_PLUGIN_NAME }}-release-*
release-regret:
runs-on: buildjet-8vcpu-ubuntu-2004
steps:
- uses: actions/checkout@v2
- name: Set env vars
run: |
source ci/env.sh
echo "GEYSER_PLUGIN_NAME=$plugin_name" | tee -a $GITHUB_ENV
echo "GEYSER_PLUGIN_LIB=lib${plugin_lib_name}" | tee -a $GITHUB_ENV
- if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get upgrade
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main"
sudo apt-get update
sudo apt-get install -y libudev-dev libssl-dev libsasl2-dev libzstd-dev
sudo apt-get install -y openssl --allow-unauthenticated
sudo apt-get install -y libssl1.1 --allow-unauthenticated
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION_REGRET }}
override: true
profile: minimal
components: rustfmt
- name: Build Plugin
run: |
echo "CI_TAG=${GITHUB_REF#refs/*/}" >> "$GITHUB_ENV"
echo "CI_OS_NAME=linux" >> "$GITHUB_ENV"
cargo build --release
- name: Build release tarball
run: ./ci/create-tarball.sh
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION_REGRET }}
override: true
profile: minimal
components: rustfmt
- name: Build release tarball
run: ./ci/create-tarball.sh
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
name: UNSTABLE ${{ env.CI_TAG }}
body: |
## UNSTABLE VERSION:
Reccomended for Devnet, Testnet
${{ env.GEYSER_PLUGIN_NAME }} ${{ env.CI_TAG }}
solana ${{ env.SOLANA_VERSION_REGRET }}
rust ${{ env.RUST_VERSION_REGRET }}
files: |
${{ env.GEYSER_PLUGIN_NAME }}-release-*
${{ env.GEYSER_PLUGIN_NAME }}-release-*
push-stable:
runs-on: ubuntu-latest
needs: release-stable
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build image
run: docker build . --file Solana.Dockerfile --tag $IMAGE_NAME --label 'runnumber=${GITHUB_RUN_ID}'
- name: Log in to registry
@@ -145,30 +87,4 @@ jobs:
export TAG=$VERSION-${{ env.RUST_VERSION }}-${{ env.SOLANA_VERSION_STABLE }}
echo VERSION=$TAG
docker tag $IMAGE_NAME $IMAGE_ID:$TAG
docker push $IMAGE_ID:$TAG
push-regret:
runs-on: ubuntu-latest
needs: release-regret
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v3
- name: Build image
run: docker build --build-arg RUST_VERSION=${{ env.RUST_VERSION_REGRET }} --build-arg SOLANA_VERSION=v${{ env.SOLANA_VERSION_REGRET }} . --file Solana.Dockerfile --tag $IMAGE_NAME --label 'runnumber=${GITHUB_RUN_ID}'
- name: Log in to registry
run: echo '${{ secrets.GITHUB_TOKEN }}' | docker login ghcr.io -u $ --password-stdin
- name: Push image Stable
if: startsWith(github.ref, 'refs/tags/')
run: |
CI_TAG=${GITHUB_REF#refs/*/}
IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME
# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
# Strip git ref prefix from version
VERSION=$CI_TAG
echo IMAGE_ID=$IMAGE_ID
export TAG=$VERSION-${{ env.RUST_VERSION_REGRET }}-${{ env.SOLANA_VERSION_REGRET }}
echo VERSION=$TAG
docker tag $IMAGE_NAME $IMAGE_ID:$TAG
docker push $IMAGE_ID:$TAG
docker push $IMAGE_ID:$TAG
13 changes: 6 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -12,16 +12,14 @@ on:
env:
CARGO_TERM_COLOR: always
IMAGE_NAME: plerkle-test-validator
RUST_VERSION: 1.59.0
SOLANA_VERSION_STABLE: v1.13.6
RUST_VERSION_REGRET: 1.64.0
SOLANA_VERSION_REGRET: v1.14.13
RUST_VERSION: 1.83.0
SOLANA_VERSION_STABLE: v2.1.11

jobs:
test-stable:
runs-on: buildjet-4vcpu-ubuntu-2004
runs-on: ubuntu-20-04-8-cores
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set env vars
run: |
source ci/env.sh
@@ -37,13 +35,14 @@ jobs:
sudo apt-get install -y libudev-dev libssl-dev libsasl2-dev libzstd-dev
sudo apt-get install -y openssl --allow-unauthenticated
sudo apt-get install -y libssl1.1 --allow-unauthenticated
sudo apt-get install -y protobuf-compiler
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
override: true
profile: minimal
components: rustfmt, clippy
- uses: actions/cache@v2
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -20,3 +20,7 @@ test-ledger
*error.log
*iml
programs
docker/geyser-outputs
docker/solana-outputs
.env
snapshot
Loading