Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
1157953
Add BubblegumV2 plugin and UpdateCollectionInfo instruction (#225)
danenbm May 13, 2025
a1460e5
Update Solana and Rust versions used by CI (#229)
danenbm May 13, 2025
7e40184
feat: implement freeze execute (#232)
stranzhay Jun 20, 2025
7bf8fa5
Bumping umi version (#239)
blockiosaurus Jul 17, 2025
7022f76
Force bump version.
blockiosaurus Jul 17, 2025
8614f4b
Stranzhay/upgrade to solana 2 (#236)
stranzhay Aug 25, 2025
f3d50b4
Bumping anchor version and adding discrim for compatibility (#245)
blockiosaurus Sep 5, 2025
6c76673
Removing unused lib type (#246)
blockiosaurus Sep 9, 2025
4917f62
Adding permanent freeze execute plugin (#247)
blockiosaurus Sep 16, 2025
276f2a2
Force bump JS version
blockiosaurus Sep 16, 2025
1a68114
fix: operator precedence bug in UpdateDelegate revoke authority (#253)
AdeshAtole Feb 11, 2026
e021ca4
Add tests for PR 253: UpdateDelegate revoke authority operator preced…
blockiosaurus Feb 12, 2026
43ac87e
Adding an Agent Identity External Plugin (#258)
blockiosaurus Mar 6, 2026
29ae8ee
Adding account owner check to be thorough
blockiosaurus Mar 6, 2026
51c6f0a
Adding JS ownership tests
blockiosaurus Mar 6, 2026
1968e3d
Adding mollusk tests
blockiosaurus Mar 6, 2026
9ba1a62
Clearer testing
blockiosaurus Mar 7, 2026
0813a11
Merge pull request #14 from metaplex-foundation/chore/account-owner-c…
blockiosaurus Mar 7, 2026
fa8ccdd
Merge branch 'main' of github.com:metaplex-foundation/mpl-core
blockiosaurus Mar 7, 2026
18cf9f8
Fixing CI issue
blockiosaurus Mar 7, 2026
0078f56
Identity plugin should only be addable by Identity Program (#261)
blockiosaurus Mar 11, 2026
fc8b936
Bump version
blockiosaurus Mar 12, 2026
6e29738
Adding execute delegation capabilities (#262)
blockiosaurus Mar 12, 2026
5808e4d
Removing double validation (#220)
blockiosaurus Mar 19, 2026
808b4af
Merge branch 'main' of https://github.com/metaplex-foundation/mpl-core
blockiosaurus Mar 20, 2026
fbecd14
Bump version
blockiosaurus Mar 23, 2026
bb06817
Adding ability for execute signer to pay fees (#264)
blockiosaurus Mar 24, 2026
ebe710e
Adding exec delegate helper to TS function (#265)
blockiosaurus Mar 24, 2026
3cb7b06
Update publish of js
blockiosaurus Mar 26, 2026
f367f40
Fixing execute helper dropping signers (#267)
blockiosaurus Apr 2, 2026
9afdae2
chore: release JS client v1.9.0 (#266)
github-actions[bot] Apr 2, 2026
3939d71
Groups final (1) (#231)
stranzhay Apr 15, 2026
4f97997
Merge security branch (#270)
danenbm Apr 16, 2026
6f2f577
chore: bump rust client version to solana 3.0 (#272)
stranzhay Apr 17, 2026
4fa97e2
Merge remote-tracking branch 'origin/main' into claude/resolve-pr-222…
claude Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/.env
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
CARGO_TERM_COLOR=always
NODE_VERSION=20.x
PROGRAMS=["mpl-core"]
RUST_VERSION=1.75.0
SOLANA_VERSION=1.17.25
RUST_VERSION=1.88.0
SOLANA_VERSION=2.3.5
COMMIT_USER_NAME=github-actions
COMMIT_USER_EMAIL=github-actions@github.com
DEPLOY_SOLANA_VERSION=1.18.14
DEPLOY_SOLANA_VERSION=2.3.5
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
# We use pnpm for package management.
- package-ecosystem: 'npm'
# We only have a package.json in the root.
directory: '/'
# Check weekly to prevent too many PRs.
schedule:
interval: 'weekly'
allow:
# Starting slow by only checking our own packages for updates.
- dependency-name: '@metaplex-foundation/*'
144 changes: 76 additions & 68 deletions .github/workflows/build-programs.yml
Original file line number Diff line number Diff line change
@@ -1,81 +1,89 @@
name: Build Programs

on:
workflow_call:
inputs:
rust:
type: string
solana:
type: string
git_ref:
type: string
workflow_dispatch:
inputs:
rust:
description: Rust version
default: 1.70.0
required: true
type: string
solana:
description: Solana version
default: 1.16.17
required: true
type: string
workflow_call:
inputs:
rust:
type: string
solana:
type: string
git_ref:
type: string
workflow_dispatch:
inputs:
rust:
description: Rust version
default: 1.83.0
required: true
type: string
solana:
description: Solana version
default: 2.2.1
required: true
type: string

env:
CACHE: true
CACHE: true

jobs:
build_programs:
name: Build
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.git_ref }}
build_programs:
name: Build
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.git_ref }}

- name: Load environment variables
run: cat .github/.env >> $GITHUB_ENV
- name: Load environment variables
run: cat .github/.env >> $GITHUB_ENV

- name: Install Rust
uses: metaplex-foundation/actions/install-rust@v1
with:
toolchain: ${{ inputs.rust || env.RUST_VERSION }}
- name: Install Rust
uses: metaplex-foundation/actions/install-rust@v1
with:
toolchain: ${{ inputs.rust || env.RUST_VERSION }}

- name: Install Solana
uses: metaplex-foundation/actions/install-solana@v1
with:
version: ${{ inputs.solana || env.SOLANA_VERSION }}
cache: ${{ env.CACHE }}
- name: Install Solana
uses: metaplex-foundation/actions/install-solana@v1
with:
version: ${{ inputs.solana || env.SOLANA_VERSION }}
cache: ${{ env.CACHE }}

- name: Cache program dependencies
if: env.CACHE == 'true'
uses: metaplex-foundation/actions/cache-programs@v1
- name: Install modern SBF build tools
run: |
cargo install solana-cargo-build-sbf --version 4.0.0 --locked
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"

- name: Build programs
shell: bash
working-directory: configs/scripts/program
run: ./build.sh
env:
PROGRAMS: ${{ env.PROGRAMS }}
- name: Install Protobuf Compiler
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

- name: Sanitize Ref
id: sanitize
shell: bash
run: |
REF="${{ inputs.git_ref }}"
if [ -z "$REF" ]; then
REF="default"
fi
SANITIZED=${REF//\//-}
echo "sanitized=$SANITIZED" >> "$GITHUB_OUTPUT"

- name: Upload program builds
uses: actions/upload-artifact@v4
with:
name: program-builds-${{ steps.sanitize.outputs.sanitized }}
# First wildcard ensures exported paths are consistently under the programs folder.
path: ./program*/.bin/*.so
include-hidden-files: true
if-no-files-found: error
- name: Cache program dependencies
if: env.CACHE == 'true'
uses: metaplex-foundation/actions/cache-programs@v1

- name: Build programs
shell: bash
working-directory: configs/scripts/program
run: ./build.sh
env:
PROGRAMS: ${{ env.PROGRAMS }}

- name: Sanitize Ref
id: sanitize
shell: bash
run: |
REF="${{ inputs.git_ref }}"
if [ -z "$REF" ]; then
REF="default"
fi
SANITIZED=${REF//\//-}
echo "sanitized=$SANITIZED" >> "$GITHUB_OUTPUT"

- name: Upload program builds
uses: actions/upload-artifact@v4
with:
name: program-builds-${{ steps.sanitize.outputs.sanitized }}
# First wildcard ensures exported paths are consistently under the programs folder.
path: ./program*/.bin/*.so
include-hidden-files: true
if-no-files-found: error
125 changes: 64 additions & 61 deletions .github/workflows/build-rust-client.yml
Original file line number Diff line number Diff line change
@@ -1,75 +1,78 @@
name: Build Rust Client

on:
workflow_call:
inputs:
rust:
type: string
solana:
type: string
git_ref:
type: string
workflow_dispatch:
inputs:
rust:
description: Rust version
default: 1.70.0
required: true
type: string
solana:
description: Solana version
default: 1.16.17
required: true
type: string
workflow_call:
inputs:
rust:
type: string
solana:
type: string
git_ref:
type: string
workflow_dispatch:
inputs:
rust:
description: Rust version
default: 1.83.0
required: true
type: string
solana:
description: Solana version
default: 2.2.1
required: true
type: string

env:
CACHE: true
CACHE: true

jobs:
build_sdk:
name: Build
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.git_ref }}
build_sdk:
name: Build
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.git_ref }}

- name: Load environment variables
run: cat .github/.env >> $GITHUB_ENV
- name: Load environment variables
run: cat .github/.env >> $GITHUB_ENV

- name: Install Rust
uses: metaplex-foundation/actions/install-rust@v1
with:
toolchain: ${{ inputs.rust || env.RUST_VERSION }}
- name: Install Rust
uses: metaplex-foundation/actions/install-rust@v1
with:
toolchain: ${{ inputs.rust || env.RUST_VERSION }}

- name: Install Solana
uses: metaplex-foundation/actions/install-solana@v1
with:
version: ${{ inputs.solana || env.SOLANA_VERSION }}
cache: ${{ env.CACHE }}
- name: Install Solana
uses: metaplex-foundation/actions/install-solana@v1
with:
version: ${{ inputs.solana || env.SOLANA_VERSION }}
cache: ${{ env.CACHE }}

- name: Cache Rust client test dependencies
uses: metaplex-foundation/actions/cache-crate@v1
with:
folder: ./clients/rust
key: rust-client-test
- name: Install Protobuf Compiler
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler

- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --all-features --no-deps --manifest-path ./clients/rust/Cargo.toml
- name: Cache Rust client test dependencies
uses: metaplex-foundation/actions/cache-crate@v1
with:
folder: ./clients/rust
key: rust-client-test

- name: Build Rust client
shell: bash
working-directory: clients/rust
run: cargo build --all-features --release
- name: Run cargo clippy (default feature set)
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --no-deps --manifest-path ./clients/rust/Cargo.toml

- name: Upload Rust client builds
uses: actions/upload-artifact@v4
with:
name: rust-client-builds
# First wildcard ensures exported paths are consistently under the clients folder.
path: ./targe*/release/*mpl_core*
if-no-files-found: error
- name: Build Rust client (default feature set)
shell: bash
working-directory: clients/rust
run: cargo build --release

- name: Upload Rust client builds
uses: actions/upload-artifact@v4
with:
name: rust-client-builds
# First wildcard ensures exported paths are consistently under the clients folder.
path: ./targe*/release/*mpl_core*
if-no-files-found: error
Loading
Loading