From 3d3ed2e4c6ed934baa96b43489d137726515811d Mon Sep 17 00:00:00 2001 From: Michael Kantor <6068672+kantorcodes@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:04:29 -0500 Subject: [PATCH 1/2] docs: add base64 example Signed-off-by: Michael Kantor <6068672+kantorcodes@users.noreply.github.com> --- demos/react-dapp/src/App.tsx | 67 ++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/demos/react-dapp/src/App.tsx b/demos/react-dapp/src/App.tsx index 67e90d84..20fdeb4e 100644 --- a/demos/react-dapp/src/App.tsx +++ b/demos/react-dapp/src/App.tsx @@ -26,7 +26,7 @@ import { transactionToBase64String, SignAndExecuteQueryParams, ExecuteTransactionParams, -} from '../../../dist/src/index' +} from '../../../dist' import React, { useEffect, useMemo, useState } from 'react' import Modal from './components/Modal' @@ -38,6 +38,7 @@ const App: React.FC = () => { const [description, setDescription] = useState('') const [url, setUrl] = useState('') const [icons, setIcons] = useState('') + const [base64Transaction, setBase64Transaction] = useState('') // Session management states const [dAppConnector, setDAppConnector] = useState(null) @@ -239,6 +240,35 @@ const App: React.FC = () => { return { transaction: transactionSigned } } + const handleBase64TransactionExecution = async () => { + if (!selectedSigner || !base64Transaction) return + + try { + setIsLoading(true) + const accountId = selectedSigner.getAccountId() + const params: SignAndExecuteTransactionParams = { + transactionList: base64Transaction, + signerAccountId: 'hedera:testnet:' + accountId.toString(), + } + + const result = await dAppConnector!.signAndExecuteTransaction(params) + + setModalData({ + title: 'Transaction Executed', + content: JSON.stringify(result, null, 2), + }) + setModalOpen(true) + } catch (error) { + setModalData({ + title: 'Error', + content: error instanceof Error ? error.message : 'Unknown error occurred', + }) + setModalOpen(true) + } finally { + setIsLoading(false) + } + } + /** * Session management methods */ @@ -589,8 +619,39 @@ const App: React.FC = () => { -
-

Pairing and session management:

+
+

Execute Base64 Transaction

+
+ +