Skip to content

pyth-network/per

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e548dcc · Jan 29, 2025
Jan 21, 2025
Dec 17, 2024
Jan 23, 2025
Jan 29, 2025
Oct 9, 2024
Jan 29, 2025
Jan 11, 2024
Jan 20, 2025
Jan 21, 2025
Jan 20, 2025
Jan 29, 2025
Jan 24, 2025
Jan 2, 2025
Dec 2, 2024
Nov 28, 2024
Oct 25, 2024
Oct 25, 2024
Oct 25, 2024
Jan 22, 2025
Mar 28, 2024
Jan 29, 2025
Jan 24, 2025
Jan 23, 2025
Jan 21, 2025
Jun 18, 2024
Dec 2, 2024
Jan 21, 2025
Oct 11, 2024
Jan 24, 2025
Dec 2, 2024
Jan 20, 2025
Jan 20, 2025
Dec 16, 2024
Jan 11, 2024

Repository files navigation

Express Relay

SDKs

You can use the following SDKs to integrate with the Express Relay APIs and contracts:

pre-commit hooks

pre-commit is a tool that checks and fixes simple issues (formatting, ...) before each commit. You can install it by following their website. In order to enable checks for this repo run pre-commit install from command-line in the root of this repo.

The checks are also performed in the CI to ensure the code follows consistent formatting.

Development with Tilt

Since express relay is a multi-service project, we use Tilt to manage the development environment. It is a great tool for local development and testing. Tilt requires anvil, forge, poetry, rust, pnpm, and the Solana CLI to be installed on your machine.

Here are the installation instructions for each:

Note that for the Solana CLI, you may need to alter your terminal's PATH variable to include the Solana programs. To make this work with Tilt, you should include the PATH update in your ~/.bashrc or ~/.zshrc file depending on which shell your machine uses.

Run tilt up in the root of the repo to start the development environment. Make sure you installed and build all of the dependencies. Most of them will be installed using pnpm install and pnpm -r build commands in the project root. You can access the ui at http://localhost:10350/.

Here is what tilt up does in order:

  1. [EVM] Starts anvil: local EVM chain to test the contracts with
  2. [EVM] Deploy express relay contracts
  3. [SVM] Builds SVM programs
  4. [SVM] Starts solana-test-validator: Solana localnet to test the programs with
  5. [SVM] Airdrops SOL to searcher, admin, and relayer signer wallet
  6. [SVM] Initializes the SVM programs on the localnet
  7. Start the auction server
  8. [EVM] Start the liquidation monitor
  9. [EVM] Start the simple searcher
  10. [SVM] Submits an SVM transaction bid to the auction server

There are some useful gadgets in Tilt ui for creating new vaults and checking the vault status. You can use them to test the system end to end.

You can modify the services and restart the resources as necessary.

License

The primary license for source codes available in this repo is the Apache 2.0 (Apache-2.0), see LICENSE. Minus the following exceptions: