Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 9 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[build]
# Exclude test files with conditional compilation from general cargo check/build
# This prevents rust-analyzer from trying to analyze test-specific features
# across the main workspace
rustflags = []

[target.'cfg(all())']
# Configure specific behavior for SBF tests
# This tells cargo to not require all features to be available in all workspace members
1 change: 1 addition & 0 deletions .github/workflows/no-caching-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
jobs:
no-caching-tests:
name: Reusable
if: true == false
uses: ./.github/workflows/reusable-tests.yaml
with:
cache: false
Expand Down
98 changes: 98 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Publish a release

on:
push:
tags:
- "*"

permissions:
contents: write

env:
CROSS_VERSION: 0.2.5

jobs:
release-linux:
name: Release (Linux)
runs-on: buildjet-32vcpu-ubuntu-2004
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true

- uses: Swatinem/rust-cache@v1

- name: Install cross
uses: supplypike/setup-bin@v3
with:
uri: "https://github.com/cross-rs/cross/releases/download/v${{ env.CROSS_VERSION }}/cross-x86_64-unknown-linux-musl.tar.gz"
name: "cross"
version: "${{ env.CROSS_VERSION }}"

- name: Build (Linux amd64)
run: |
cargo clean
cross build --release --target x86_64-unknown-linux-musl
cp target/x86_64-unknown-linux-musl/release/anchor \
anchor-linux-amd64

- name: Build (Linux arm64)
run: |
cargo clean
cross build --release --target aarch64-unknown-linux-musl
cp target/aarch64-unknown-linux-musl/release/anchor \
anchor-linux-arm64

- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
token: ${{ secrets.PAT_TOKEN }}
files: |
anchor-linux-amd64
anchor-linux-arm64

release-macos:
name: Release (macOS)
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true

- uses: Swatinem/rust-cache@v1

- name: Install Rust aarch64-apple-darwin target
run: |
rustup target add aarch64-apple-darwin

- name: Build (macOS amd64)
run: |
cargo build --release --target x86_64-apple-darwin
cp target/x86_64-apple-darwin/release/anchor \
anchor-macos-amd64

- name: Build (macOS arm64)
run: |
cargo build --release --target aarch64-apple-darwin
cp target/aarch64-apple-darwin/release/anchor \
anchor-macos-arm64

- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
token: ${{ secrets.PAT_TOKEN }}
files: |
anchor-macos-amd64
anchor-macos-arm64
1 change: 1 addition & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ on:
jobs:
tests:
name: Reusable
if: true == false
uses: ./.github/workflows/reusable-tests.yaml
with:
cache: true
Expand Down
7 changes: 6 additions & 1 deletion spl/src/token_interface.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ pub use crate::token_2022::*;
#[cfg(feature = "token_2022_extensions")]
pub use crate::token_2022_extensions::*;

static IDS: [Pubkey; 2] = [spl_token::ID, spl_token_2022::ID];
pub const COMPRESSED_TOKEN_ID: Pubkey = Pubkey::new_from_array([
9, 21, 163, 87, 35, 121, 78, 143, 182, 93, 7, 91, 107, 114, 105, 156, 56, 221, 2, 229, 148,
139, 117, 176, 229, 160, 65, 142, 128, 151, 91, 68,
]);

static IDS: [Pubkey; 3] = [spl_token::ID, spl_token_2022::ID, COMPRESSED_TOKEN_ID];

#[derive(Clone, Debug, Default, PartialEq, Copy)]
pub struct TokenAccount(spl_token_2022::state::Account);
Expand Down