Skip to content

Commit

Permalink
updates tx scan copy and adds malicious tx scan state for buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
aristidesstaffieri committed Sep 19, 2024
1 parent 8347a9b commit 5083659
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 43 deletions.
4 changes: 2 additions & 2 deletions extension/src/popup/components/WarningMessages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1106,7 +1106,7 @@ export const BlockaidTxScanLabel = ({
switch (validation.result_type) {
case "Malicious": {
message = {
header: "This contract was flagged as malicious",
header: "This transaction was flagged as malicious",
variant: WarningMessageVariant.highAlert,
message: validation.description,
};
Expand All @@ -1121,7 +1121,7 @@ export const BlockaidTxScanLabel = ({

case "Warning": {
message = {
header: "This contract was flagged as suspicious",
header: "This transaction was flagged as suspicious",
variant: WarningMessageVariant.warning,
message: validation.description,
};
Expand Down
136 changes: 95 additions & 41 deletions extension/src/popup/views/SignTransaction/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ export const SignTransaction = () => {
const networkDetails = useSelector(settingsNetworkDetailsSelector);
const { networkName, networkPassphrase } = networkDetails;
const { scanTx, isLoading: isLoadingScan, data: scanResult } = useScanTx();
const flaggedMalicious =
scanResult?.validation &&
"result_type" in scanResult.validation &&
scanResult.validation.result_type === "Malicious";

const tx = getTransactionInfo(location.search);
const { url } = parsedSearchParam(location.search);
Expand Down Expand Up @@ -366,48 +370,98 @@ export const SignTransaction = () => {
</button>
</div>
<div className="SignTransaction__Actions__BtnRow">
<Button
isFullWidth
size="md"
variant="secondary"
onClick={() => rejectAndClose()}
>
{t("Cancel")}
</Button>
{needsReviewAuth ? (
<Button
disabled={isSubmitDisabled}
variant="tertiary"
isFullWidth
size="md"
isLoading={isConfirming}
onClick={() =>
navigateTo(
ROUTES.reviewAuthorization,
`?${encodeObject({
accountToSign,
transactionXdr,
domain,
flaggedKeys,
isMemoRequired,
memo: decodedMemo,
})}`,
)
}
>
{t("Review")}
</Button>
{flaggedMalicious ? (
<>
{needsReviewAuth ? (
<Button
disabled={isSubmitDisabled}
variant="error"
isFullWidth
size="md"
isLoading={isConfirming}
onClick={() =>
navigateTo(
ROUTES.reviewAuthorization,
`?${encodeObject({
accountToSign,
transactionXdr,
domain,
flaggedKeys,
isMemoRequired,
memo: decodedMemo,
})}`,
)
}
>
{t("Review anyway")}
</Button>
) : (
<Button
disabled={isSubmitDisabled}
variant="error"
isFullWidth
size="md"
isLoading={isConfirming}
onClick={() => handleApprove()}
>
{t("Sign anyway")}
</Button>
)}
<Button
isFullWidth
size="md"
variant="secondary"
onClick={() => rejectAndClose()}
>
{t("Reject")}
</Button>
</>
) : (
<Button
disabled={isSubmitDisabled}
variant="tertiary"
isFullWidth
size="md"
isLoading={isConfirming}
onClick={() => handleApprove()}
>
{t("Sign")}
</Button>
<>
<Button
isFullWidth
size="md"
variant="secondary"
onClick={() => rejectAndClose()}
>
{t("Cancel")}
</Button>
{needsReviewAuth ? (
<Button
disabled={isSubmitDisabled}
variant="tertiary"
isFullWidth
size="md"
isLoading={isConfirming}
onClick={() =>
navigateTo(
ROUTES.reviewAuthorization,
`?${encodeObject({
accountToSign,
transactionXdr,
domain,
flaggedKeys,
isMemoRequired,
memo: decodedMemo,
})}`,
)
}
>
{t("Review")}
</Button>
) : (
<Button
disabled={isSubmitDisabled}
variant="tertiary"
isFullWidth
size="md"
isLoading={isConfirming}
onClick={() => handleApprove()}
>
{t("Sign")}
</Button>
)}
</>
)}
</div>
</div>
Expand Down

0 comments on commit 5083659

Please sign in to comment.