solana-flux-aggregator/test.ts

66 lines
1.8 KiB
TypeScript
Raw Normal View History

2021-02-17 20:15:50 -08:00
import dotenv from "dotenv"
dotenv.config()
import { AppContext, conn, network } from "./src/context"
2021-02-19 05:16:33 -08:00
import { Deployer } from "./src/Deployer"
2021-02-20 02:00:17 -08:00
import { coinbase } from "./src/feeds"
import { log } from "./src/log"
2021-02-19 05:13:56 -08:00
import { PriceFeeder } from "./src/PriceFeeder"
2021-02-17 20:15:50 -08:00
async function main() {
2021-02-19 05:13:56 -08:00
const setupFile = `config/setup.${network}.json`
const deployFile = `deploy.${network}.json`
const feederConfigFile = "feeder.json"
2021-02-19 02:35:30 -08:00
let ctx = new AppContext()
2021-02-17 20:15:50 -08:00
let adminWallet = await ctx.adminWallet()
2021-02-19 05:13:56 -08:00
let oracleWallet = await ctx.oracleWallet()
2021-02-19 02:35:30 -08:00
2021-02-19 05:13:56 -08:00
await conn.requestAirdrop(adminWallet.pubkey, 10 * 1e9)
await conn.requestAirdrop(oracleWallet.pubkey, 10 * 1e9)
2021-02-19 02:35:30 -08:00
2021-02-19 05:13:56 -08:00
const deployer = new Deployer(deployFile, setupFile, adminWallet)
2021-02-19 02:35:30 -08:00
2021-02-19 05:13:56 -08:00
await deployer.runAll()
2021-02-19 02:35:30 -08:00
2021-02-19 05:13:56 -08:00
const feeder = new PriceFeeder(deployFile, feederConfigFile, oracleWallet)
feeder.start()
2021-02-20 02:00:17 -08:00
2021-02-19 05:13:56 -08:00
return
2021-02-19 02:35:30 -08:00
// const spltoken = new SPLToken(adminWallet)
// const rewardToken = await deployer.ensure("create reward token", async () => {
// return spltoken.initializeMint({
// mintAuthority: adminWallet.pubkey,
// decimals: 8,
// })
// })
// const rewardTokenOwner = await ProgramAccount.forSeed(
// Buffer.from("solink"),
// aggregatorProgram.publicKey
// )
// const rewardTokenAccount = await deployer.ensure(
// "initialize reward token account",
// async () => {
// const vault = await spltoken.initializeAccount({
// token: rewardToken.publicKey,
// owner: rewardTokenOwner.pubkey,
// })
// await spltoken.mintTo({
// token: rewardToken.publicKey,
// to: vault.publicKey,
// amount: BigInt(1e6 * 1e8), // 1M
// authority: adminWallet.pubkey,
// })
// return vault
// }
// )
// console.log(await spltoken.mintInfo(rewardToken.publicKey))
2021-02-17 20:15:50 -08:00
}
main().catch((err) => console.log(err))