|
1 |
| -[![Build status][travis-image]][travis-url] |
2 |
| - |
3 |
| -[travis-image]: |
4 |
| -https://travis-ci.org/solana-labs/solana-program-library.svg?branch=master |
5 |
| -[travis-url]: https://travis-ci.org/solana-labs/solana-program-library |
6 |
| - |
7 | 1 | # Solana Program Library
|
8 | 2 |
|
9 | 3 | The Solana Program Library (SPL) is a collection of on-chain programs targeting
|
10 | 4 | the [Sealevel parallel
|
11 | 5 | runtime](https://medium.com/solana-labs/sealevel-parallel-processing-thousands-of-smart-contracts-d814b378192).
|
12 | 6 | These programs are tested against Solana's implementation of Sealevel,
|
13 |
| -solana-runtime, and deployed to its mainnet. As others implement Sealevel, we |
14 |
| -will graciously accept patches to ensure the programs here are portable across |
15 |
| -all implementations. |
| 7 | +solana-runtime, and some are deployed to Mainnet Beta. As others implement |
| 8 | +Sealevel, we will graciously accept patches to ensure the programs here are |
| 9 | +portable across all implementations. |
16 | 10 |
|
17 | 11 | For more information see the [SPL documentation](https://spl.solana.com) and the [Token TypeDocs](https://solana-labs.github.io/solana-program-library/token/js/).
|
18 | 12 |
|
| 13 | +## Audits |
| 14 | + |
| 15 | +Only a subset of programs within the Solana Program Library repo are deployed to |
| 16 | +the Solana Mainnet Beta. Currently, this includes: |
| 17 | + |
| 18 | +| Program | Last Audit Date | Version | |
| 19 | +| --- | --- | --- | |
| 20 | +| [token](https://github.com/solana-labs/solana-program-library/tree/master/token/program) | 2022-08-04 (Peer review) | [3.4.0](https://github.com/solana-labs/solana-program-library/releases/tag/token-v3.4.0) | |
| 21 | +| [associated-token-account](https://github.com/solana-labs/solana-program-library/tree/master/associated-token-account/program) | 2022-08-04 (Peer review) | [1.1.0](https://github.com/solana-labs/solana-program-library/releases/tag/associated-token-account-v1.1.0) | |
| 22 | +| [token-2022](https://github.com/solana-labs/solana-program-library/tree/master/token/program-2022) | [2022-12-05](https://github.com/solana-labs/security-audits/blob/master/spl/ZellicToken2022Audit-2022-12-05.pdf) | [0.5.0](https://github.com/solana-labs/solana-program-library/releases/tag/token-2022-v0.5.0) | |
| 23 | +| [governance](https://github.com/solana-labs/solana-program-library/tree/master/governance/program) | N/A | [3.1.0](https://github.com/solana-labs/solana-program-library/releases/tag/governance-v3.1.0) | |
| 24 | +| [stake-pool](https://github.com/solana-labs/solana-program-library/tree/master/stake-pool/program) | [2023-01-31](https://github.com/solana-labs/security-audits/blob/master/spl/NeodymeStakePoolAudit-2023-01-31.pdf) | [1.0.0]() | |
| 25 | +| [account-compression](https://github.com/solana-labs/solana-program-library/tree/master/account-compression/programs/account-compression) | [2022-12-05](https://github.com/solana-labs/security-audits/blob/master/spl/OtterSecAccountCompressionAudit-2022-12-03.pdf) | [0.1.3](https://github.com/solana-labs/solana-program-library/releases/tag/account-compression-v0.1.3) | |
| 26 | +| [shared-memory](https://github.com/solana-labs/solana-program-library/tree/master/shared-memory/program) | [2021-02-25](https://github.com/solana-labs/security-audits/blob/master/spl/KudelskiTokenSwapSharedMemAudit-2021-02-25.pdf) | [1.0.0](https://github.com/solana-labs/solana-program-library/commit/b40e0dd3fd6c0e509dc1e8dd3da0a6d609035bbd) | |
| 27 | +| [feature-proposal](https://github.com/solana-labs/solana-program-library/tree/master/feature-proposal/program) | Not audited | [1.0.0](https://github.com/solana-labs/solana-program-library/releases/tag/feature-proposal-v1.0.0) | |
| 28 | +| [name-service](https://github.com/solana-labs/solana-program-library/tree/master/name-service/program) | Not audited | [0.3.0](https://github.com/solana-labs/solana-program-library/releases/tag/name-service-v0.3.0) | |
| 29 | +| [memo](https://github.com/solana-labs/solana-program-library/tree/master/memo/program) | Not audited | [3.0.0](https://github.com/solana-labs/solana-program-library/releases/tag/memo-v3.0.0) | |
| 30 | + |
| 31 | +All other programs may be updated from time to time. These programs are not |
| 32 | +audited, so fork and deploy them at your own risk. Here is the full list of |
| 33 | +unaudited programs: |
| 34 | + |
| 35 | +* [binary-option](https://github.com/solana-labs/solana-program-library/tree/master/binary-option/program) |
| 36 | +* [binary-oracle-pair](https://github.com/solana-labs/solana-program-library/tree/master/binary-oracle-pair/program) |
| 37 | +* [instruction-padding](https://github.com/solana-labs/solana-program-library/tree/master/instruction-padding/program) |
| 38 | +* [managed-token](https://github.com/solana-labs/solana-program-library/tree/master/managed-token/program) |
| 39 | +* [record](https://github.com/solana-labs/solana-program-library/tree/master/record/program) |
| 40 | +* [stateless-asks](https://github.com/solana-labs/solana-program-library/tree/master/stateless-asks/program) |
| 41 | +* [token-lending](https://github.com/solana-labs/solana-program-library/tree/master/token-lending/program) |
| 42 | +* [token-swap](https://github.com/solana-labs/solana-program-library/tree/master/token-swap/program) |
| 43 | +* [token-upgrade](https://github.com/solana-labs/solana-program-library/tree/master/token-upgrade/program) |
| 44 | + |
| 45 | +More information about the repository's security policy at |
| 46 | +[SECURITY.md](https://github.com/solana-labs/solana-program-library/tree/master/SECURITY.md). |
| 47 | + |
| 48 | +The [security-audits repo](https://github.com/solana-labs/security-audits) contains |
| 49 | +all past and present program audits. |
19 | 50 |
|
20 | 51 | ## Development
|
21 | 52 |
|
@@ -68,16 +99,17 @@ Integration testing may be performed via the per-project .js bindings. See the
|
68 | 99 | [token program's js project](token/js) for an example.
|
69 | 100 |
|
70 | 101 | ### Common Issues
|
| 102 | + |
71 | 103 | Solutions to a few issues you might run into are mentioned here.
|
72 | 104 |
|
73 | 105 | 1. `Failed to open: ../../deploy/spl_<program-name>.so`
|
74 | 106 |
|
75 | 107 | Update your Rust and Cargo to the latest versions and re-run `cargo build-sbf` in the relevant `<program-name>` directory,
|
76 | 108 | or run it at the repository root to rebuild all on-chain programs.
|
77 | 109 |
|
78 |
| -2. [Error while loading shared libraries. (libssl.so.1.1)](https://github.com/project-serum/anchor/issues/1831) |
| 110 | +2. [Error while loading shared libraries. (libssl.so.1.1)](https://solana.stackexchange.com/q/3029/36) |
79 | 111 |
|
80 |
| - A working solution was mentioned [here](https://github.com/project-serum/anchor/issues/1831#issuecomment-1109124934). |
| 112 | + A working solution was mentioned [here](https://solana.stackexchange.com/q/3029/36). |
81 | 113 | Install libssl.
|
82 | 114 | ```bash
|
83 | 115 | wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb
|
@@ -110,6 +142,7 @@ $ rustup toolchain install nightly-x86_64-apple-darwin
|
110 | 142 |
|
111 | 143 |
|
112 | 144 | ## Release Process
|
| 145 | + |
113 | 146 | SPL programs are currently tagged and released manually. Each program is
|
114 | 147 | versioned independently of the others, with all new development occurring on
|
115 | 148 | master. Once a program is tested and deemed ready for release:
|
|
0 commit comments