Merge branch 'doc-updates' into main
This commit is contained in:
commit
81f9e9d006
|
@ -1,6 +1,6 @@
|
|||
[provider]
|
||||
# cluster = "devnet"
|
||||
cluster = "localnet"
|
||||
cluster = "devnet"
|
||||
wallet = "../payer-keypair.json"
|
||||
# wallet = "~/.config/solana/id.json"
|
||||
|
||||
|
|
17
README.md
17
README.md
|
@ -51,20 +51,31 @@ anchor build && node ./scripts/setup-example-programs.js
|
|||
|
||||
### 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
|
||||
The SDK supports copying a Switchboard devnet environment to your localnet environment for integration testing. This is useful if you want to see how your program will react to Switchboard data feed updates.
|
||||
|
||||
First, set the _[provider.cluster]_ in `Anchor.toml` to localnet.
|
||||
|
||||
Next, create a Switchboard devnet queue and oracle.
|
||||
|
||||
```
|
||||
sbv2 localnet:env --keypair ../payer-keypair.json -o .switchboard
|
||||
```
|
||||
|
||||
Set the _[provider.cluster]_ in `Anchor.toml` to localnet.
|
||||
This command will output:
|
||||
|
||||
Run each of the commands in a separate shell
|
||||
- **start-local-validator.sh**: starts a local Solana validator with the Switchboard program, IDL, and our devnet environment pre-loaded
|
||||
- **start-oracle.sh**: start a Switchboard oracle and start heartbeating on the localnet queue
|
||||
- **docker-compose.yml**: docker file with the Switchboard oracle environment
|
||||
- **switchboard.env**: contains your Switchboard accounts
|
||||
|
||||
In three separate shells, run the following commands in this order:
|
||||
|
||||
- `./.switchboard/start-local-validator.sh`
|
||||
- `./.switchboard/start-oracle.sh`
|
||||
- `anchor test --skip-local-validator`
|
||||
|
||||
The anchor test are configured to first fetch the account info for the Switchboard DAO controlled devnet permissionless queue. If the account info is not found, it assumes a localnet connection and looks for the `switchboard.env` with your Switchboard environment specific public keys. If a`.switchboard` directory or `switchboard.env` file is not found in the root project directory, it will look 2 levels higher until giving up.
|
||||
|
||||
## Website
|
||||
|
||||
```
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
# Switchboard V2 Mainnet Deployment
|
||||
|
||||
| Account | Public Key |
|
||||
| ------------- | -------------------------------------------- |
|
||||
| Program ID | 2TfB33aLaneQb5TNVwyDz3jSZXS6jdW2ARw1Dgf84XCG |
|
||||
| Program Data | J4CArpsbrZqu1axqQ4AnrqREs3jwoyA1M5LMiQQmAzB9 |
|
||||
| Anchor IDL | CKwZcshn4XDvhaWVH9EXnk3iu19t6t5xP2Sy2pD6TRDp |
|
||||
| Program State | BYM81n8HvTJuqZU1PmTVcwZ9G8uoji7FKM6EaPkwphPt |
|
||||
| Mint | So11111111111111111111111111111111111111112 |
|
|
@ -1,9 +0,0 @@
|
|||
# Switchboard V2 Mainnet Deployment
|
||||
|
||||
| Account | Public Key |
|
||||
| ------------- | ------------------------------------------- |
|
||||
| Program ID | SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f |
|
||||
| Program Data | |
|
||||
| Anchor IDL | |
|
||||
| Program State | |
|
||||
| Mint | So11111111111111111111111111111111111111112 |
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"tasks": [
|
||||
{ "valueTask": { "value": 10 } },
|
||||
{
|
||||
"addTask": {
|
||||
"job": {
|
||||
"tasks": [{ "valueTask": { "value": 15 } }]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"name": "ASG Gold Price",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://data-asg.goldprice.org/dbXRates/USD"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.items[?(@.curr == \"USD\")].xauPrice"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{ "httpTask": { "url": "https://data-asg.goldprice.org/dbXRates/USD" } },
|
||||
{ "jsonParseTask": { "path": "$.items[?(@.curr == \"USD\")].xauPrice" } }
|
||||
]
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{ "httpTask": { "url": "https://data-asg.goldprice.org/dbXRates/USD" } },
|
||||
{ "jsonParseTask": { "path": "$.items[?(@.curr == \"USD\")].xagPrice" } }
|
||||
]
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://gasprices.aaa.com/wp-admin/admin-ajax.php",
|
||||
"method": 2,
|
||||
"headers": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/x-www-form-urlencoded"
|
||||
}
|
||||
],
|
||||
"body": "action=states_cost_data&data%5BlocL%5D=US&data%5BlocR%5D=US"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data.unleaded.[0]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{ "httpTask": { "url": "https://api.metals.live/v1/spot/gold" } },
|
||||
{ "jsonParseTask": { "path": "$[(@.length-1)].price" } }
|
||||
]
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{ "httpTask": { "url": "https://api.metals.live/v1/spot/silver" } },
|
||||
{ "jsonParseTask": { "path": "$[(@.length-1)].price" } }
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "ADA-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "ALGO-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "ATOM-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "AVAX-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "BNB-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "BTC-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "DOT-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "ETH-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "FTT-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "LUNA-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "MATIC-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"perpMarketTask": {
|
||||
"driftMarketAddress": "SOL-PERP"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"name": "BinanceCom BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://www.binance.com/api/v3/ticker/price?symbol=BTCUSDT"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.price"
|
||||
}
|
||||
},
|
||||
{
|
||||
"multiplyTask": {
|
||||
/* Mainnet USDT/USD Feed */
|
||||
"aggregatorPubkey": "ETAaeeuQBwsh9mC2gCov9WdhJENZuffRMXY2HgjCcSL9"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"name": "BinanceUs BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://www.binance.us/api/v3/ticker/price?symbol=BTCUSD"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.price"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"name": "Bitfinex BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://api-pub.bitfinex.com/v2/tickers?symbols=tBTCUSD"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$[0][1]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$[0][3]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$[0][7]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"name": "Bitstamp BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://www.bitstamp.net/api/v2/ticker/btcusd"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.ask"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.bid"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.last"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"name": "FtxUs BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://ftx.us/api/markets/btc/usd"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.result.price"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"name": "Huobi BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://api.huobi.pro/market/detail/merged?symbol=btcusdt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.tick.bid[0]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.tick.ask[0]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"multiplyTask": {
|
||||
/* Mainnet USDT/USD Feed */
|
||||
"aggregatorPubkey": "ETAaeeuQBwsh9mC2gCov9WdhJENZuffRMXY2HgjCcSL9"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"name": "Kraken BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://api.kraken.com/0/public/Ticker?pair=XXBTZUSD"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.result.XXBTZUSD.a[0]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.result.XXBTZUSD.b[0]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.result.XXBTZUSD.c[0]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"name": "Mxc BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://www.mexc.com/open/api/v2/market/ticker?symbol=BTC_USDT"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data[0].ask"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data[0].bid"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data[0].last"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"multiplyTask": {
|
||||
/* Mainnet USDT/USD Feed */
|
||||
"aggregatorPubkey": "ETAaeeuQBwsh9mC2gCov9WdhJENZuffRMXY2HgjCcSL9"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
"name": "Okex BTC/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"websocketTask": {
|
||||
"url": "wss://ws.okex.com:8443/ws/v5/public",
|
||||
"subscription": "{\"op\":\"subscribe\",\"args\":[{\"channel\":\"tickers\",\"instId\":\"BTC-USDT\"}]}",
|
||||
"maxDataAgeSeconds": 15,
|
||||
"filter": "$[?(@.event != 'subscribe' && @.arg.channel == 'tickers' && @.arg.instId == 'BTC-USDT' && @.data[0].instType == 'SPOT' && @.data[0].instId == 'BTC-USDT')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data[0].bidPx"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data[0].askPx"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.data[0].last"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"multiplyTask": {
|
||||
/* Mainnet USDT/USD Feed */
|
||||
"aggregatorPubkey": "ETAaeeuQBwsh9mC2gCov9WdhJENZuffRMXY2HgjCcSL9"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"jupiterSwapTask": {
|
||||
"inTokenAddress": "UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",
|
||||
"outTokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"name": "Socean Staked Sol / USD",
|
||||
"tasks": [
|
||||
{
|
||||
"jupiterSwapTask": {
|
||||
"inTokenAddress": "5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",
|
||||
"outTokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "JET ETH Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "jet",
|
||||
"assetMint": "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "JET ETH Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "jet",
|
||||
"assetMint": "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "JET SOL Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "jet",
|
||||
"assetMint": "So11111111111111111111111111111111111111112",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "JET SOL Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "jet",
|
||||
"assetMint": "So11111111111111111111111111111111111111112",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "JET USDC Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "jet",
|
||||
"assetMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "JET USDC Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "jet",
|
||||
"assetMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango AVAX Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango AVAX Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango BNB Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango BNB Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango BTC Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "MangoBTC Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango COPE Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango COPE Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango ETH Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango ETH Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango SOL Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "So11111111111111111111111111111111111111112",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango SOL Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "So11111111111111111111111111111111111111112",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango USDC Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Mango USDC Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "mango",
|
||||
"assetMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend Orca Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend Orca Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend SOL Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "So11111111111111111111111111111111111111112",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend SOL Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "So11111111111111111111111111111111111111112",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend stSOL Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend stSOL Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend USDC Borrow Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
"field": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"name": "Solend USDC Lend Rate",
|
||||
"tasks": [
|
||||
{
|
||||
"lendingRateTask": {
|
||||
"protocol": "solend",
|
||||
"assetMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
"field": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"name": "LP MERCURIAL USDC USDT wUST",
|
||||
"tasks": [
|
||||
{
|
||||
"lpTokenPriceTask": {
|
||||
"mercurialPoolAddress": "USD6kaowtDjwRkN5gAjw1PDMQvc9xRp8xW9GK8Z5HBA",
|
||||
"priceFeedAddresses": [
|
||||
"BjUgj6YCnFBZ49wF54ddBVA9qu8TeqkFtkbqmZcee8uW",
|
||||
"ETAaeeuQBwsh9mC2gCov9WdhJENZuffRMXY2HgjCcSL9",
|
||||
"3RfJxApwV2tYB5mArdD7aRbBk7P6BQCSSFQzR2GXUzA2"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"name": "LP MERCURIAL USDC USDT wUST",
|
||||
"tasks": [
|
||||
{
|
||||
"lpTokenPriceTask": {
|
||||
"mercurialPoolAddress": "UST3iPxDFwUUiToMyLF7DYqSP9uaoz7Mzs2LxRYxVJG"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"mangoPerpMarketTask": {
|
||||
"perpMarketAddress": "BCJrpvsB2BJtqiDgKVC4N6gyX1y24Jz96C6wMraYmXss"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"mangoPerpMarketTask": {
|
||||
"perpMarketAddress": "4nfmQP3KmUqEJ6qJLsS3offKgE96YUB4Rp7UQvm2Fbi9"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"chainlinkAddress": "F4QZEMQjNRvwHd9tLgp74fVD99Bg3cXbHuEQ7EGymBq6"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"chainlinkAddress": "5zxs8888az8dgB5KauGEFoPuMANtrKtkpFiFRmo3cSa9"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"chainlinkAddress": "CFRkaCg9PcuMaCZZdcePkaa8d8ugtH221HL7tXQHNVia"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"chainlinkAddress": "H7z12eWzwmjgBwy7bxHzSY5EmFdviriVE1Y9RxFQvK1L"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"chainlinkAddress": "A7Ev4pEqutTxHofM9AvWFKgVAkA27u3LU2Xf1KzuN9RS"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"pythAddress": "5yixRcKtcs5BZ1K2FsLFwmES1MyA92d6efvijjVevQCw"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"pythAddress": "78aTPvgWhfRzPcc94bNNdsbB3EiGJpsu1RJp22KbAz1N",
|
||||
"pythAllowedConfidenceInterval": "11.5"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"pythAddress": "8WgyG6Rss2MzHu5bJh7ELxkH6XtwE4wsFouVSb4DvHpR"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
||||
"serumPoolAddress": "Di66GTLsV64JgCCYGVcY21RZ173BHkjJVgPyezNN7P1K"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
||||
"serumPoolAddress": "A8YFbxQYFVqKZaoYJLLUVcQiWP7G2MeEgW5wsAQgMvFw"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
||||
"serumPoolAddress": "3d4rzwpy9iGdCZvgxcu7B1YocYffVLsQXPXkBZKt2zLc"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
||||
"serumPoolAddress": "D7p7PebNjpkH6VNHJhmiDFNmpz9XE7UaTv9RouxJMrwb"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
||||
"serumPoolAddress": "9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
||||
"serumPoolAddress": "97qCB4cAVSTthvJu3eNoEx6AY6DLuRDtCoPm5Tdyg77S"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"name": "Socean Staked Sol / USD",
|
||||
"name": "UXP/USD",
|
||||
"tasks": [
|
||||
{
|
||||
"jupiterSwapTask": {
|
||||
"inTokenAddress": "5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",
|
||||
"inTokenAddress": "UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",
|
||||
"outTokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
||||
}
|
||||
},
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"name": "Mango BTC/USD Perp Price",
|
||||
"tasks": [
|
||||
{
|
||||
"mangoPerpMarketTask": {
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"name": "Chainlink SOL/USD Devnet Price",
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
"name": "Pyth SOL/USD Price",
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"pythAddress": "H6ARHf6YXhGYeQfUzQNGk6rDNnLBQKrenN712K4AQJEG"
|
||||
"pythAddress": "H6ARHf6YXhGYeQfUzQNGk6rDNnLBQKrenN712K4AQJEG",
|
||||
"pythAllowedConfidenceInterval": 11.5
|
||||
}
|
||||
}
|
||||
]
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "Switchboard SOL/USD Price",
|
||||
"tasks": [
|
||||
{
|
||||
"oracleTask": {
|
||||
"switchboardAddress": "GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"name": "Aleph USDC",
|
||||
"tasks": [
|
||||
{
|
||||
"serumSwapTask": {
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"name": "MonkeeDao Token Price",
|
||||
"tasks": [
|
||||
{
|
||||
"splStakePoolTask": {
|
||||
"pubkey": "7ge2xKsZXmqPxa3YmXxXmzCp9Hc2ezrTxh6PECaxCwrL"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.poolTokenSupply"
|
||||
}
|
||||
},
|
||||
{
|
||||
"divideTask": {
|
||||
"job": {
|
||||
"tasks": [
|
||||
{
|
||||
"splStakePoolTask": {
|
||||
"pubkey": "7ge2xKsZXmqPxa3YmXxXmzCp9Hc2ezrTxh6PECaxCwrL"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.poolTokenSupply"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"name": "DaoSOL decimals",
|
||||
"tasks": [
|
||||
{
|
||||
"splTokenParseTask": {
|
||||
"tokenAccountAddress": "7xJRVi15yFB67vovu3f6Wai9EaQ8XDss6SCWB4FnSzDc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"jsonParseTask": {
|
||||
"path": "$.uiAmount"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -4,7 +4,9 @@
|
|||
{
|
||||
"twapTask": {
|
||||
"aggregatorPubkey": "GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR",
|
||||
"period": 1800
|
||||
"period": 1800,
|
||||
"weightByPropagationTime": true,
|
||||
"minSamples": 20
|
||||
}
|
||||
}
|
||||
]
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "Sol Aggregator",
|
||||
"tasks": [
|
||||
{
|
||||
"valueTask": {
|
||||
"aggregatorPubkey": "GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"name": "xStep",
|
||||
"tasks": [
|
||||
{
|
||||
"xstepPriceTask": {
|
||||
"stepJob": {
|
||||
"jobs": [
|
||||
{
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": { "url": "https://ftx.com/api/markets/step/usd" }
|
||||
},
|
||||
{ "jsonParseTask": { "path": "$.result.price" } }
|
||||
]
|
||||
},
|
||||
{
|
||||
"tasks": [
|
||||
{
|
||||
"httpTask": {
|
||||
"url": "https://api.gateio.ws/api/v4/spot/tickers?currency_pair=STEP_USDT"
|
||||
}
|
||||
},
|
||||
{
|
||||
"medianTask": {
|
||||
"tasks": [
|
||||
{ "jsonParseTask": { "path": "$[0].lowest_ask" } },
|
||||
{ "jsonParseTask": { "path": "$[0].highest_bid" } },
|
||||
{ "jsonParseTask": { "path": "$[0].last" } }
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue