diff --git a/package.json b/package.json index 2ebe63049..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.57", + "@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 6506160b8..de01b3c84 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.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 e55471cde..2dca891d2 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,16 +242,16 @@ 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), }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( - this.provider.publicKey, + user, userLpAccount, - this.provider.publicKey, + user, lpMint ), ]); @@ -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 7c3106005..3aa690c9b 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -570,13 +570,10 @@ export class AutocratClient { passLpTokensToLock: BN, failLpTokensToLock: BN, nonce: BN, - question: PublicKey + question: PublicKey, + proposer: PublicKey = this.provider.publicKey ) { - let [proposal] = getProposalAddr( - this.autocrat.programId, - this.provider.publicKey, - nonce - ); + let [proposal] = getProposalAddr(this.autocrat.programId, proposer, nonce); const [daoTreasury] = getDaoTreasuryAddr(this.autocrat.programId, dao); const { baseVault, quoteVault, passAmm, failAmm } = this.getProposalPdas( proposal, @@ -625,25 +622,27 @@ export class AutocratClient { failLpMint: failLp, passLpUserAccount: getAssociatedTokenAddressSync( passLp, - this.provider.publicKey + proposer, + true ), failLpUserAccount: getAssociatedTokenAddressSync( failLp, - this.provider.publicKey + proposer, + true ), passLpVaultAccount, failLpVaultAccount, - proposer: this.provider.publicKey, + proposer, }) .preInstructions([ createAssociatedTokenAccountIdempotentInstruction( - this.provider.publicKey, + proposer, passLpVaultAccount, daoTreasury, passLp ), createAssociatedTokenAccountIdempotentInstruction( - this.provider.publicKey, + proposer, failLpVaultAccount, daoTreasury, failLp @@ -702,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 31bbe69b9..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,8 +259,8 @@ export class ConditionalVaultClient { const preInstructions = conditionalTokenMintAddrs.map((mint) => createAssociatedTokenAccountIdempotentInstruction( - payer, - getAssociatedTokenAddressSync(mint, user), + payer ?? 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 ); @@ -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/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, 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"