From 97b94b84f5897f72d07b12aa4992d7b04f200bde Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Sat, 14 Dec 2024 11:35:48 -0700 Subject: [PATCH 01/11] feat: add and use group store in groups page --- components/groups/components/myGroups.tsx | 8 +-- contexts/groupAddressProvider.tsx | 13 +++++ pages/_app.tsx | 69 ++++++++++++----------- pages/factory/index.tsx | 11 ++++ pages/groups/index.tsx | 21 ++++--- stores/groupAddressStore.tsx | 49 ++++++++++++++++ stores/index.ts | 0 7 files changed, 127 insertions(+), 44 deletions(-) create mode 100644 contexts/groupAddressProvider.tsx create mode 100644 stores/groupAddressStore.tsx create mode 100644 stores/index.ts diff --git a/components/groups/components/myGroups.tsx b/components/groups/components/myGroups.tsx index 6e584ef..087138e 100644 --- a/components/groups/components/myGroups.tsx +++ b/components/groups/components/myGroups.tsx @@ -34,7 +34,7 @@ export function YourGroups({ isLoading, refetch, }: { - groups: ExtendedQueryGroupsByMemberResponseSDKType; + groups: ExtendedGroupType[]; proposals: { [policyAddress: string]: ProposalSDKType[] }; isLoading: boolean; refetch: () => void; @@ -54,7 +54,7 @@ export function YourGroups({ const router = useRouter(); const { address } = useChain('manifest'); - const filteredGroups = groups.groups.filter(group => + const filteredGroups = groups.filter(group => (group.ipfsMetadata?.title || 'Untitled Group').toLowerCase().includes(searchTerm.toLowerCase()) ); @@ -68,7 +68,7 @@ export function YourGroups({ // Check if there's a policy address in the URL on component mount const { policyAddress } = router.query; if (policyAddress && typeof policyAddress === 'string') { - const group = groups.groups.find( + const group = groups.find( g => g.policies && g.policies.length > 0 && g.policies[0]?.address === policyAddress ); if (group) { @@ -81,7 +81,7 @@ export function YourGroups({ }); } } - }, [router.query, groups.groups]); + }, [router.query, groups]); useEffect(() => { // Scroll to top when a group is selected diff --git a/contexts/groupAddressProvider.tsx b/contexts/groupAddressProvider.tsx new file mode 100644 index 0000000..a3d74d0 --- /dev/null +++ b/contexts/groupAddressProvider.tsx @@ -0,0 +1,13 @@ +import { ReactNode } from 'react'; +import { useChain } from '@cosmos-kit/react'; +import { useInitializeGroupStore } from '@/stores/groupAddressStore'; +import env from '@/config/env'; +interface GroupAddressProviderProps { + children: ReactNode; +} + +export const GroupAddressProvider = ({ children }: GroupAddressProviderProps) => { + const { address } = useChain(env.chain); + useInitializeGroupStore(address ?? ''); + return <>{children}; +}; diff --git a/pages/_app.tsx b/pages/_app.tsx index ca9e91b..ebfe69a 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -34,6 +34,7 @@ import { import MobileNav from '@/components/react/mobileNav'; import { OPENLOGIN_NETWORK_TYPE } from '@toruslabs/openlogin-utils'; +import { GroupAddressProvider } from '@/contexts/groupAddressProvider'; type ManifestAppProps = AppProps & { Component: AppProps['Component']; @@ -192,43 +193,45 @@ function ManifestApp({ Component, pageProps }: ManifestAppProps) { // @ts-ignore walletModal={TailwindModal} > - - -
-
- -
+ + + +
+
+ +
-
-
- + > +
+ +
+
+ +
-
- -
-
- - {/* Web3auth signing modal */} - {isBrowser && - createPortal( - web3AuthPrompt?.resolve(false)} - data={web3AuthPrompt?.signData ?? ({} as SignData)} - approve={() => web3AuthPrompt?.resolve(true)} - reject={() => web3AuthPrompt?.resolve(false)} - />, - document.body - )} -
-
+ + {/* Web3auth signing modal */} + {isBrowser && + createPortal( + web3AuthPrompt?.resolve(false)} + data={web3AuthPrompt?.signData ?? ({} as SignData)} + approve={() => web3AuthPrompt?.resolve(true)} + reject={() => web3AuthPrompt?.resolve(false)} + />, + document.body + )} + + +
} diff --git a/pages/factory/index.tsx b/pages/factory/index.tsx index 9110b72..2888c76 100644 --- a/pages/factory/index.tsx +++ b/pages/factory/index.tsx @@ -12,9 +12,20 @@ import Head from 'next/head'; import React, { useMemo } from 'react'; import { ExtendedMetadataSDKType } from '@/utils'; import env from '@/config/env'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; export default function Factory() { const { address, isWalletConnected } = useChain(env.chain); + const { + groups, + policyAddresses, + selectedAddress, + setSelectedAddress, + isGroupByMemberLoading, + isGroupByMemberError, + refetchGroupByMember, + } = useGroupAddressStore(); + const { denoms, isDenomsLoading, isDenomsError, refetchDenoms } = useTokenFactoryDenomsFromAdmin( address ?? '' ); diff --git a/pages/groups/index.tsx b/pages/groups/index.tsx index 1531637..b167aed 100644 --- a/pages/groups/index.tsx +++ b/pages/groups/index.tsx @@ -7,14 +7,21 @@ import Link from 'next/link'; import React, { useState } from 'react'; import { useGroupsByMember, useProposalsByPolicyAccountAll } from '@/hooks'; import env from '@/config/env'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; export default function Groups() { const { address, isWalletConnected } = useChain(env.chain); - const { groupByMemberData, isGroupByMemberLoading, isGroupByMemberError, refetchGroupByMember } = - useGroupsByMember(address ?? ''); + const { + groups, + policyAddresses, + selectedAddress, + setSelectedAddress, + isGroupByMemberLoading, + isGroupByMemberError, + refetchGroupByMember, + } = useGroupAddressStore(); - const groupPolicyAddresses = - groupByMemberData?.groups?.map(group => group.policies[0].address) ?? []; + const groupPolicyAddresses = groups?.map(group => group.policies[0].address) ?? []; const { proposalsByPolicyAccount, isProposalsError, isProposalsLoading, refetchProposals } = useProposalsByPolicyAccountAll(groupPolicyAddresses ?? []); @@ -76,19 +83,19 @@ export default function Groups() { /> ) : isLoading ? ( ) : isError ? (
Error loading groups or proposals
- ) : groupByMemberData?.groups.length === 0 ? ( + ) : groups?.length === 0 ? ( ) : ( <> void; + refetchGroupByMember: () => void; + isGroupByMemberLoading: boolean; + isGroupByMemberError: boolean | Error; +} + +export const useGroupAddressStore = create(set => ({ + groups: [], + policyAddresses: [], + selectedAddress: null, + setSelectedAddress: address => set({ selectedAddress: address }), + refetchGroupByMember: () => set({ groups: [], policyAddresses: [] }), + isGroupByMemberLoading: false, + isGroupByMemberError: false, +})); + +// Custom hook to sync the query data with the store +export const useInitializeGroupStore = (address: string) => { + const { groupByMemberData, isGroupByMemberLoading, isGroupByMemberError, refetchGroupByMember } = + useGroupsByMember(address); + + useEffect(() => { + if (groupByMemberData?.groups) { + const policyAddresses = groupByMemberData.groups.flatMap(group => + group.policies.map(policy => policy.address) + ); + + useGroupAddressStore.setState({ + groups: groupByMemberData.groups, + policyAddresses, + // Only set selectedAddress if it's not already set + selectedAddress: + useGroupAddressStore.getState().selectedAddress ?? policyAddresses[0] ?? null, + isGroupByMemberLoading, + isGroupByMemberError, + refetchGroupByMember, + }); + } + }, [groupByMemberData]); +}; diff --git a/stores/index.ts b/stores/index.ts new file mode 100644 index 0000000..e69de29 From eb64f92a5da4c1c0b5d525311e14cc10c3a042c7 Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Sun, 15 Dec 2024 00:31:05 -0700 Subject: [PATCH 02/11] feat: show groups tokens in factory page --- bun.lockb | Bin 565868 -> 564324 bytes components/factory/components/MyDenoms.tsx | 488 +++++++++++++-------- components/icons/GithubIcon.tsx | 16 + components/icons/index.ts | 1 + components/wallet.tsx | 8 +- contexts/groupAddressProvider.tsx | 16 +- hooks/useLcdQueryClient.ts | 2 +- hooks/useManifestLcdQueryClient.ts | 4 +- hooks/usePoaLcdQueryClient.ts | 2 +- hooks/useQueries.ts | 24 +- pages/factory/index.tsx | 63 +-- stores/groupAddressStore.tsx | 11 +- 12 files changed, 406 insertions(+), 229 deletions(-) create mode 100644 components/icons/GithubIcon.tsx diff --git a/bun.lockb b/bun.lockb index 07aa674ce74e7cd986f8150fbc71ab512a837d74..3a3a7c39aaf5cb4ec7c12b37cdf0fabb19de12a3 100755 GIT binary patch delta 76234 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 delta 77571 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 diff --git a/components/factory/components/MyDenoms.tsx b/components/factory/components/MyDenoms.tsx index fee4245..39e0f12 100644 --- a/components/factory/components/MyDenoms.tsx +++ b/components/factory/components/MyDenoms.tsx @@ -3,26 +3,43 @@ import { useRouter } from 'next/router'; import { DenomImage } from './DenomImage'; import Link from 'next/link'; import { truncateString, ExtendedMetadataSDKType, shiftDigits, formatTokenDisplay } from '@/utils'; -import { SearchIcon, MintIcon, BurnIcon, TransferIcon } from '@/components/icons'; +import { + SearchIcon, + MintIcon, + BurnIcon, + TransferIcon, + FactoryIcon, + GithubIcon, +} from '@/components/icons'; import { DenomInfoModal } from '@/components/factory/modals/denomInfo'; import MintModal from '@/components/factory/modals/MintModal'; import BurnModal from '@/components/factory/modals/BurnModal'; import { UpdateDenomMetadataModal } from '@/components/factory/modals/updateDenomMetadata'; -import { PiInfo } from 'react-icons/pi'; -import { usePoaGetAdmin } from '@/hooks'; +import { PiCaretDownBold, PiInfo } from 'react-icons/pi'; +import { ExtendedGroupType, usePoaGetAdmin } from '@/hooks'; import useIsMobile from '@/hooks/useIsMobile'; import TransferModal from '@/components/factory/modals/TransferModal'; export default function MyDenoms({ + groups, + setSelectedAddress, + selectedAddress, denoms, isLoading, refetchDenoms, address, + isDataReady, + isError, }: { + groups: ExtendedGroupType[]; + setSelectedAddress: (address: string) => void; + selectedAddress: string; denoms: ExtendedMetadataSDKType[]; isLoading: boolean; refetchDenoms: () => void; address: string; + isDataReady: boolean; + isError: boolean; }) { const [searchQuery, setSearchQuery] = useState(''); const [currentPage, setCurrentPage] = useState(1); @@ -164,185 +181,314 @@ export default function MyDenoms({
-
- - - +
+
+ + +
+ +
+ + + +
-
-
- - - - - - - - - - - {isLoading - ? Array(isMobile ? 5 : 8) - .fill(0) - .map((_, index) => ( - - + + + + + )) + : paginatedDenoms.map(denom => ( + handleDenomSelect(denom)} + onMint={e => { + e.stopPropagation(); + setSelectedDenom(denom); + setModalType('mint'); + router.push(`/factory?denom=${denom.base}&action=mint`, undefined, { + shallow: true, + }); + }} + onBurn={e => { + e.stopPropagation(); + setSelectedDenom(denom); + setModalType('burn'); + router.push(`/factory?denom=${denom.base}&action=burn`, undefined, { + shallow: true, + }); + }} + onTransfer={e => handleTransferModal(denom, e)} + onUpdate={e => handleUpdateModal(denom, e)} + /> + ))} + +
TokenNameTotal SupplyActions
-
-
-
-
+ {isError && !isLoading ? ( +
+
+
+

+ Error loading tokens! +

+

+ Please refresh the page and check the logs! Use the button to create an issue on + Github. +

+
+ + + Open an issue + +
+
+
+ +
+
+
+ ) : !isDataReady && !isLoading ? ( +
+
+
+

+ No factory tokens! +

+

+ Click the button to create your own token! +

+
+ + + Create a token + +
+
+
+ +
+
+
+ ) : ( +
+
+ + + + + + + + + + + {isLoading + ? Array(isMobile ? 5 : 8) + .fill(0) + .map((_, index) => ( + + - - - - - )) - : paginatedDenoms.map(denom => ( - handleDenomSelect(denom)} - onMint={e => { - e.stopPropagation(); - setSelectedDenom(denom); - setModalType('mint'); - router.push(`/factory?denom=${denom.base}&action=mint`, undefined, { - shallow: true, - }); - }} - onBurn={e => { - e.stopPropagation(); - setSelectedDenom(denom); - setModalType('burn'); - router.push(`/factory?denom=${denom.base}&action=burn`, undefined, { - shallow: true, - }); - }} - onTransfer={e => handleTransferModal(denom, e)} - onUpdate={e => handleUpdateModal(denom, e)} - /> - ))} - -
TokenNameTotal SupplyActions
+
+
+
+
+
-
-
-
-
-
-
-
- - - -
-
- {totalPages > 1 && ( -
e.stopPropagation()} - role="navigation" - aria-label="Pagination" - > -
+
+
+
+
+
+ + + + +
+
+ {totalPages > 1 && ( +
e.stopPropagation()} + role="navigation" + aria-label="Pagination" > - ‹ - + - {[...Array(totalPages)].map((_, index) => { - const pageNum = index + 1; - if ( - pageNum === 1 || - pageNum === totalPages || - (pageNum >= currentPage - 1 && pageNum <= currentPage + 1) - ) { - return ( - - ); - } else if (pageNum === currentPage - 2 || pageNum === currentPage + 2) { - return ( - - ); - } - return null; - })} + aria-label={`Page ${pageNum}`} + aria-current={currentPage === pageNum ? 'page' : undefined} + > + {pageNum} + + ); + } else if (pageNum === currentPage - 2 || pageNum === currentPage + 2) { + return ( + + ); + } + return null; + })} - +
+ )} +
+
+ + -
- )} -
-
- - - + +
- + )} > = props => ( + + + +); diff --git a/components/icons/index.ts b/components/icons/index.ts index b632669..ef17cda 100644 --- a/components/icons/index.ts +++ b/components/icons/index.ts @@ -26,3 +26,4 @@ export * from './BurnIcon'; export * from './MintIcon'; export * from './QuestionIcon'; export * from './SendTxIcon'; +export * from './GithubIcon'; diff --git a/components/wallet.tsx b/components/wallet.tsx index 1935827..f1a7e13 100644 --- a/components/wallet.tsx +++ b/components/wallet.tsx @@ -212,12 +212,8 @@ export const IconWallet: React.FC = ({ chainName }) => { return (
diff --git a/contexts/groupAddressProvider.tsx b/contexts/groupAddressProvider.tsx index a3d74d0..232a723 100644 --- a/contexts/groupAddressProvider.tsx +++ b/contexts/groupAddressProvider.tsx @@ -1,13 +1,23 @@ -import { ReactNode } from 'react'; +import { ReactNode, useEffect } from 'react'; import { useChain } from '@cosmos-kit/react'; import { useInitializeGroupStore } from '@/stores/groupAddressStore'; import env from '@/config/env'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; + interface GroupAddressProviderProps { children: ReactNode; } export const GroupAddressProvider = ({ children }: GroupAddressProviderProps) => { - const { address } = useChain(env.chain); - useInitializeGroupStore(address ?? ''); + const { address, isWalletConnected } = useChain(env.chain); + + useEffect(() => { + if (address && isWalletConnected) { + useGroupAddressStore.getState().setSelectedAddress(address); + } + }, [address, isWalletConnected]); + + useInitializeGroupStore(address || ''); + return <>{children}; }; diff --git a/hooks/useLcdQueryClient.ts b/hooks/useLcdQueryClient.ts index f9eebc6..e8a0ccd 100644 --- a/hooks/useLcdQueryClient.ts +++ b/hooks/useLcdQueryClient.ts @@ -6,7 +6,7 @@ const createLcdQueryClient = cosmos.ClientFactory.createLCDClient; export const useLcdQueryClient = () => { const lcdQueryClient = useQuery({ - queryKey: ['lcdQueryClient', env.apiUrl], + queryKey: ['cosmosQueryClient', env.apiUrl], queryFn: () => createLcdQueryClient({ restEndpoint: env.apiUrl, diff --git a/hooks/useManifestLcdQueryClient.ts b/hooks/useManifestLcdQueryClient.ts index ae26524..34080f3 100644 --- a/hooks/useManifestLcdQueryClient.ts +++ b/hooks/useManifestLcdQueryClient.ts @@ -6,7 +6,7 @@ const createLcdQueryClient = osmosis.ClientFactory.createLCDClient; export const useManifestLcdQueryClient = () => { const lcdQueryClient = useQuery({ - queryKey: ['lcdQueryClient', env.apiUrl], + queryKey: ['factoryQueryClient', env.apiUrl], queryFn: () => createLcdQueryClient({ restEndpoint: env.apiUrl, @@ -16,6 +16,6 @@ export const useManifestLcdQueryClient = () => { }); return { - lcdQueryClient: lcdQueryClient.data, + manifestLcdQueryClient: lcdQueryClient.data, }; }; diff --git a/hooks/usePoaLcdQueryClient.ts b/hooks/usePoaLcdQueryClient.ts index f7cac76..5f0662a 100644 --- a/hooks/usePoaLcdQueryClient.ts +++ b/hooks/usePoaLcdQueryClient.ts @@ -7,7 +7,7 @@ const createLcdQueryClient = strangelove_ventures.ClientFactory.createLCDClient; export const usePoaLcdQueryClient = () => { const lcdQueryClient = useQuery({ - queryKey: ['lcdQueryClient', env.apiUrl], + queryKey: ['poaQueryClient', env.apiUrl], queryFn: () => createLcdQueryClient({ restEndpoint: env.apiUrl, diff --git a/hooks/useQueries.ts b/hooks/useQueries.ts index 5689a8e..12ab639 100644 --- a/hooks/useQueries.ts +++ b/hooks/useQueries.ts @@ -17,6 +17,7 @@ import { TransactionGroup } from '@/components'; import { Octokit } from 'octokit'; import { useOsmosisRpcQueryClient } from '@/hooks/useOsmosisRpcQueryClient'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; export interface IPFSMetadata { title: string; authors: string | string[]; @@ -452,6 +453,7 @@ export const useTotalSupply = () => { isTotalSupplyLoading: totalSupplyQuery.isLoading, isTotalSupplyError: totalSupplyQuery.isError, refetchTotalSupply: totalSupplyQuery.refetch, + totalSupplyError: totalSupplyQuery.error, }; }; @@ -580,28 +582,27 @@ export const useValidators = () => { }; }; -export const useTokenFactoryDenomsFromAdmin = (address: string) => { - const { lcdQueryClient } = useManifestLcdQueryClient(); +export const useTokenFactoryDenomsFromAdmin = () => { + const { manifestLcdQueryClient } = useManifestLcdQueryClient(); + const { selectedAddress } = useGroupAddressStore(); const fetchDenoms = async () => { - if (!lcdQueryClient) { - throw new Error('LCD Client not ready'); - } - if (!address) { + if (!manifestLcdQueryClient || !selectedAddress) { return { denoms: [] }; } - return await lcdQueryClient.osmosis.tokenfactory.v1beta1.denomsFromAdmin({ - admin: address, + return await manifestLcdQueryClient.osmosis.tokenfactory.v1beta1.denomsFromAdmin({ + admin: selectedAddress, }); }; const denomsQuery = useQuery({ - queryKey: [address + 'denoms'], + queryKey: ['denoms', selectedAddress, !!manifestLcdQueryClient], queryFn: fetchDenoms, - enabled: !!lcdQueryClient && !!address, + enabled: Boolean(manifestLcdQueryClient && selectedAddress), staleTime: 0, refetchOnMount: true, refetchOnWindowFocus: true, + retry: 2, }); return { @@ -609,6 +610,7 @@ export const useTokenFactoryDenomsFromAdmin = (address: string) => { isDenomsLoading: denomsQuery.isLoading, isDenomsError: denomsQuery.isError, refetchDenoms: denomsQuery.refetch, + denomsError: denomsQuery.error, }; }; @@ -667,6 +669,7 @@ export const useTokenFactoryDenomsMetadata = () => { isMetadatasLoading: denomsQuery.isLoading, isMetadatasError: denomsQuery.isError, refetchMetadatas: denomsQuery.refetch, + metadatasError: denomsQuery.error, }; }; @@ -695,6 +698,7 @@ export const useTokenBalances = (address: string) => { isBalancesLoading: balancesQuery.isLoading, isBalancesError: balancesQuery.isError, refetchBalances: balancesQuery.refetch, + balancesError: balancesQuery.error, }; }; diff --git a/pages/factory/index.tsx b/pages/factory/index.tsx index 2888c76..385d06c 100644 --- a/pages/factory/index.tsx +++ b/pages/factory/index.tsx @@ -16,26 +16,25 @@ import { useGroupAddressStore } from '@/stores/groupAddressStore'; export default function Factory() { const { address, isWalletConnected } = useChain(env.chain); - const { - groups, - policyAddresses, - selectedAddress, - setSelectedAddress, - isGroupByMemberLoading, - isGroupByMemberError, - refetchGroupByMember, - } = useGroupAddressStore(); + const { groups, selectedAddress, setSelectedAddress } = useGroupAddressStore(); - const { denoms, isDenomsLoading, isDenomsError, refetchDenoms } = useTokenFactoryDenomsFromAdmin( - address ?? '' - ); - const { metadatas, isMetadatasLoading, isMetadatasError, refetchMetadatas } = + // Only proceed with a valid address + const effectiveAddress = selectedAddress || address || ''; + const isValidAddress = Boolean(effectiveAddress && effectiveAddress.length > 0); + + const { denoms, isDenomsLoading, isDenomsError, refetchDenoms, denomsError } = + useTokenFactoryDenomsFromAdmin(); + const { metadatas, isMetadatasLoading, isMetadatasError, refetchMetadatas, metadatasError } = useTokenFactoryDenomsMetadata(); - const { balances, isBalancesLoading, isBalancesError, refetchBalances } = useTokenBalances( - address ?? '' - ); - const { totalSupply, isTotalSupplyLoading, isTotalSupplyError, refetchTotalSupply } = - useTotalSupply(); + const { balances, isBalancesLoading, isBalancesError, refetchBalances, balancesError } = + useTokenBalances(selectedAddress ? selectedAddress : (address ?? '')); + const { + totalSupply, + isTotalSupplyLoading, + isTotalSupplyError, + refetchTotalSupply, + totalSupplyError, + } = useTotalSupply(); const isLoading = isDenomsLoading || isMetadatasLoading || isBalancesLoading || isTotalSupplyLoading; @@ -73,6 +72,16 @@ export default function Factory() { const isDataReady = combinedData.length > 0; + // Early return if no valid address + if (!isValidAddress) { + return ( + } + /> + ); + } + return (
@@ -125,25 +134,17 @@ export default function Factory() { description="Use the button below to connect your wallet and start creating new tokens." icon={} /> - ) : isLoading ? ( - - ) : isError ? ( -
- Error loading tokens. Please try again. -
- ) : !isDataReady ? ( -
No token data available.
) : ( )}
diff --git a/stores/groupAddressStore.tsx b/stores/groupAddressStore.tsx index 98462bf..484eef7 100644 --- a/stores/groupAddressStore.tsx +++ b/stores/groupAddressStore.tsx @@ -17,7 +17,10 @@ export const useGroupAddressStore = create(set => ({ groups: [], policyAddresses: [], selectedAddress: null, - setSelectedAddress: address => set({ selectedAddress: address }), + setSelectedAddress: address => + set({ + selectedAddress: address && address.length > 0 ? address : null, + }), refetchGroupByMember: () => set({ groups: [], policyAddresses: [] }), isGroupByMemberLoading: false, isGroupByMemberError: false, @@ -37,13 +40,13 @@ export const useInitializeGroupStore = (address: string) => { useGroupAddressStore.setState({ groups: groupByMemberData.groups, policyAddresses, - // Only set selectedAddress if it's not already set + // Prioritize user's address if it exists selectedAddress: - useGroupAddressStore.getState().selectedAddress ?? policyAddresses[0] ?? null, + useGroupAddressStore.getState().selectedAddress ?? address ?? policyAddresses[0] ?? null, isGroupByMemberLoading, isGroupByMemberError, refetchGroupByMember, }); } - }, [groupByMemberData]); + }, [groupByMemberData, address]); }; From 426b93b5d272309f83a24c64ee4939c63357b0e3 Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Sun, 15 Dec 2024 00:50:12 -0700 Subject: [PATCH 03/11] feat: allow groups to mint tokens --- components/factory/components/MyDenoms.tsx | 4 ++ components/factory/forms/MintForm.tsx | 52 ++++++++++++------- components/factory/modals/BurnModal.tsx | 2 + components/factory/modals/MintModal.tsx | 20 +++---- components/factory/modals/TransferModal.tsx | 2 + .../factory/modals/updateDenomMetadata.tsx | 2 + 6 files changed, 50 insertions(+), 32 deletions(-) diff --git a/components/factory/components/MyDenoms.tsx b/components/factory/components/MyDenoms.tsx index 39e0f12..f1a0c7c 100644 --- a/components/factory/components/MyDenoms.tsx +++ b/components/factory/components/MyDenoms.tsx @@ -511,6 +511,7 @@ export default function MyDenoms({ isOpen={modalType === 'mint'} onClose={handleCloseModal} onSwitchToMultiMint={handleSwitchToMultiMint} + isGroup={selectedAddress !== address} /> { @@ -541,6 +544,7 @@ export default function MyDenoms({ /> { if (!open) { diff --git a/components/factory/forms/MintForm.tsx b/components/factory/forms/MintForm.tsx index e957425..ee8594a 100644 --- a/components/factory/forms/MintForm.tsx +++ b/components/factory/forms/MintForm.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import { useFeeEstimation, useTx } from '@/hooks'; -import { osmosis } from '@liftedinit/manifestjs'; +import { osmosis, cosmos } from '@liftedinit/manifestjs'; import { parseNumberToBigInt, shiftDigits, ExtendedMetadataSDKType, truncateString } from '@/utils'; import { MdContacts } from 'react-icons/md'; @@ -10,6 +10,9 @@ import Yup from '@/utils/yupExtensions'; import { NumberInput, TextInput } from '@/components/react/inputs'; import { TailwindModal } from '@/components/react/modal'; import env from '@/config/env'; +import { Any } from '@liftedinit/manifestjs/dist/codegen/google/protobuf/any'; +import { MsgMint } from '@liftedinit/manifestjs/dist/codegen/osmosis/tokenfactory/v1beta1/tx'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; export default function MintForm({ isAdmin, @@ -18,7 +21,7 @@ export default function MintForm({ refetch, balance, totalSupply, - onMultiMintClick, + isGroup, }: Readonly<{ isAdmin: boolean; denom: ExtendedMetadataSDKType; @@ -26,16 +29,16 @@ export default function MintForm({ refetch: () => void; balance: string; totalSupply: string; - onMultiMintClick: () => void; + isGroup: boolean; }>) { const [amount, setAmount] = useState(''); const [recipient, setRecipient] = useState(address); const [isContactsOpen, setIsContactsOpen] = useState(false); - + const { selectedAddress } = useGroupAddressStore(); const { tx, isSigning, setIsSigning } = useTx(env.chain); const { estimateFee } = useFeeEstimation(env.chain); const { mint } = osmosis.tokenfactory.v1beta1.MessageComposer.withTypeUrl; - + const { submitProposal } = cosmos.group.v1.MessageComposer.withTypeUrl; const exponent = denom?.denom_units?.find((unit: { denom: string }) => unit.denom === denom.display)?.exponent || 0; @@ -64,8 +67,32 @@ export default function MintForm({ mintToAddress: recipient, }); - const fee = await estimateFee(address ?? '', [msg]); - await tx([msg], { + const mintProp = submitProposal({ + groupPolicyAddress: selectedAddress ?? '', + messages: [ + Any.fromPartial({ + typeUrl: MsgMint.typeUrl, + value: MsgMint.encode( + mint({ + amount: { + amount: amountInBaseUnits, + denom: denom.base, + }, + sender: selectedAddress ?? '', + mintToAddress: recipient, + }).value + ).finish(), + }), + ], + metadata: '', + proposers: [address], + title: `Mint Tokens`, + summary: `This proposal will mint ${amount} ${denom.display.split('/').pop()} to ${recipient}`, + exec: 0, + }); + + const fee = await estimateFee(address ?? '', [isGroup ? mintProp : msg]); + await tx([isGroup ? mintProp : msg], { fee, onSuccess: () => { setAmount(''); @@ -222,17 +249,6 @@ export default function MintForm({ )}
- {isMFX && ( - - )} ); } diff --git a/components/factory/modals/BurnModal.tsx b/components/factory/modals/BurnModal.tsx index f932a20..c8d2561 100644 --- a/components/factory/modals/BurnModal.tsx +++ b/components/factory/modals/BurnModal.tsx @@ -13,6 +13,7 @@ export default function BurnModal({ isOpen, onClose, onSwitchToMultiBurn, + isGroup, }: { denom: ExtendedMetadataSDKType | null; address: string; @@ -22,6 +23,7 @@ export default function BurnModal({ isOpen: boolean; onClose: () => void; onSwitchToMultiBurn: () => void; + isGroup: boolean; }) { useEffect(() => { const handleEscape = (e: KeyboardEvent) => { diff --git a/components/factory/modals/MintModal.tsx b/components/factory/modals/MintModal.tsx index 5a28905..746107a 100644 --- a/components/factory/modals/MintModal.tsx +++ b/components/factory/modals/MintModal.tsx @@ -1,9 +1,9 @@ import React, { useEffect, useState } from 'react'; -import { MetadataSDKType } from '@liftedinit/manifestjs/dist/codegen/cosmos/bank/v1beta1/bank'; + import MintForm from '@/components/factory/forms/MintForm'; -import { useGroupsByAdmin, usePoaGetAdmin } from '@/hooks'; +import { useGroupsByAdmin } from '@/hooks'; import { ExtendedMetadataSDKType, truncateString } from '@/utils'; -import { MultiMintModal } from '../../admins/modals/multiMfxMintModal'; + import { createPortal } from 'react-dom'; export default function MintModal({ @@ -17,6 +17,7 @@ export default function MintModal({ onSwitchToMultiMint, admin, isPoaAdminLoading, + isGroup, }: { denom: ExtendedMetadataSDKType | null; address: string; @@ -28,6 +29,7 @@ export default function MintModal({ onSwitchToMultiMint: () => void; admin: string; isPoaAdminLoading: boolean; + isGroup: boolean; }) { useEffect(() => { const handleEscape = (e: KeyboardEvent) => { @@ -40,8 +42,6 @@ export default function MintModal({ return () => document.removeEventListener('keydown', handleEscape); }, [isOpen]); - const [isMultiMintOpen, setIsMultiMintOpen] = useState(false); - const { groupByAdmin, isGroupByAdminLoading } = useGroupsByAdmin( admin ?? 'manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj' ); @@ -55,14 +55,6 @@ export default function MintModal({ const safeBalance = balance || '0'; const safeTotalSupply = totalSupply || '0'; - const handleMultiMintOpen = () => { - onSwitchToMultiMint(); - }; - - const handleMultiMintClose = () => { - setIsMultiMintOpen(false); - }; - const modalContent = ( )} diff --git a/components/factory/modals/TransferModal.tsx b/components/factory/modals/TransferModal.tsx index 53e0205..55d8102 100644 --- a/components/factory/modals/TransferModal.tsx +++ b/components/factory/modals/TransferModal.tsx @@ -22,6 +22,7 @@ export default function TransferModal({ isOpen, onClose, onSuccess, + isGroup, }: { openTransferDenomModal: boolean; setOpenTransferDenomModal: (open: boolean) => void; @@ -31,6 +32,7 @@ export default function TransferModal({ isOpen: boolean; onClose: () => void; onSuccess: () => void; + isGroup: boolean; }) { useEffect(() => { const handleEscape = (e: KeyboardEvent) => { diff --git a/components/factory/modals/updateDenomMetadata.tsx b/components/factory/modals/updateDenomMetadata.tsx index eda5187..426d5b2 100644 --- a/components/factory/modals/updateDenomMetadata.tsx +++ b/components/factory/modals/updateDenomMetadata.tsx @@ -38,6 +38,7 @@ export function UpdateDenomMetadataModal({ address, modalId, onSuccess, + isGroup, }: { openUpdateDenomMetadataModal: boolean; setOpenUpdateDenomMetadataModal: (open: boolean) => void; @@ -45,6 +46,7 @@ export function UpdateDenomMetadataModal({ address: string; modalId: string; onSuccess: () => void; + isGroup: boolean; }) { const handleCloseModal = (formikReset?: () => void) => { setOpenUpdateDenomMetadataModal(false); From 98bc05b5ac998c173de752b59b48a30afd499a9f Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Sun, 15 Dec 2024 01:03:54 -0700 Subject: [PATCH 04/11] feat: allow groups to burn tokens --- components/factory/forms/BurnForm.tsx | 402 ++++++++++-------------- components/factory/forms/MintForm.tsx | 252 +++++++-------- components/factory/modals/BurnModal.tsx | 4 +- components/factory/modals/MintModal.tsx | 1 - 4 files changed, 283 insertions(+), 376 deletions(-) diff --git a/components/factory/forms/BurnForm.tsx b/components/factory/forms/BurnForm.tsx index 8cc2119..abb7cda 100644 --- a/components/factory/forms/BurnForm.tsx +++ b/components/factory/forms/BurnForm.tsx @@ -1,59 +1,50 @@ import React, { useMemo, useState } from 'react'; import { useTokenFactoryBalance, useFeeEstimation, useTx } from '@/hooks'; -import { cosmos, osmosis, liftedinit } from '@liftedinit/manifestjs'; +import { cosmos, osmosis } from '@liftedinit/manifestjs'; import { MdContacts } from 'react-icons/md'; import { parseNumberToBigInt, shiftDigits, ExtendedMetadataSDKType, truncateString } from '@/utils'; import { Any } from '@liftedinit/manifestjs/dist/codegen/google/protobuf/any'; -import { MsgBurnHeldBalance } from '@liftedinit/manifestjs/dist/codegen/liftedinit/manifest/v1/tx'; -import { useToast } from '@/contexts'; import { Formik, Form } from 'formik'; import Yup from '@/utils/yupExtensions'; import { NumberInput, TextInput } from '@/components/react/inputs'; import { TailwindModal } from '@/components/react/modal'; +import { MsgBurn } from '@liftedinit/manifestjs/dist/codegen/osmosis/tokenfactory/v1beta1/tx'; import env from '@/config/env'; - -interface BurnPair { - address: string; - amount: string; -} +import { useGroupAddressStore } from '@/stores/groupAddressStore'; interface BurnFormProps { - isAdmin: boolean; - admin: string; denom: ExtendedMetadataSDKType; address: string; refetch: () => void; balance: string; totalSupply: string; - onMultiBurnClick: () => void; + + isGroup: boolean; } export default function BurnForm({ - isAdmin, - admin, denom, address, refetch, balance, totalSupply, - onMultiBurnClick, + + isGroup, }: BurnFormProps) { + const { selectedAddress } = useGroupAddressStore(); const [amount, setAmount] = useState(''); const [recipient, setRecipient] = useState(address); - const [isModalOpen, setIsModalOpen] = useState(false); - const [burnPairs, setBurnPairs] = useState([{ address: '', amount: '' }]); - const [isContactsOpen, setIsContactsOpen] = useState(false); const { tx, isSigning, setIsSigning } = useTx(env.chain); const { estimateFee } = useFeeEstimation(env.chain); const { burn } = osmosis.tokenfactory.v1beta1.MessageComposer.withTypeUrl; - const { burnHeldBalance } = liftedinit.manifest.v1.MessageComposer.withTypeUrl; + const { submitProposal } = cosmos.group.v1.MessageComposer.withTypeUrl; - const { setToastMessage } = useToast(); + const exponent = denom?.denom_units?.find(unit => unit.denom === denom.display)?.exponent || 0; const isMFX = denom.base.includes('mfx'); @@ -103,258 +94,187 @@ export default function BurnForm({ try { const amountInBaseUnits = parseNumberToBigInt(amount, exponent).toString(); let msg; - if (isMFX) { - const burnMsg = burnHeldBalance({ - authority: admin ?? '', - burnCoins: [{ denom: denom.base, amount: amountInBaseUnits }], - }); - const encodedMessage = Any.fromPartial({ - typeUrl: burnMsg.typeUrl, - value: MsgBurnHeldBalance.encode(burnMsg.value).finish(), - }); - msg = submitProposal({ - groupPolicyAddress: admin ?? '', - messages: [encodedMessage], - metadata: '', - proposers: [address ?? ''], - title: `Burn MFX`, - summary: `This proposal includes a burn action for MFX.`, - exec: 0, - }); - } else { - msg = burn({ - amount: { - amount: amountInBaseUnits, - denom: denom.base, - }, - sender: address, - burnFromAddress: recipient, - }); - } - const fee = await estimateFee(address ?? '', [msg]); - await tx([msg], { - fee, - onSuccess: () => { - setAmount(''); - refetch(); + msg = burn({ + amount: { + amount: amountInBaseUnits, + denom: denom.base, }, + sender: address, + burnFromAddress: recipient, }); - } catch (error) { - console.error('Error during burning:', error); - } finally { - setIsSigning(false); - } - }; - const handleMultiBurn = async () => { - if (burnPairs.some(pair => !pair.address || !pair.amount || isNaN(Number(pair.amount)))) { - setToastMessage({ - type: 'alert-error', - title: 'Missing fields', - description: 'Please fill in all fields with valid values.', - bgColor: '#e74c3c', - }); - return; - } - setIsSigning(true); - try { - const burnMsg = burnHeldBalance({ - authority: admin ?? '', - burnCoins: burnPairs.map(pair => ({ - denom: denom.base, - amount: parseNumberToBigInt(pair.amount, exponent).toString(), - })), - }); - const encodedMessage = Any.fromPartial({ - typeUrl: burnMsg.typeUrl, - value: MsgBurnHeldBalance.encode(burnMsg.value).finish(), - }); - const msg = submitProposal({ - groupPolicyAddress: admin ?? '', - messages: [encodedMessage], + const burnProp = submitProposal({ + groupPolicyAddress: selectedAddress ?? '', + messages: [ + Any.fromPartial({ + typeUrl: MsgBurn.typeUrl, + value: MsgBurn.encode( + burn({ + amount: { + amount: amountInBaseUnits, + denom: denom.base, + }, + sender: selectedAddress ?? '', + burnFromAddress: recipient, + }).value + ).finish(), + }), + ], metadata: '', - proposers: [address ?? ''], - title: `Multi Burn MFX`, - summary: `This proposal includes multiple burn actions for MFX.`, + proposers: [address], + title: `Burn Tokens`, + summary: `This proposal will burn ${amount} ${denom.display.split('/').pop()} from ${recipient}`, exec: 0, }); - const fee = await estimateFee(address ?? '', [msg]); - await tx([msg], { + const fee = await estimateFee(address ?? '', [isGroup ? burnProp : msg]); + await tx([isGroup ? burnProp : msg], { fee, onSuccess: () => { - setBurnPairs([{ address: '', amount: '' }]); - setIsModalOpen(false); + setAmount(''); refetch(); }, }); } catch (error) { - console.error('Error during multi-burning:', error); + console.error('Error during burning:', error); } finally { setIsSigning(false); } }; - const addBurnPair = () => setBurnPairs([...burnPairs, { address: '', amount: '' }]); - const removeBurnPair = (index: number) => setBurnPairs(burnPairs.filter((_, i) => i !== index)); - const updateBurnPair = (index: number, field: 'address' | 'amount', value: string) => { - const newPairs = [...burnPairs]; - newPairs[index][field] = value; - setBurnPairs(newPairs); - }; - return (
- {isMFX && !isAdmin ? ( -
- You must be apart of the admin group to burn MFX. +
+
+

NAME

+
+

+ {denom.name} +

+
- ) : ( - <> -
-
-

NAME

-
-

- {denom.name} -

-
-
-
-

- CIRCULATING SUPPLY -

-
-

- {Number(shiftDigits(totalSupply, -exponent)).toLocaleString(undefined, { - maximumFractionDigits: exponent, - })}{' '} -

-
-
+
+

+ CIRCULATING SUPPLY +

+
+

+ {Number(shiftDigits(totalSupply, -exponent)).toLocaleString(undefined, { + maximumFractionDigits: exponent, + })}{' '} +

- {!denom.base.includes('umfx') && ( - { - setAmount(values.amount); - setRecipient(values.recipient); - handleBurn(); - }} - validateOnChange={true} - validateOnBlur={true} - > - {({ isValid, dirty, setFieldValue, errors, touched }) => ( -
-
-
- ) => { - setAmount(e.target.value); - setFieldValue('amount', e.target.value); - }} - className={`input input-bordered w-full ${ - touched.amount && errors.amount ? 'input-error' : '' - }`} - /> - {touched.amount && errors.amount && ( -
-
-
- )} -
-
- ) => { - setRecipient(e.target.value); - setFieldValue('recipient', e.target.value); - }} - className={`input input-bordered w-full transition-none ${ - touched.recipient && errors.recipient ? 'input-error' : '' - }`} - rightElement={ - - } - /> - {touched.recipient && errors.recipient && ( -
-
-
- )} -
-
-
-
+ {!denom.base.includes('umfx') && ( + { + setAmount(values.amount); + setRecipient(values.recipient); + handleBurn(); + }} + validateOnChange={true} + validateOnBlur={true} + > + {({ isValid, dirty, setFieldValue, errors, touched }) => ( + +
+
+ ) => { + setAmount(e.target.value); + setFieldValue('amount', e.target.value); + }} + className={`input input-bordered w-full ${ + touched.amount && errors.amount ? 'input-error' : '' + }`} + /> + {touched.amount && errors.amount && ( +
- {isSigning ? ( - - ) : ( - `Burn ${ - denom.display.startsWith('factory') - ? denom.display.split('/').pop()?.toUpperCase() - : truncateString(denom.display, 12) - }` - )} - -
- { - setRecipient(selectedAddress); - setFieldValue('recipient', selectedAddress); +
+
+ )} +
+
+ ) => { + setRecipient(e.target.value); + setFieldValue('recipient', e.target.value); }} + className={`input input-bordered w-full transition-none ${ + touched.recipient && errors.recipient ? 'input-error' : '' + }`} + rightElement={ + + } /> - - )} - + {touched.recipient && errors.recipient && ( +
+
+
+ )} +
+
+
+ +
+ { + setRecipient(selectedAddress); + setFieldValue('recipient', selectedAddress); + }} + /> + )} - + )}
- {isMFX && ( - - )}
); } diff --git a/components/factory/forms/MintForm.tsx b/components/factory/forms/MintForm.tsx index ee8594a..639e23c 100644 --- a/components/factory/forms/MintForm.tsx +++ b/components/factory/forms/MintForm.tsx @@ -15,7 +15,6 @@ import { MsgMint } from '@liftedinit/manifestjs/dist/codegen/osmosis/tokenfactor import { useGroupAddressStore } from '@/stores/groupAddressStore'; export default function MintForm({ - isAdmin, denom, address, refetch, @@ -23,7 +22,6 @@ export default function MintForm({ totalSupply, isGroup, }: Readonly<{ - isAdmin: boolean; denom: ExtendedMetadataSDKType; address: string; refetch: () => void; @@ -109,144 +107,136 @@ export default function MintForm({ return (
- {isMFX && !isAdmin ? ( -
- You must be a member of the admin group to mint MFX. +
+
+

NAME

+
+

+ {denom.name} +

+
- ) : ( - <> -
-
-

NAME

-
-

- {denom.name} -

-
-
-
-

- CIRCULATING SUPPLY -

-
-

- {Number(shiftDigits(totalSupply, -exponent)).toLocaleString(undefined, { - maximumFractionDigits: exponent, - })}{' '} -

-
-
+
+

+ CIRCULATING SUPPLY +

+
+

+ {Number(shiftDigits(totalSupply, -exponent)).toLocaleString(undefined, { + maximumFractionDigits: exponent, + })}{' '} +

- {!denom.base.includes('umfx') && ( - { - setAmount(values.amount); - setRecipient(values.recipient); - handleMint(); - }} - validateOnChange={true} - validateOnBlur={true} - > - {({ isValid, dirty, setFieldValue, errors, touched }) => ( -
-
-
- ) => { - setAmount(e.target.value); - setFieldValue('amount', e.target.value); - }} - className={`input input-bordered w-full ${ - touched.amount && errors.amount ? 'input-error' : '' - }`} - /> - {touched.amount && errors.amount && ( -
-
-
- )} -
-
- ) => { - setRecipient(e.target.value); - setFieldValue('recipient', e.target.value); - }} - className={`input input-bordered w-full transition-none ${ - touched.recipient && errors.recipient ? 'input-error' : '' - }`} - rightElement={ - - } - /> - {touched.recipient && errors.recipient && ( -
-
-
- )} +
+
+ {!denom.base.includes('umfx') && ( + { + setAmount(values.amount); + setRecipient(values.recipient); + handleMint(); + }} + validateOnChange={true} + validateOnBlur={true} + > + {({ isValid, dirty, setFieldValue, errors, touched }) => ( + +
+
+ ) => { + setAmount(e.target.value); + setFieldValue('amount', e.target.value); + }} + className={`input input-bordered w-full ${ + touched.amount && errors.amount ? 'input-error' : '' + }`} + /> + {touched.amount && errors.amount && ( +
+
-
-
- {!denom.base.includes('umfx') && ( + )} +
+
+ ) => { + setRecipient(e.target.value); + setFieldValue('recipient', e.target.value); + }} + className={`input input-bordered w-full transition-none ${ + touched.recipient && errors.recipient ? 'input-error' : '' + }`} + rightElement={ - )} -
- { - setRecipient(selectedAddress); - setFieldValue('recipient', selectedAddress); - }} + } /> - - )} - + {touched.recipient && errors.recipient && ( +
+
+
+ )} +
+
+
+ {!denom.base.includes('umfx') && ( + + )} +
+ { + setRecipient(selectedAddress); + setFieldValue('recipient', selectedAddress); + }} + /> + )} - + )}
diff --git a/components/factory/modals/BurnModal.tsx b/components/factory/modals/BurnModal.tsx index c8d2561..57ae19c 100644 --- a/components/factory/modals/BurnModal.tsx +++ b/components/factory/modals/BurnModal.tsx @@ -90,14 +90,12 @@ export default function BurnModal({
) : ( )}
diff --git a/components/factory/modals/MintModal.tsx b/components/factory/modals/MintModal.tsx index 746107a..27a7d45 100644 --- a/components/factory/modals/MintModal.tsx +++ b/components/factory/modals/MintModal.tsx @@ -98,7 +98,6 @@ export default function MintModal({
) : ( Date: Sun, 15 Dec 2024 01:09:42 -0700 Subject: [PATCH 05/11] feat: allow groups to transfer token admin --- components/factory/modals/TransferModal.tsx | 33 ++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/components/factory/modals/TransferModal.tsx b/components/factory/modals/TransferModal.tsx index 55d8102..7706645 100644 --- a/components/factory/modals/TransferModal.tsx +++ b/components/factory/modals/TransferModal.tsx @@ -1,13 +1,16 @@ import { useEffect } from 'react'; import { ExtendedMetadataSDKType, truncateString } from '@/utils'; import { useDenomAuthorityMetadata, useFeeEstimation, useTx } from '@/hooks'; -import { osmosis } from '@liftedinit/manifestjs'; +import { osmosis, cosmos } from '@liftedinit/manifestjs'; import { createPortal } from 'react-dom'; import Yup from '@/utils/yupExtensions'; import { Form, Formik, FormikValues } from 'formik'; import { TextInput } from '@/components'; import { useToast } from '@/contexts'; import env from '@/config/env'; +import { MsgChangeAdmin } from '@liftedinit/manifestjs/dist/codegen/osmosis/tokenfactory/v1beta1/tx'; +import { Any } from '@liftedinit/manifestjs/dist/codegen/google/protobuf/any'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; const TokenOwnershipSchema = Yup.object().shape({ newAdmin: Yup.string().required('New admin address is required').manifestAddress(), @@ -45,7 +48,7 @@ export default function TransferModal({ return () => document.removeEventListener('keydown', handleEscape); }, [isOpen]); const { setToastMessage } = useToast(); - + const { selectedAddress } = useGroupAddressStore(); const handleCloseModal = (formikReset?: () => void) => { setOpenTransferDenomModal(false); formikReset?.(); @@ -61,6 +64,7 @@ export default function TransferModal({ const { tx, isSigning, setIsSigning } = useTx(env.chain); const { estimateFee } = useFeeEstimation(env.chain); const { changeAdmin } = osmosis.tokenfactory.v1beta1.MessageComposer.withTypeUrl; + const { submitProposal } = cosmos.group.v1.MessageComposer.withTypeUrl; const handleTransfer = async (values: FormikValues, resetForm: () => void) => { setIsSigning(true); @@ -71,9 +75,30 @@ export default function TransferModal({ newAdmin: values.newAdmin, }); - const fee = await estimateFee(address, [msg]); + const transferProp = submitProposal({ + groupPolicyAddress: selectedAddress ?? '', + messages: [ + Any.fromPartial({ + typeUrl: MsgChangeAdmin.typeUrl, + value: MsgChangeAdmin.encode( + changeAdmin({ + sender: selectedAddress ?? '', + denom: denom?.base ?? '', + newAdmin: values.newAdmin, + }).value + ).finish(), + }), + ], + metadata: '', + proposers: [address], + title: `Transfer Ownership`, + summary: `This proposal will transfer ownership of ${denom?.display?.split('/').pop()} to ${values.newAdmin}`, + exec: 0, + }); + + const fee = await estimateFee(address, [isGroup ? transferProp : msg]); - await tx([msg], { + await tx([isGroup ? transferProp : msg], { fee, onSuccess: () => { onSuccess(); From 4463f35558078ee7ff8ea9298d6e255993771486 Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Sun, 15 Dec 2024 01:27:09 -0700 Subject: [PATCH 06/11] feat: add better syntax highligthing for messages --- bun.lockb | Bin 564324 -> 573820 bytes .../factory/modals/updateDenomMetadata.tsx | 44 ++++++++++++++- components/groups/modals/voteDetailsModal.tsx | 53 ++++++++++++++++-- package.json | 2 + 4 files changed, 91 insertions(+), 8 deletions(-) diff --git a/bun.lockb b/bun.lockb index 3a3a7c39aaf5cb4ec7c12b37cdf0fabb19de12a3..eea97acf1d9a892e2d76e421a049f9837f75d737 100755 GIT binary patch delta 122232 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 z

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 delta 117482 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 z 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 I;Vaw!2Y_DASpWb4 diff --git a/components/factory/modals/updateDenomMetadata.tsx b/components/factory/modals/updateDenomMetadata.tsx index 426d5b2..b871a9d 100644 --- a/components/factory/modals/updateDenomMetadata.tsx +++ b/components/factory/modals/updateDenomMetadata.tsx @@ -1,7 +1,7 @@ import { TokenFormData } from '@/helpers/formReducer'; import { useFeeEstimation } from '@/hooks/useFeeEstimation'; import { useTx } from '@/hooks/useTx'; -import { osmosis } from '@liftedinit/manifestjs'; +import { osmosis, cosmos } from '@liftedinit/manifestjs'; import { Formik, Form } from 'formik'; import Yup from '@/utils/yupExtensions'; import { TextInput, TextArea } from '@/components/react/inputs'; @@ -9,6 +9,9 @@ import { truncateString, ExtendedMetadataSDKType } from '@/utils'; import { useEffect } from 'react'; import env from '@/config/env'; import { createPortal } from 'react-dom'; +import { MsgSetDenomMetadata } from '@liftedinit/manifestjs/dist/codegen/osmosis/tokenfactory/v1beta1/tx'; +import { Any } from '@liftedinit/manifestjs/dist/codegen/google/protobuf/any'; +import { useGroupAddressStore } from '@/stores/groupAddressStore'; const TokenDetailsSchema = (context: { subdenom: string }) => Yup.object().shape({ @@ -63,6 +66,7 @@ export function UpdateDenomMetadataModal({ document.addEventListener('keydown', handleEscape); return () => document.removeEventListener('keydown', handleEscape); }, [openUpdateDenomMetadataModal]); + const { selectedAddress } = useGroupAddressStore(); const baseDenom = denom?.base?.split('/').pop() || ''; const fullDenom = `factory/${address}/${baseDenom}`; const symbol = baseDenom.slice(1).toUpperCase(); @@ -85,6 +89,7 @@ export function UpdateDenomMetadataModal({ const { tx, isSigning, setIsSigning } = useTx(env.chain); const { estimateFee } = useFeeEstimation(env.chain); const { setDenomMetadata } = osmosis.tokenfactory.v1beta1.MessageComposer.withTypeUrl; + const { submitProposal } = cosmos.group.v1.MessageComposer.withTypeUrl; const handleUpdate = async (values: TokenFormData, resetForm: () => void) => { setIsSigning(true); @@ -108,8 +113,41 @@ export function UpdateDenomMetadataModal({ }, }); - const fee = await estimateFee(address, [msg]); - await tx([msg], { + const updateProp = submitProposal({ + groupPolicyAddress: selectedAddress ?? '', + messages: [ + Any.fromPartial({ + typeUrl: MsgSetDenomMetadata.typeUrl, + value: MsgSetDenomMetadata.encode( + setDenomMetadata({ + sender: selectedAddress ?? '', + metadata: { + description: values.description || formData.description, + denomUnits: + [ + { denom: fullDenom, exponent: 0, aliases: [symbol] }, + { denom: symbol, exponent: 6, aliases: [fullDenom] }, + ] || formData.denomUnits, + base: fullDenom, + display: symbol, + name: values.name || formData.name, + symbol: symbol, + uri: values.uri || formData.uri, + uriHash: '', + }, + }).value + ).finish(), + }), + ], + metadata: '', + proposers: [address], + title: `Update Metadata`, + summary: `This proposal will update the metadata for ${denom?.display?.split('/').pop()}`, + exec: 0, + }); + + const fee = await estimateFee(address, [isGroup ? updateProp : msg]); + await tx([isGroup ? updateProp : msg], { fee, onSuccess: () => { onSuccess(); diff --git a/components/groups/modals/voteDetailsModal.tsx b/components/groups/modals/voteDetailsModal.tsx index 93e12b8..b8439f4 100644 --- a/components/groups/modals/voteDetailsModal.tsx +++ b/components/groups/modals/voteDetailsModal.tsx @@ -1,6 +1,9 @@ import React, { useEffect, useState, useMemo } from 'react'; import dynamic from 'next/dynamic'; import { createPortal } from 'react-dom'; +import { Light as SyntaxHighlighter } from 'react-syntax-highlighter'; +import json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'; +import { githubGist, github } from 'react-syntax-highlighter/dist/esm/styles/hljs'; import { MemberSDKType, @@ -29,6 +32,8 @@ const Chart = dynamic(() => import('react-apexcharts'), { ssr: false, }) as any; +SyntaxHighlighter.registerLanguage('json', json); + interface VoteMap { [key: string]: VoteOption; } @@ -461,6 +466,10 @@ function VoteDetailsModal({ return () => document.removeEventListener('keydown', handleEscape); }, [showVoteModal, setShowVoteModal, onClose]); + const prettyPrintJSON = (obj: any): string => { + return JSON.stringify(obj, null, 2); + }; + const modalContent = (

@@ -569,8 +578,25 @@ function VoteDetailsModal({

{messageType.split('.').pop().replace('Msg', '')}

-
- {fieldsToShow.map(field => renderMessageField(field, message[field]))} +
+
+                          
+                            {prettyPrintJSON(
+                              fieldsToShow.reduce>((acc, field) => {
+                                acc[field] = message[field];
+                                return acc;
+                              }, {})
+                            )}
+                          
+                        
); @@ -741,8 +767,25 @@ function VoteDetailsModal({ > {messageType.split('.').pop().replace('Msg', '')} -
- {fieldsToShow.map(field => renderMessageField(field, message[field]))} +
+
+                            
+                              {prettyPrintJSON(
+                                fieldsToShow.reduce>((acc, field) => {
+                                  acc[field] = message[field];
+                                  return acc;
+                                }, {})
+                              )}
+                            
+                          
); diff --git a/package.json b/package.json index 98cbe60..4446581 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "react-icons": "^5.3.0", "react-intersection-observer": "^9.13.1", "react-scroll": "^1.9.0", + "react-syntax-highlighter": "^15.6.1", "tailwindcss": "^3.4.10", "three": "^0.169.0", "yup": "^1.4.0" @@ -88,6 +89,7 @@ "@types/react": "18.3.5", "@types/react-dom": "18.3.0", "@types/react-scroll": "^1.8.10", + "@types/react-syntax-highlighter": "^15.5.13", "@types/three": "^0.169.0", "bun-types": "^1.1.29", "codecov": "^3.8.3", From a968ecf00273d4c9c61f99186102ae3d194e16b6 Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Sun, 15 Dec 2024 01:57:26 -0700 Subject: [PATCH 07/11] feat: syntax highlighting --- bun.lockb | Bin 573820 -> 576836 bytes components/groups/modals/voteDetailsModal.tsx | 11 ++++++----- package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/bun.lockb b/bun.lockb index eea97acf1d9a892e2d76e421a049f9837f75d737..8aab8fb58c3478b13152f4ba4fbc4bc61eef38e0 100755 GIT binary patch delta 72882 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 O{%u26_X|* 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 ULOlHr8JX)3B^BN2@u}ti0hE$UH2?qr delta 69963 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

6rt&W`@CX=f#*Jjaxhorpx>ex_hymV`a6Y4!*zG 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 Date: Mon, 16 Dec 2024 16:21:14 -0700 Subject: [PATCH 08/11] fix: properly export the store --- stores/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/stores/index.ts b/stores/index.ts index e69de29..66fad76 100644 --- a/stores/index.ts +++ b/stores/index.ts @@ -0,0 +1 @@ +export * from './groupAddressStore'; From 1b4a7e4afd023139947b7569fc525b72ef8331a0 Mon Sep 17 00:00:00 2001 From: "Felix C. Morency" <1102868+fmorency@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:08:12 -0500 Subject: [PATCH 09/11] fix: use cjs instead of ems --- components/groups/modals/voteDetailsModal.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/groups/modals/voteDetailsModal.tsx b/components/groups/modals/voteDetailsModal.tsx index 4399532..4a6888d 100644 --- a/components/groups/modals/voteDetailsModal.tsx +++ b/components/groups/modals/voteDetailsModal.tsx @@ -2,9 +2,9 @@ import React, { useEffect, useState, useMemo } from 'react'; import dynamic from 'next/dynamic'; import { createPortal } from 'react-dom'; import { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter'; -import json from 'react-syntax-highlighter/dist/esm/languages/prism/json'; -import oneDark from 'react-syntax-highlighter/dist/esm/styles/prism/one-dark'; -import oneLight from 'react-syntax-highlighter/dist/esm/styles/prism/one-light'; +import json from 'react-syntax-highlighter/dist/cjs/languages/prism/json'; +import oneDark from 'react-syntax-highlighter/dist/cjs/styles/prism/one-dark'; +import oneLight from 'react-syntax-highlighter/dist/cjs/styles/prism/one-light'; import { MemberSDKType, From 45e9b058319207e2c2cb4c54266af374b8e933e3 Mon Sep 17 00:00:00 2001 From: "Felix C. Morency" <1102868+fmorency@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:41:40 -0500 Subject: [PATCH 10/11] Revert "fix: use cjs instead of ems" This reverts commit 1b4a7e4afd023139947b7569fc525b72ef8331a0. --- components/groups/modals/voteDetailsModal.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/groups/modals/voteDetailsModal.tsx b/components/groups/modals/voteDetailsModal.tsx index 4a6888d..4399532 100644 --- a/components/groups/modals/voteDetailsModal.tsx +++ b/components/groups/modals/voteDetailsModal.tsx @@ -2,9 +2,9 @@ import React, { useEffect, useState, useMemo } from 'react'; import dynamic from 'next/dynamic'; import { createPortal } from 'react-dom'; import { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter'; -import json from 'react-syntax-highlighter/dist/cjs/languages/prism/json'; -import oneDark from 'react-syntax-highlighter/dist/cjs/styles/prism/one-dark'; -import oneLight from 'react-syntax-highlighter/dist/cjs/styles/prism/one-light'; +import json from 'react-syntax-highlighter/dist/esm/languages/prism/json'; +import oneDark from 'react-syntax-highlighter/dist/esm/styles/prism/one-dark'; +import oneLight from 'react-syntax-highlighter/dist/esm/styles/prism/one-light'; import { MemberSDKType, From 89b60ace9ec1e5f0416ac6dd36ec7326a989635a Mon Sep 17 00:00:00 2001 From: "Felix C. Morency" <1102868+fmorency@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:45:42 -0500 Subject: [PATCH 11/11] fix: transpile esm --- next.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/next.config.js b/next.config.js index 2192699..41ea59e 100644 --- a/next.config.js +++ b/next.config.js @@ -2,6 +2,7 @@ const nextConfig = { output: 'standalone', reactStrictMode: true, + transpilePackages: ['react-syntax-highlighter'], swcMinify: true, images: { domains: [