Go to file
Conner Gallagher 1fe1eebb77 cli cleanup 2022-05-19 11:21:56 -06:00
.github/workflows init 2022-05-17 10:42:04 -06:00
.vscode init 2022-05-17 10:42:04 -06:00
cli cli cleanup 2022-05-19 11:21:56 -06:00
directory init 2022-05-17 10:42:04 -06:00
libraries cli cleanup 2022-05-19 11:21:56 -06:00
oracles init 2022-05-17 10:42:04 -06:00
packages init 2022-05-17 10:42:04 -06:00
programs refactored example programs 2022-05-18 15:00:17 -06:00
scripts refactored example programs 2022-05-18 15:00:17 -06:00
website wip 2022-05-19 09:48:20 -06:00
.eslintrc.json refactored example programs 2022-05-18 15:00:17 -06:00
.gitignore refactored example programs 2022-05-18 15:00:17 -06:00
Anchor.toml refactored example programs 2022-05-18 15:00:17 -06:00
Cargo.toml refactored example programs 2022-05-18 15:00:17 -06:00
README.md wip 2022-05-19 09:48:20 -06:00
lerna.json init 2022-05-17 10:42:04 -06:00
package.json refactored example programs 2022-05-18 15:00:17 -06:00
tsconfig.json refactored example programs 2022-05-18 15:00:17 -06:00
yarn.lock cli cleanup 2022-05-19 11:05:22 -06:00

README.md

switchboard-v2

A monorepo containing APIs, Utils, and examples for Switchboard V2.

Table of Contents

Libraries

Package Description
Typescript Typescript client to interact with Switchboard V2.
Typescript Lite Typescript "Lite" client to deserialize aggregator accounts
Python Python client to interact with Switchboard V2.
Rust Rust client to interact with Switchboard V2.
CLI Command Line Interface (CLI) to interact with Switchboard V2.

Program Examples

Package Description
anchor-feed-parser Anchor example program demonstrating how to deserialize and read an onchain aggregator.
spl-feed-parser Solana Program Library example demonstrating how to deserialize and read an onchain aggregator.
anchor-vrf-parser Anchor example program demonstrating how to deserialize and read an onchain verifiable randomness function (VRF) account.

Client Examples

Package Description
feed-parser Typescript example demonstrating how to read an aggregator account.
feed-walkthrough Typescript example demonstrating how to create and manage your own oracle queue.
lease-observer Typescript example demonstrating how to send PagerDuty alerts when your aggregator lease is low on funds.

Dependencies

Setup

Typescript Setup

yarn install
yarn workspaces run build
yarn workspace @switchboard-xyz/switchboardv2-cli link

Rust Setup

The following command will build the anchor projects and update the program IDs

anchor build
node scripts/setup-example-programs
anchor test

Python Setup

pip install poetry
cd libraries/py
poetry install

Localnet Testing Setup

You may wish to run your own oracle for integration test. The following command will create a devnet Switchboard environment and output a Switchboard.env file to assist copying

sbv2 localnet:env --keypair ../payer-keypair.json
chmod +x ./start-local-validator.sh && chmod +x ./start-oracle.sh

Test

Libraries

yarn test:libraries

Programs

sbv2 localnet:env --keypair ../payer-keypair.json
chmod +x ./start-local-validator.sh && chmod +x ./start-oracle.sh

Run each of the commands in a separate shell

  • ./start-local-validator.sh
  • ./start-oracle.sh
  • yarn test:anchor

Website

yarn workspace website start