Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
41 changes: 41 additions & 0 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ inputs:
clippy:
description: Install Clippy if `true`. Defaults to `false`.
required: false
purge:
description: Purge unused directories if `true`. Defaults to `false`.
required: false
rustfmt:
description: Install Rustfmt if `true`. Defaults to `false`.
required: false
Expand All @@ -32,6 +35,44 @@ runs:
node-version: 20
cache: 'pnpm'

- name: Purge unused ubuntu runner directories
if: ${{ inputs.purge == 'true' }}
shell: bash
run: |
# If there are still disk space issues, try to add more packages from
# https://github.com/jlumbroso/free-disk-space
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/share/mysql
sudo rm -rf /usr/share/az_*
sudo rm -rf /usr/share/postgresql-common
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/.ghcup
sudo rm -rf /opt/az
sudo rm -rf /opt/pipx
sudo rm -rf /opt/microsoft
sudo rm -rf /opt/google
sudo rm -rf /opt/hostedtoolcache
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/local/lib/heroku
sudo rm -rf /imagegeneration
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo docker image prune --all --force
sudo docker system prune -af
# Clear additional caches that might be large
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
# This packages aren't that big, ~500MB total
#sudo apt-get remove -y '^php.*' --fix-missing
#sudo apt-get remove -y '^dotnet-.*' --fix-missing
#sudo apt-get remove -y '^mongodb-.*' --fix-missing
#sudo apt-get remove -y '^mysql-.*' --fix-missing
sudo apt-get remove -y '^aspnetcore-.*' azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri google-cloud-cli --fix-missing
sudo apt-get autoremove -y
sudo apt-get clean
#sudo swapoff -a
#sudo rm -f /mnt/swapfile

- name: Install Dependencies
run: pnpm install --frozen-lockfile
shell: bash
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,7 @@ jobs:
with:
cargo-cache-key: cargo-test-ptoken
solana: true
purge: true

- name: Restore Program Builds
uses: actions/cache/restore@v4
Expand Down
69 changes: 56 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

42 changes: 42 additions & 0 deletions interface/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[package]
name = "spl-token-interface"
version = "1.0.0"
description = "Solana Program Library Token Interface"
documentation = "https://docs.rs/spl-token-interface"
readme = "README.md"
authors = { workspace = true }
repository = { workspace = true }
license = { workspace = true }
edition = { workspace = true }

[dependencies]
arrayref = "0.3.9"
bytemuck = { version = "1.23.1", features = ["derive"] }
num-derive = "0.4"
num_enum = "0.7.4"
num-traits = { workspace = true }
solana-instruction = "2.2.1"
solana-program-error = "2.2.1"
solana-program-option = "2.2.1"
solana-program-pack = "2.2.1"
solana-pubkey = "2.2.1"
solana-sdk-ids = "2.2.1"
spl-pod = { version = "0.5.1" }
thiserror = "2.0"

[dev-dependencies]
proptest = "1.7"
strum = "0.26"
strum_macros = "0.26"

[lib]
crate-type = ["lib"]

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[lints]
workspace = true

[package.metadata.solana]
program-id = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
14 changes: 14 additions & 0 deletions interface/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Token Interface

A token program interface on the Solana blockchain, usable for fungible and
non-fungible tokens.

This crate provides an interface that third parties can utilize to create and
use their tokens.

Full documentation is available at [https://www.solana-program.com/docs/token](https://www.solana-program.com/docs/token)

## Audit

The audit repository [README](https://github.com/solana-labs/solana-program-library#audits)
contains information about program audits.
Loading