From d4b28212efe48c9ccf4d17dce3d9e76ae66da411 Mon Sep 17 00:00:00 2001 From: anhnh12 Date: Tue, 9 Jul 2024 19:16:23 +0700 Subject: [PATCH 1/2] fix: restrict vault cmds (#1694) --- src/adapters/mochi-pay.ts | 3 ++- src/commands/vault/info/processor.ts | 33 ++++++++++++++++++++-------- src/commands/vault/info/slash.ts | 2 +- src/commands/vault/list/processor.ts | 8 ++++++- src/commands/vault/list/slash.ts | 4 ++-- src/commands/vault/view/slash.ts | 2 +- 6 files changed, 37 insertions(+), 15 deletions(-) diff --git a/src/adapters/mochi-pay.ts b/src/adapters/mochi-pay.ts index 6d47f8b49..cd88d1e1d 100644 --- a/src/adapters/mochi-pay.ts +++ b/src/adapters/mochi-pay.ts @@ -343,11 +343,12 @@ class MochiPay extends Fetcher { async listEarningVaults( profileId: string, + guildId: string, fetchTradeDetails = false, ): Promise { const { data: res, ok } = await this.jsonFetch( `${MOCHI_PAY_API_BASE_URL}/profiles/${profileId}/syndicates/earning-vaults`, - { query: { fetchTradeDetails } }, + { query: { fetchTradeDetails, guildId } }, ) let data = [] if (ok) { diff --git a/src/commands/vault/info/processor.ts b/src/commands/vault/info/processor.ts index 4509fed33..ef16928e7 100644 --- a/src/commands/vault/info/processor.ts +++ b/src/commands/vault/info/processor.ts @@ -314,21 +314,35 @@ export async function runGetVaultDetail({ })}`, ].join("\n") + let share = report.vault_equity.stake_percent + let claiambleInfo = utils.formatUsdPriceDigit({ + value: Number(report.vault_equity.claimable ?? 0), + shorten: false, + }) + if (report.member_equity) { + const { claimable, claimable_usd, token_symbol } = report.member_equity + share = report.member_equity.share * 100 + claiambleInfo = `${utils.formatTokenDigit( + claimable, + )} ${token_symbol} (≈ ${utils.formatUsdPriceDigit({ + value: claimable_usd, + shorten: false, + })})` + } + const vaultEquity = [ "**Vault equity**", `${getVaultEquityEmoji( - report.vault_equity.stake_percent, - )} \`Your share. \` ${utils.formatPercentDigit( - Number(report.vault_equity.stake_percent), - )}`, + share, + )} \`Your share. \` ${utils.formatPercentDigit({ + value: Number(share), + fractionDigits: 4, + })}`, `${getEmoji("GIFT")} \`Floating profit. \` ${utils.formatUsdPriceDigit({ value: Number(report.vault_equity.floating_profit ?? 0), shorten: false, })}`, - `:tada: \`Claimable amount. \` ${utils.formatUsdPriceDigit({ - value: Number(report.vault_equity.claimable ?? 0), - shorten: false, - })}`, + `:tada: \`Claimable amount. \` ${claiambleInfo}`, ].join("\n") const openTrades = open_trades @@ -433,7 +447,8 @@ export async function runGetVaultDetail({ .setLabel("Claim") .setStyle("SECONDARY") .setCustomId("claim") - .setEmoji("<:FeelsGood:1177549805048836126>"), + .setEmoji("<:FeelsGood:1177549805048836126>") + .setDisabled(Number(report.vault_equity.claimable ?? 0) > 0), new MessageButton() .setLabel("Report") .setEmoji(getEmoji("CHART")) diff --git a/src/commands/vault/info/slash.ts b/src/commands/vault/info/slash.ts index 430d9bf46..ce650a203 100644 --- a/src/commands/vault/info/slash.ts +++ b/src/commands/vault/info/slash.ts @@ -124,7 +124,7 @@ const command: SlashCommand = { const userProfile = await profile.getByDiscord(i.user.id) const [spotVaults, tradingVaults] = await Promise.all([ i.guildId ? config.vaultList(i.guildId, true) : [], - mochiPay.listEarningVaults(userProfile.id), + i.guildId ? mochiPay.listEarningVaults(userProfile.id, i.guildId) : [], ]) const options = [ diff --git a/src/commands/vault/list/processor.ts b/src/commands/vault/list/processor.ts index 40ab6230f..3cc292e54 100644 --- a/src/commands/vault/list/processor.ts +++ b/src/commands/vault/list/processor.ts @@ -69,7 +69,13 @@ export async function runVaultList( : await config.vaultList("", false, userProfile.id) const tradingVaults = ( - await mochiPay.listEarningVaults(userProfile.id, true) + interaction.guildId + ? await mochiPay.listEarningVaults( + userProfile.id, + interaction.guildId, + true, + ) + : [] ).map((v: any) => ({ id: v.id, name: v.name, diff --git a/src/commands/vault/list/slash.ts b/src/commands/vault/list/slash.ts index 7985cef22..168c65740 100644 --- a/src/commands/vault/list/slash.ts +++ b/src/commands/vault/list/slash.ts @@ -4,7 +4,7 @@ import { SlashCommand } from "types/common" import { GM_GITBOOK, SLASH_PREFIX } from "utils/constants" import { composeEmbedMessage2 } from "ui/discord/embed" import { runVaultList } from "./processor" -import { MachineConfig, route } from "utils/router" +import { route } from "utils/router" import { machineConfig } from "commands/vault/info/slash" const command: SlashCommand = { @@ -16,7 +16,7 @@ const command: SlashCommand = { .setDescription("Show current vault") }, run: async function (interaction: CommandInteraction) { - const { initial, msgOpts } = await runVaultList(interaction) + const { msgOpts } = await runVaultList(interaction) const reply = (await interaction.editReply(msgOpts)) as Message route( diff --git a/src/commands/vault/view/slash.ts b/src/commands/vault/view/slash.ts index 3a1d95301..47d26cc38 100644 --- a/src/commands/vault/view/slash.ts +++ b/src/commands/vault/view/slash.ts @@ -35,7 +35,7 @@ const command: SlashCommand = { const userProfile = await profile.getByDiscord(i.user.id) const [spotVaults, tradingVaults] = await Promise.all([ config.vaultList(i.guildId, true), - mochiPay.listEarningVaults(userProfile.id), + mochiPay.listEarningVaults(userProfile.id, i.guildId), ]) const options = [ From 98cebf2314d645e201bed818ab900a524e07b55e Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 9 Jul 2024 12:20:25 +0000 Subject: [PATCH 2/2] chore(release): 6.52.8-rc.1 [skip ci] ## [6.52.8-rc.1](https://github.com/consolelabs/mochi-discord/compare/v6.52.7...v6.52.8-rc.1) (2024-07-09) ### Bug Fixes * restrict vault cmds ([#1694](https://github.com/consolelabs/mochi-discord/issues/1694)) ([d4b2821](https://github.com/consolelabs/mochi-discord/commit/d4b28212efe48c9ccf4d17dce3d9e76ae66da411)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fca17a9e0..80a28537a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [6.52.8-rc.1](https://github.com/consolelabs/mochi-discord/compare/v6.52.7...v6.52.8-rc.1) (2024-07-09) + + +### Bug Fixes + +* restrict vault cmds ([#1694](https://github.com/consolelabs/mochi-discord/issues/1694)) ([d4b2821](https://github.com/consolelabs/mochi-discord/commit/d4b28212efe48c9ccf4d17dce3d9e76ae66da411)) + ## [6.52.7](https://github.com/consolelabs/mochi-discord/compare/v6.52.6...v6.52.7) (2024-06-27) diff --git a/package.json b/package.json index 90d598b50..21dfcce87 100644 --- a/package.json +++ b/package.json @@ -121,5 +121,5 @@ "node": "18.x" }, "name": "mochi-discord", - "version": "6.52.7" + "version": "6.52.8-rc.1" }