Skip to content

Instantly share code, notes, and snippets.

@gallynaut
gallynaut / bskt_usdc.json
Created January 24, 2024 18:09
BSKT Switchboard Feed
{
"name": "BSKT / USDC",
"tasks": [
{
"cacheTask": {
"cacheItems": [
{
"variableName": "USDC_TO_BSKT_1000",
"job": {
"tasks": [
@gallynaut
gallynaut / solana_weather_function.rs
Created October 10, 2023 16:32
Solana Weather Function
pub use switchboard_solana::get_ixn_discriminator;
pub use switchboard_solana::prelude::*;
pub use switchboard_utils::protos::http::http_task;
pub use switchboard_utils::reqwest;
#[tokio::main(worker_threads = 12)]
async fn main() {
println!("Hello, world!");
let runner = FunctionRunner::from_env(None).unwrap();
@gallynaut
gallynaut / load_node_oracle.ts
Created June 21, 2023 22:52
load NodeOracle from image tag
const oracle = new NodeOracle({
chain: "solana",
// use the latest testnet (devnet) version of the oracle
imageTag: "testnet-2.0.7",
// disables production capabilities like monitoring and alerts
network: "localnet",
rpcUrl: provider.connection.rpcEndpoint,
oracleKey: switchboard.oracle.publicKey.toBase58(),
// path to the payer keypair so the oracle can pay for txns
secretPath: switchboard.walletPath || "~/.config/solana/id.json",
@gallynaut
gallynaut / deribit_btc_iv_1d.json
Created March 22, 2023 16:16
Deribit IV 1Day
{
"name": "Deribit BTC IV - 1D",
"tasks": [
{
"cacheTask": {
"cacheItems": [
{
"variableName": "ENDING_TIMESTAMP",
"job": {
"tasks": [
@gallynaut
gallynaut / coingecko_toucan-protocol.json
Created March 22, 2023 16:10
CoinGecko HTML Params
{
"tasks": [
{
"cacheTask": {
"cacheItems": [
{
"variableName": "CURRENT_TIMESTAMP",
"job": {
"tasks": [
{
@gallynaut
gallynaut / get-balance.ts
Created March 2, 2023 14:51
Fetch Aggregator Balance
import { clusterApiUrl, Connection } from '@solana/web3.js';
import {
AccountNotFoundError,
AggregatorAccount,
LeaseAccount,
SwitchboardProgram,
} from '@switchboard-xyz/solana.js';
async function main() {
const program = await SwitchboardProgram.load(
@gallynaut
gallynaut / httpTaskWithHeaders.json
Last active February 7, 2023 16:36
HttpTask w/ Headers
{
"tasks": [
{
"httpTask": {
"url": "https://mywebsite.org/path",
"method": "METHOD_POST",
"headers": [
{
"key": "MY_HEADER_KEY",
"value": "MY_HEADER_VALUE"
@gallynaut
gallynaut / KcvZpQegBPZBfMq16aj1B6C7L8DegXAK6G1P18ViwNz.json
Created December 16, 2022 16:12
KcvZpQegBPZBfMq16aj1B6C7L8DegXAK6G1P18ViwNz.json
{
"publicKey": "KcvZpQegBPZBfMq16aj1B6C7L8DegXAK6G1P18ViwNz",
"name": "STARS / USD",
"metadata": "",
"queuePubkey": "5JYwqvKkqp35w8Nq3ba4z1WYUeJQ1rB36V8XvaGp6zn1",
"oracleRequestBatchSize": 4,
"minOracleResults": 2,
"minJobResults": 1,
"minUpdateDelaySeconds": 1800,
"startAfter": "0",
@gallynaut
gallynaut / JA1GQW8ta1LjNn3h1vZmhL3fWEdZ6F9QfZHvPB4y7fLm.json
Created December 16, 2022 16:12
JA1GQW8ta1LjNn3h1vZmhL3fWEdZ6F9QfZHvPB4y7fLm.json
{
"publicKey": "JA1GQW8ta1LjNn3h1vZmhL3fWEdZ6F9QfZHvPB4y7fLm",
"name": "GST/USD",
"metadata": "",
"queuePubkey": "5JYwqvKkqp35w8Nq3ba4z1WYUeJQ1rB36V8XvaGp6zn1",
"oracleRequestBatchSize": 3,
"minOracleResults": 2,
"minJobResults": 2,
"minUpdateDelaySeconds": 60,
"startAfter": "0",
@gallynaut
gallynaut / GWHWp77EvL3vDr8G8YtWYAyczJTQSGLWWVKtcVSiDFtJ.json
Created December 16, 2022 16:12
GWHWp77EvL3vDr8G8YtWYAyczJTQSGLWWVKtcVSiDFtJ.json
{
"publicKey": "GWHWp77EvL3vDr8G8YtWYAyczJTQSGLWWVKtcVSiDFtJ",
"name": "LARIX / USD",
"metadata": "",
"queuePubkey": "5JYwqvKkqp35w8Nq3ba4z1WYUeJQ1rB36V8XvaGp6zn1",
"oracleRequestBatchSize": 3,
"minOracleResults": 3,
"minJobResults": 3,
"minUpdateDelaySeconds": 180,
"startAfter": "0",