Add position management events

This commit is contained in:
Riordan Panayides 2023-12-05 21:50:21 +00:00
parent 6834fc3888
commit fd30c65643
3 changed files with 29 additions and 0 deletions

View File

@ -36,6 +36,8 @@ import SheenLoader from './shared/SheenLoader'
import useLeverageMax from 'hooks/useLeverageMax'
import { STAKEABLE_TOKENS_DATA } from 'utils/constants'
import { sleep } from 'utils'
import { usePlausible } from 'next-plausible'
import { TelemetryEvents } from 'utils/telemetry'
const set = mangoStore.getState().set
@ -97,6 +99,7 @@ function StakeForm({ token: selectedToken }: StakeFormProps) {
estimatedNetAPY,
} = useBankRates(selectedToken, leverage)
const leverageMax = useLeverageMax(selectedToken)
const telemetry = usePlausible<TelemetryEvents>()
const stakeBank = useMemo(() => {
return group?.banksMapByName.get(selectedToken)?.[0]
@ -175,6 +178,19 @@ function StakeForm({ token: selectedToken }: StakeFormProps) {
parseFloat(inputAmount),
tokenNum || 0,
)
if (mangoAccount !== undefined) {
telemetry('positionCreate', {
props: {
token: selectedToken,
},
})
} else {
telemetry('positionIncrease', {
props: {
token: selectedToken,
},
})
}
notify({
title: 'Transaction confirmed',
type: 'success',

View File

@ -37,6 +37,8 @@ import ButtonGroup from './forms/ButtonGroup'
import Decimal from 'decimal.js'
import { Disclosure } from '@headlessui/react'
import { sleep } from 'utils'
import { usePlausible } from 'next-plausible'
import { TelemetryEvents } from 'utils/telemetry'
const set = mangoStore.getState().set
@ -79,6 +81,7 @@ function UnstakeForm({ token: selectedToken }: UnstakeFormProps) {
const { usedTokens, totalTokens } = useMangoAccountAccounts()
const { group } = useMangoGroup()
const { mangoAccount } = useMangoAccount()
const telemetry = usePlausible<TelemetryEvents>()
const stakeBank = useMemo(() => {
return group?.banksMapByName.get(selectedToken)?.[0]
@ -197,6 +200,11 @@ function UnstakeForm({ token: selectedToken }: UnstakeFormProps) {
await sleep(500)
await actions.fetchMangoAccounts(mangoAccount.owner)
await actions.fetchWalletTokens(publicKey)
telemetry('positionReduce', {
props: {
token: selectedToken,
},
})
} catch (e) {
console.error('Error depositing:', e)
setSubmitting(false)

5
utils/telemetry.ts Normal file
View File

@ -0,0 +1,5 @@
export type TelemetryEvents = {
positionCreate: { token: string }
positionIncrease: { token: string }
positionReduce: { token: string }
}