Developer Docs
Modifications to asset links must be carried out via an Asset Register Transaction.
import { useAssetMutationMutation, useGetARTM } from '@futureverse/asset-registry-react/v2' const Page = () => { const { data: artm } = useGetARTM({ address: signer.address, operations, }) const { mutateAsync: submitTransactionAsync, data } = useSubmitTransaction() const submitARTM = async () => { // Sign transaction and set on the ARTM instance to validate signature const signature = await signer.signMessage(artm.getMessageToSign()) artm.setSignature(signature) // Submit transaction to Asset Register API submitTransactionAsync({ input: { transaction: artm.message, signature: artm.signature } }) } return ( <button onClick={() => submitARTM()}>Submit ARTM</button> ) }
import { FC } from 'react' import { useGetTransaction } from '@futureverse/asset-registry-react/v2' import { TransactionHash } from '@futureverse/asset-registry/types' type Props = { transactionHash: string } export const TransactionStatus: FC<Props> = ({ transactionHash }) => { const { transaction } = useGetTransaction( { transactionHash: transactionHash as TransactionHash }, { refetchInterval: (data) => (data?.status === 'PENDING' ? 5000 : false), }, ) if (!transaction) return null return ( <div> <h4>Transaction Status: </h4> <pre>{JSON.stringify(transaction, undefined, 2)}</pre> </div> ) }
import { useGetTransactions } from '@futureverse/asset-register-react/v2' import { ChainAddress } from '@futureverse/asset-register/types' export const Transactions = () => { const { transactions } = useGetTransactions({ address: '0x2D2438C6281B5115733287fC279f854c868D3ee2' as ChainAddress, }) if (!transactions) return null return ( <div> {transactions.map((tx) => ( <div key={tx.id}> <div>{tx.transactionHash}</div> <div>{tx.status}</div> </div> ))} </div> ) }
Was this page helpful?