diff --git a/package-lock.json b/package-lock.json
index bd45a96..c3598ad 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "request-scan",
- "version": "0.3.0",
+ "version": "0.3.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "request-scan",
- "version": "0.3.0",
+ "version": "0.3.2",
"dependencies": {
"@next/third-parties": "^15.0.3",
"@radix-ui/react-avatar": "^1.1.0",
diff --git a/package.json b/package.json
index 7783a36..d09f507 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "request-scan",
- "version": "0.3.1",
+ "version": "0.3.2",
"private": true,
"scripts": {
"dev": "next dev",
diff --git a/src/app/request/[id]/page.tsx b/src/app/request/[id]/page.tsx
index 13b6cd8..08c9956 100644
--- a/src/app/request/[id]/page.tsx
+++ b/src/app/request/[id]/page.tsx
@@ -52,7 +52,10 @@ const getGateway = (request: Channel | null) => {
return "gnosis.gateway.request.network";
};
-const ActorInfoSection = ({ actorInfo }: { actorInfo?: ActorInfo }) => {
+const ActorInfoSection = ({
+ actorInfo,
+ isEncrypted,
+}: { actorInfo?: ActorInfo; isEncrypted?: boolean }) => {
if (
!actorInfo ||
Object.keys(actorInfo).every(
@@ -62,6 +65,19 @@ const ActorInfoSection = ({ actorInfo }: { actorInfo?: ActorInfo }) => {
return "N/A";
}
+ if (isEncrypted) {
+ return (
+
+
+ -
+ Status:
+ Encrypted
+
+
+
+ );
+ }
+
return (
@@ -131,10 +147,10 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
const shortPaymentReference = request
? calculateShortPaymentReference(
id,
- request?.transactions[0].dataObject.data.parameters.extensionsData[0]
- .parameters.salt || "",
- request?.transactions[0].dataObject.data.parameters.extensionsData[0]
- .parameters.paymentAddress || "",
+ request?.transactions[0].dataObject?.data?.parameters?.extensionsData[0]
+ ?.parameters.salt || "",
+ request?.transactions[0].dataObject?.data?.parameters?.extensionsData[0]
+ ?.parameters.paymentAddress || "",
)
: "";
@@ -171,9 +187,17 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
const balance = getBalance(requestPayments);
- const createParameters = getTransactionCreateParameters(firstTransaction);
- const contentData = getContentDataFromCreateTransaction(createParameters);
- const paymentData = getPaymentDataFromCreateTransaction(createParameters);
+ const createParametersFromFirstTransaction =
+ getTransactionCreateParameters(firstTransaction);
+ const createParametersFromLastTransaction =
+ getTransactionCreateParameters(lastTransaction);
+
+ const contentData = getContentDataFromCreateTransaction(
+ createParametersFromLastTransaction,
+ );
+ const paymentData = getPaymentDataFromCreateTransaction(
+ createParametersFromFirstTransaction,
+ );
const balanceCurrency =
paymentData?.acceptedTokens?.length > 0
@@ -184,7 +208,7 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
const sellerData = contentData?.sellerInfo;
const status =
- balance >= BigInt(createParameters.expectedAmount)
+ balance >= BigInt(createParametersFromFirstTransaction?.expectedAmount || 0)
? "Paid"
: lastTransaction?.dataObject?.data?.name;
@@ -200,11 +224,11 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
try {
await exportPDF({
...contentData,
- currency: createParameters.currency,
- currencyInfo: createParameters.currency,
- payer: createParameters.payer,
- payee: createParameters.payee,
- expectedAmount: createParameters.expectedAmount,
+ currency: createParametersFromFirstTransaction?.currency,
+ currencyInfo: createParametersFromFirstTransaction?.currency,
+ payer: createParametersFromFirstTransaction?.payer,
+ payee: createParametersFromFirstTransaction?.payee,
+ expectedAmount: createParametersFromFirstTransaction?.expectedAmount,
paymentData,
});
} catch (error) {
@@ -266,8 +290,10 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
| Payee: |
-
- {createParameters.payee?.value}
+
+ {createParametersFromFirstTransaction?.payee?.value}
|
@@ -275,15 +301,20 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
| Payee Details: |
-
+
|
| Payer: |
-
- {createParameters.payer?.value}
+
+ {createParametersFromFirstTransaction?.payer?.value}
|
@@ -291,15 +322,22 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
| Payer Details: |
-
+
|
| Expected Amount: |
{getAmountWithCurrencySymbol(
- BigInt(createParameters.expectedAmount),
- createParameters.currency.value,
+ BigInt(
+ createParametersFromFirstTransaction?.expectedAmount ||
+ 0,
+ ),
+ createParametersFromFirstTransaction?.currency?.value ||
+ "",
)}
|
@@ -344,22 +382,36 @@ export default function RequestPage({ params: { id } }: RequestPageProps) {
: ""}
+
+ | Encryption Status: |
+
+ {firstTransaction?.encryptedData
+ ? "Encrypted"
+ : "Not Encrypted"}
+ |
+
| Raw Content Data: |
-
-
-
+ {firstTransaction?.encryptedData ? (
+
+ ) : (
+
+
+
+ )}
|
diff --git a/src/lib/types.ts b/src/lib/types.ts
index 92d00fc..cdcd72e 100644
--- a/src/lib/types.ts
+++ b/src/lib/types.ts
@@ -29,6 +29,10 @@ export interface Transaction {
data: string;
dataObject: any;
dataHash: string;
+ encryptedData?: string;
+ encryptedKeys?: string;
+ encryptionMethod?: string;
+ publicKeys?: string;
hash: string;
id: string;
size: string;
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
index 91f6941..9a2e77b 100644
--- a/src/lib/utils.ts
+++ b/src/lib/utils.ts
@@ -161,7 +161,7 @@ export const getTransactionCreateParameters = (
export const getContentDataFromCreateTransaction = (
createParameters: RequestLogicTypes.ICreateParameters,
) => {
- const extensionData = createParameters.extensionsData;
+ const extensionData = createParameters?.extensionsData;
const contentData: Invoice = extensionData?.find(
(extension) => extension.id === "content-data",
)?.parameters?.content;
@@ -172,8 +172,8 @@ export const getContentDataFromCreateTransaction = (
export const getPaymentDataFromCreateTransaction = (
createParameters: RequestLogicTypes.ICreateParameters,
) => {
- const extensionData = createParameters?.extensionsData!;
- return extensionData[0]?.parameters;
+ const extensionData = createParameters?.extensionsData;
+ return extensionData?.[0]?.parameters;
};
export const getBalance = (payments: Payment[] | undefined) => {