From 47861c6ab6f6a83033236b47a13874a3e63ea481 Mon Sep 17 00:00:00 2001 From: brooksjeremy7 <92278656+brooksjeremy7@users.noreply.github.com> Date: Mon, 5 May 2025 14:32:09 -0700 Subject: [PATCH 1/5] bump the sdk to reflect pda for redeemIx --- package.json | 2 +- sdk/package.json | 2 +- sdk/src/v0.4/ConditionalVaultClient.ts | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 2ebe63049..8f1ab6dc5 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@coral-xyz/anchor": "0.29.0", "@inquirer/prompts": "^7.3.3", - "@metadaoproject/futarchy": "0.4.0-alpha.57", + "@metadaoproject/futarchy": "0.4.0-alpha.63", "@metaplex-foundation/mpl-token-metadata": "^3.2.0", "@metaplex-foundation/umi": "^0.9.1", "@metaplex-foundation/umi-bundle-defaults": "^0.9.1", diff --git a/sdk/package.json b/sdk/package.json index 6506160b8..038e8fb46 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metadaoproject/futarchy", - "version": "0.4.0-alpha.58", + "version": "0.4.0-alpha.63", "type": "module", "main": "dist/index.js", "module": "dist/index.js", diff --git a/sdk/src/v0.4/ConditionalVaultClient.ts b/sdk/src/v0.4/ConditionalVaultClient.ts index 31bbe69b9..bedbcdb92 100644 --- a/sdk/src/v0.4/ConditionalVaultClient.ts +++ b/sdk/src/v0.4/ConditionalVaultClient.ts @@ -415,7 +415,7 @@ export class ConditionalVaultClient { conditionalTokenMintAddrs.map((conditionalTokenMint) => { return createAssociatedTokenAccountIdempotentInstruction( payer, - getAssociatedTokenAddressSync(conditionalTokenMint, user), + getAssociatedTokenAddressSync(conditionalTokenMint, user, true), user, conditionalTokenMint ); diff --git a/yarn.lock b/yarn.lock index 192f6bd26..361b0259c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -786,10 +786,10 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@metadaoproject/futarchy@0.4.0-alpha.57": - version "0.4.0-alpha.57" - resolved "https://registry.yarnpkg.com/@metadaoproject/futarchy/-/futarchy-0.4.0-alpha.57.tgz#2872d4b35bed5dd79963206d6243e443ce4a3c6f" - integrity sha512-m5rDyjppgbLAFTJOqdZQvucP91J7ByagL6+ynJC+N4OlCLF1h28nooKnRO1Hc8OFTxi53gstV9IlMxRKS2wazw== +"@metadaoproject/futarchy@0.4.0-alpha.63": + version "0.4.0-alpha.62" + resolved "https://registry.yarnpkg.com/@metadaoproject/futarchy/-/futarchy-0.4.0-alpha.62.tgz#399ecb2be2422b5be3614ce1ed412db4ccdd5999" + integrity sha512-qp2bjBabIelxGPw0FaLnd/F+EoCBwm4MefmyT6syR4YBXbe2IGEgu+XjUmBYMmjlR8BzEJ65s8XS4ZIJaIRUsA== dependencies: "@coral-xyz/anchor" "^0.29.0" "@metaplex-foundation/umi" "^0.9.2" From 598f93ad7e6f9e0c2db6d7e0acf8ab0dab504659 Mon Sep 17 00:00:00 2001 From: brooksjeremy7 <92278656+brooksjeremy7@users.noreply.github.com> Date: Mon, 5 May 2025 14:59:14 -0700 Subject: [PATCH 2/5] another bump, addressed initializeproposalIx problem --- package.json | 2 +- sdk/package.json | 2 +- sdk/src/v0.4/AutocratClient.ts | 17 ++++++++++------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 8f1ab6dc5..e360a70d0 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@coral-xyz/anchor": "0.29.0", "@inquirer/prompts": "^7.3.3", - "@metadaoproject/futarchy": "0.4.0-alpha.63", + "@metadaoproject/futarchy": "0.4.0-alpha.64", "@metaplex-foundation/mpl-token-metadata": "^3.2.0", "@metaplex-foundation/umi": "^0.9.1", "@metaplex-foundation/umi-bundle-defaults": "^0.9.1", diff --git a/sdk/package.json b/sdk/package.json index 038e8fb46..643a3d808 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metadaoproject/futarchy", - "version": "0.4.0-alpha.63", + "version": "0.4.0-alpha.64", "type": "module", "main": "dist/index.js", "module": "dist/index.js", diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index 7c3106005..49d78389d 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -570,11 +570,12 @@ export class AutocratClient { passLpTokensToLock: BN, failLpTokensToLock: BN, nonce: BN, - question: PublicKey + question: PublicKey, + user: PublicKey = this.provider.publicKey ) { let [proposal] = getProposalAddr( this.autocrat.programId, - this.provider.publicKey, + user, nonce ); const [daoTreasury] = getDaoTreasuryAddr(this.autocrat.programId, dao); @@ -625,25 +626,27 @@ export class AutocratClient { failLpMint: failLp, passLpUserAccount: getAssociatedTokenAddressSync( passLp, - this.provider.publicKey + user, + true ), failLpUserAccount: getAssociatedTokenAddressSync( failLp, - this.provider.publicKey + user, + true ), passLpVaultAccount, failLpVaultAccount, - proposer: this.provider.publicKey, + proposer: user }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( - this.provider.publicKey, + user, passLpVaultAccount, daoTreasury, passLp ), createAssociatedTokenAccountIdempotentInstruction( - this.provider.publicKey, + user, failLpVaultAccount, daoTreasury, failLp From 41f1311fe9f5681181a78d57e40092edf8d76b94 Mon Sep 17 00:00:00 2001 From: brooksjeremy7 <92278656+brooksjeremy7@users.noreply.github.com> Date: Mon, 5 May 2025 15:07:17 -0700 Subject: [PATCH 3/5] another sdk bump --- package.json | 2 +- sdk/package.json | 2 +- sdk/src/v0.4/AutocratClient.ts | 20 ++++---------------- 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index e360a70d0..e71fdd9e5 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@coral-xyz/anchor": "0.29.0", "@inquirer/prompts": "^7.3.3", - "@metadaoproject/futarchy": "0.4.0-alpha.64", + "@metadaoproject/futarchy": "0.4.0-alpha.65", "@metaplex-foundation/mpl-token-metadata": "^3.2.0", "@metaplex-foundation/umi": "^0.9.1", "@metaplex-foundation/umi-bundle-defaults": "^0.9.1", diff --git a/sdk/package.json b/sdk/package.json index 643a3d808..38c452661 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metadaoproject/futarchy", - "version": "0.4.0-alpha.64", + "version": "0.4.0-alpha.65", "type": "module", "main": "dist/index.js", "module": "dist/index.js", diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index 49d78389d..ed478e601 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -573,11 +573,7 @@ export class AutocratClient { question: PublicKey, user: PublicKey = this.provider.publicKey ) { - let [proposal] = getProposalAddr( - this.autocrat.programId, - user, - nonce - ); + let [proposal] = getProposalAddr(this.autocrat.programId, user, nonce); const [daoTreasury] = getDaoTreasuryAddr(this.autocrat.programId, dao); const { baseVault, quoteVault, passAmm, failAmm } = this.getProposalPdas( proposal, @@ -624,19 +620,11 @@ export class AutocratClient { failAmm, passLpMint: passLp, failLpMint: failLp, - passLpUserAccount: getAssociatedTokenAddressSync( - passLp, - user, - true - ), - failLpUserAccount: getAssociatedTokenAddressSync( - failLp, - user, - true - ), + passLpUserAccount: getAssociatedTokenAddressSync(passLp, user, true), + failLpUserAccount: getAssociatedTokenAddressSync(failLp, user, true), passLpVaultAccount, failLpVaultAccount, - proposer: user + proposer: user, }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( From 48ae125ae0fc4823387c82675f75aa828c510652 Mon Sep 17 00:00:00 2001 From: brooksjeremy7 <92278656+brooksjeremy7@users.noreply.github.com> Date: Mon, 5 May 2025 16:23:49 -0700 Subject: [PATCH 4/5] sdk bump to fix lack of PDAs across v4 --- package.json | 2 +- sdk/package.json | 2 +- sdk/src/v0.4/AmmClient.ts | 17 ++++++++++------- sdk/src/v0.4/AutocratClient.ts | 26 +++++++++++++++++--------- sdk/src/v0.4/ConditionalVaultClient.ts | 4 ++-- sdk/src/v0.4/LaunchpadClient.ts | 4 ++-- 6 files changed, 33 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index e71fdd9e5..da2f99a58 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@coral-xyz/anchor": "0.29.0", "@inquirer/prompts": "^7.3.3", - "@metadaoproject/futarchy": "0.4.0-alpha.65", + "@metadaoproject/futarchy": "0.4.0-alpha.66", "@metaplex-foundation/mpl-token-metadata": "^3.2.0", "@metaplex-foundation/umi": "^0.9.1", "@metaplex-foundation/umi-bundle-defaults": "^0.9.1", diff --git a/sdk/package.json b/sdk/package.json index 38c452661..e9847b6e0 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metadaoproject/futarchy", - "version": "0.4.0-alpha.65", + "version": "0.4.0-alpha.66", "type": "module", "main": "dist/index.js", "module": "dist/index.js", diff --git a/sdk/src/v0.4/AmmClient.ts b/sdk/src/v0.4/AmmClient.ts index e55471cde..be016113e 100644 --- a/sdk/src/v0.4/AmmClient.ts +++ b/sdk/src/v0.4/AmmClient.ts @@ -229,7 +229,7 @@ export class AmmClient { ) { const [lpMint] = getAmmLpMintAddr(this.program.programId, amm); - const userLpAccount = getAssociatedTokenAddressSync(lpMint, user); + const userLpAccount = getAssociatedTokenAddressSync(lpMint, user, true); return this.program.methods .addLiquidity({ @@ -242,8 +242,8 @@ export class AmmClient { amm, lpMint, userLpAccount, - userBaseAccount: getAssociatedTokenAddressSync(baseMint, user), - userQuoteAccount: getAssociatedTokenAddressSync(quoteMint, user), + userBaseAccount: getAssociatedTokenAddressSync(baseMint, user, true), + userQuoteAccount: getAssociatedTokenAddressSync(quoteMint, user, true), vaultAtaBase: getAssociatedTokenAddressSync(baseMint, amm, true), vaultAtaQuote: getAssociatedTokenAddressSync(quoteMint, amm, true), }) @@ -279,15 +279,18 @@ export class AmmClient { lpMint, userLpAccount: getAssociatedTokenAddressSync( lpMint, - this.provider.publicKey + this.provider.publicKey, + true ), userBaseAccount: getAssociatedTokenAddressSync( baseMint, - this.provider.publicKey + this.provider.publicKey, + true ), userQuoteAccount: getAssociatedTokenAddressSync( quoteMint, - this.provider.publicKey + this.provider.publicKey, + true ), vaultAtaBase: getAssociatedTokenAddressSync(baseMint, ammAddr, true), vaultAtaQuote: getAssociatedTokenAddressSync(quoteMint, ammAddr, true), @@ -354,7 +357,7 @@ export class AmmClient { // create the receiving token account if it doesn't exist createAssociatedTokenAccountIdempotentInstruction( user, - getAssociatedTokenAddressSync(receivingToken, user), + getAssociatedTokenAddressSync(receivingToken, user, true), user, receivingToken ), diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index ed478e601..da7d2ba02 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -571,9 +571,9 @@ export class AutocratClient { failLpTokensToLock: BN, nonce: BN, question: PublicKey, - user: PublicKey = this.provider.publicKey + proposer: PublicKey = this.provider.publicKey ) { - let [proposal] = getProposalAddr(this.autocrat.programId, user, nonce); + let [proposal] = getProposalAddr(this.autocrat.programId, proposer, nonce); const [daoTreasury] = getDaoTreasuryAddr(this.autocrat.programId, dao); const { baseVault, quoteVault, passAmm, failAmm } = this.getProposalPdas( proposal, @@ -620,21 +620,29 @@ export class AutocratClient { failAmm, passLpMint: passLp, failLpMint: failLp, - passLpUserAccount: getAssociatedTokenAddressSync(passLp, user, true), - failLpUserAccount: getAssociatedTokenAddressSync(failLp, user, true), + passLpUserAccount: getAssociatedTokenAddressSync( + passLp, + proposer, + true + ), + failLpUserAccount: getAssociatedTokenAddressSync( + failLp, + proposer, + true + ), passLpVaultAccount, failLpVaultAccount, - proposer: user, + proposer: proposer, }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( - user, + proposer, passLpVaultAccount, daoTreasury, passLp ), createAssociatedTokenAccountIdempotentInstruction( - user, + proposer, failLpVaultAccount, daoTreasury, failLp @@ -693,8 +701,8 @@ export class AutocratClient { question, // baseVault, // quoteVault, - passLpUserAccount: getAssociatedTokenAddressSync(passLp, proposer), - failLpUserAccount: getAssociatedTokenAddressSync(failLp, proposer), + passLpUserAccount: getAssociatedTokenAddressSync(passLp, proposer, true), + failLpUserAccount: getAssociatedTokenAddressSync(failLp, proposer, true), passLpVaultAccount: getAssociatedTokenAddressSync( passLp, daoTreasury, diff --git a/sdk/src/v0.4/ConditionalVaultClient.ts b/sdk/src/v0.4/ConditionalVaultClient.ts index bedbcdb92..37153a555 100644 --- a/sdk/src/v0.4/ConditionalVaultClient.ts +++ b/sdk/src/v0.4/ConditionalVaultClient.ts @@ -260,7 +260,7 @@ export class ConditionalVaultClient { const preInstructions = conditionalTokenMintAddrs.map((mint) => createAssociatedTokenAccountIdempotentInstruction( payer, - getAssociatedTokenAddressSync(mint, user), + getAssociatedTokenAddressSync(mint, user, true), user, mint ) @@ -348,7 +348,7 @@ export class ConditionalVaultClient { conditionalTokenMintAddrs.map((conditionalTokenMint) => { return createAssociatedTokenAccountIdempotentInstruction( payer, - getAssociatedTokenAddressSync(conditionalTokenMint, user), + getAssociatedTokenAddressSync(conditionalTokenMint, user, true), user, conditionalTokenMint ); diff --git a/sdk/src/v0.4/LaunchpadClient.ts b/sdk/src/v0.4/LaunchpadClient.ts index 16af99eed..c2b6a6ce5 100644 --- a/sdk/src/v0.4/LaunchpadClient.ts +++ b/sdk/src/v0.4/LaunchpadClient.ts @@ -194,7 +194,7 @@ export class LaunchpadClient { launchSigner, true ); - const funderUsdcAccount = getAssociatedTokenAddressSync(USDC, funder); + const funderUsdcAccount = getAssociatedTokenAddressSync(USDC, funder, true); const [fundingRecord] = getFundingRecordAddr( this.launchpad.programId, launch, @@ -353,7 +353,7 @@ export class LaunchpadClient { launchSigner, true ); - const funderUsdcAccount = getAssociatedTokenAddressSync(USDC, funder); + const funderUsdcAccount = getAssociatedTokenAddressSync(USDC, funder, true); return this.launchpad.methods.refund().accounts({ launch, From cf5832f7cffa22eb89086725eed9cbafa203bc38 Mon Sep 17 00:00:00 2001 From: brooksjeremy7 <92278656+brooksjeremy7@users.noreply.github.com> Date: Mon, 5 May 2025 16:47:32 -0700 Subject: [PATCH 5/5] sdk bump to 0.67 --- package.json | 2 +- sdk/package.json | 2 +- sdk/src/v0.4/AmmClient.ts | 4 ++-- sdk/src/v0.4/AutocratClient.ts | 2 +- sdk/src/v0.4/ConditionalVaultClient.ts | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index da2f99a58..019e3ca3d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@coral-xyz/anchor": "0.29.0", "@inquirer/prompts": "^7.3.3", - "@metadaoproject/futarchy": "0.4.0-alpha.66", + "@metadaoproject/futarchy": "0.4.0-alpha.67", "@metaplex-foundation/mpl-token-metadata": "^3.2.0", "@metaplex-foundation/umi": "^0.9.1", "@metaplex-foundation/umi-bundle-defaults": "^0.9.1", diff --git a/sdk/package.json b/sdk/package.json index e9847b6e0..de01b3c84 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metadaoproject/futarchy", - "version": "0.4.0-alpha.66", + "version": "0.4.0-alpha.67", "type": "module", "main": "dist/index.js", "module": "dist/index.js", diff --git a/sdk/src/v0.4/AmmClient.ts b/sdk/src/v0.4/AmmClient.ts index be016113e..2dca891d2 100644 --- a/sdk/src/v0.4/AmmClient.ts +++ b/sdk/src/v0.4/AmmClient.ts @@ -249,9 +249,9 @@ export class AmmClient { }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( - this.provider.publicKey, + user, userLpAccount, - this.provider.publicKey, + user, lpMint ), ]); diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index da7d2ba02..3aa690c9b 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -632,7 +632,7 @@ export class AutocratClient { ), passLpVaultAccount, failLpVaultAccount, - proposer: proposer, + proposer, }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( diff --git a/sdk/src/v0.4/ConditionalVaultClient.ts b/sdk/src/v0.4/ConditionalVaultClient.ts index 37153a555..4a951f045 100644 --- a/sdk/src/v0.4/ConditionalVaultClient.ts +++ b/sdk/src/v0.4/ConditionalVaultClient.ts @@ -247,7 +247,7 @@ export class ConditionalVaultClient { vault: PublicKey, numOutcomes: number, user: PublicKey, - payer: PublicKey = this.provider.publicKey + payer?: PublicKey ) { const conditionalTokenMintAddrs = this.getConditionalTokenMints( vault, @@ -259,7 +259,7 @@ export class ConditionalVaultClient { const preInstructions = conditionalTokenMintAddrs.map((mint) => createAssociatedTokenAccountIdempotentInstruction( - payer, + payer ?? user, getAssociatedTokenAddressSync(mint, user, true), user, mint