From 0a53045ca35024cb1ab669691190f9968cddb5a6 Mon Sep 17 00:00:00 2001 From: advaith101 Date: Wed, 4 Dec 2024 14:22:13 -0500 Subject: [PATCH] feat: script to resolve kpi market --- Anchor.toml | 3 ++- scripts/initializeProposal.ts | 8 ++++---- scripts/resolveOutcome.ts | 34 ++++++++++++++++++++++++++++++++++ scripts/setupDevnet.ts | 4 ++-- 4 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 scripts/resolveOutcome.ts diff --git a/Anchor.toml b/Anchor.toml index 38fd6410..dd9fd121 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -1,6 +1,6 @@ [scripts] test = "npx mocha --import=tsx tests/main.test.ts" -propose = "yarn run ts-node scripts/initializeProposal.ts" +propose = "yarn run tsx scripts/initializeProposal.ts" initialize-dao = "yarn run ts-node scripts/initializeDao.ts" finalize = "yarn run ts-node scripts/finalizeProposal.ts" metadata = "yarn run ts-node scripts/uploadMetadata.ts" @@ -10,6 +10,7 @@ attach-metadata = "yarn run ts-node scripts/attachMetadata.ts" reclaim-tokens = "yarn run ts-node scripts/reclaimTokens.ts" merge-tokens = "yarn run ts-node scripts/mergeTokens.ts" setup-devnet = "yarn run tsx scripts/setupDevnet.ts" +resolve-outcome = "yarn run tsx scripts/resolveOutcome.ts" add-v03-metadata = "yarn run tsx scripts/addV03Metadata.ts" [toolchain] diff --git a/scripts/initializeProposal.ts b/scripts/initializeProposal.ts index df735ef1..6ecd3f20 100644 --- a/scripts/initializeProposal.ts +++ b/scripts/initializeProposal.ts @@ -2,7 +2,7 @@ import * as anchor from "@coral-xyz/anchor"; import { MEMO_PROGRAM_ID } from "@solana/spl-memo"; import * as token from "@solana/spl-token"; import { LAMPORTS_PER_SOL } from "@solana/web3.js"; -import { AutocratClient } from "@metadaoproject/futarchy-ts"; +import { AutocratClient } from "@metadaoproject/futarchy/v0.3"; const { PublicKey, Keypair, SystemProgram } = anchor.web3; const { BN, Program } = anchor; @@ -190,14 +190,14 @@ async function main() { // Sleep for review console.log("Sleeping for 60s, press ctrl + c to cancel"); - await new Promise((f) => setTimeout(f, 60000)); + await new Promise((f) => setTimeout(f, 5000)); - const dao = new PublicKey("DM3sz2qH5LS5KHKpiwZVXNe69YeM3bJzsmNs5VmKLHEv"); + const dao = new PublicKey("33Pi6Dxur8Q87K7DmG8JAdZoiTwSRi2HCP6ZjLAPn2sE"); const storedDao = await autocratClient.getDao(dao); const proposal = await autocratClient.initializeProposal( dao, - "http://google.com", + "http://lfg.com", ix, storedDao.minBaseFutarchicLiquidity, storedDao.minQuoteFutarchicLiquidity diff --git a/scripts/resolveOutcome.ts b/scripts/resolveOutcome.ts new file mode 100644 index 00000000..fbc7f13e --- /dev/null +++ b/scripts/resolveOutcome.ts @@ -0,0 +1,34 @@ +import { PublicKey } from "@solana/web3.js"; +import * as anchor from "@coral-xyz/anchor"; +import { + ConditionalVaultClient, +} from "@metadaoproject/futarchy/v0.4"; + +const provider = anchor.AnchorProvider.env(); +const payer = provider.wallet["payer"]; +console.log(payer.publicKey.toBase58()) +const vaultProgram: ConditionalVaultClient = + ConditionalVaultClient.createClient({ provider }); + +const outcomeQuestionAddress = new PublicKey("8xB61Ps8gDpdv9LZ5Jb5iC3sAhBctyYq6C112u55mmxt"); +const metricQuestionAddress = new PublicKey("4FXN6zSRFtMb7PCxGSqZLeDjex5N61TL2q3zu53ca4Nf"); + +async function main() { + const resolveQuestionIx = vaultProgram.resolveQuestionIx( + outcomeQuestionAddress, payer, [1,0] + ); + await resolveQuestionIx.rpc(); + console.log(resolveQuestionIx); + + //pause for 2 mins + console.log("Pausing for 2 mins"); + await new Promise((f) => setTimeout(f, 120000)); + + const resolveQuestionIx2 = vaultProgram.resolveQuestionIx( + metricQuestionAddress, payer, [1,1] + ); + await resolveQuestionIx2.rpc(); + console.log(resolveQuestionIx2); +} + +main(); \ No newline at end of file diff --git a/scripts/setupDevnet.ts b/scripts/setupDevnet.ts index d55429ea..3bb545dc 100644 --- a/scripts/setupDevnet.ts +++ b/scripts/setupDevnet.ts @@ -19,7 +19,7 @@ const vaultProgram: ConditionalVaultClient = ConditionalVaultClient.createClient({ provider }); const ammProgram: AmmClient = AmmClient.createClient({ provider }); -const USDC = new PublicKey("CRWxbGNtVrTr9FAJX6SZpsvPZyi9R7VetuqecoZ1jCdD"); +const USDC = new PublicKey("ABizbp4pXowKQJ1pWgPeWPYDfSKwg34A7Xy1fxTu7No9"); async function main() { const outcomeQuestionId = sha256( @@ -138,7 +138,7 @@ async function main() { console.log("AMM"); console.log(amm); - return; + // return; let storedAmm: Amm | null = await ammProgram.fetchAmm(amm); console.log(storedAmm);