This repository contains the Address Lookup Table program and its clients:
program: the on-chain Address Lookup Table program (solana-address-lookup-table-program).clients/js: the JS client, generated from the IDL.clients/rust: the Rust client, generated from the IDL.
This repository uses a Makefile for building, testing and linting. Package names are mapped to directories by replacing the first - with a / (for example, clients-js refers to clients/js).
Install the NPM dependencies once to make the Codama renderers available for client generation:
pnpm installBuild the SBF artifact into target/deploy/ with:
make build-sbf-programThe program tests run against the built artifact using Mollusk, so build the program before testing it:
make test-programYou can also format-check and lint any Rust package, for example:
make format-check-program
make clippy-programThe program IDL is checked in at the repository root as idl.json. Regenerate the JS and Rust clients from it with:
make generate-clientsThe following clients are available for the program. You may use the following links to learn more about each client.
The JS client tests load target/deploy/solana_address_lookup_table_program.so into LiteSVM, so build the program first:
make build-sbf-program
make test-js-clients-js