diff --git a/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx b/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx index b13f3ddcb3..30a045c368 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx @@ -313,8 +313,19 @@ export const ContractSelection = (props: ContractSelectionProps) => { const { data: scanData } = await axios.post('https://solidityscan.remixproject.org/downloadResult', { url }) const scanReport: ScanReport = scanData.scan_report - if (scanReport?.multi_file_scan_details?.length) { + for (const template of scanReport.multi_file_scan_details) { + if (template.metric_wise_aggregated_findings?.length) { + const { metric_wise_aggregated_findings } = template + const positions = [] + for (const details of metric_wise_aggregated_findings) { + const { findings } = details + for (const f of findings) + positions.push(`${f.line_nos_start[0]}:${f.line_nos_end[0]}`) + } + template.positions = JSON.stringify(positions) + } + } await plugin.call('terminal', 'logHtml', ) } else { const modal: AppModal = { diff --git a/libs/remix-ui/solidity-compiler/src/lib/solScanTable.tsx b/libs/remix-ui/solidity-compiler/src/lib/solScanTable.tsx index 059262744c..2c0f5c5237 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/solScanTable.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/solScanTable.tsx @@ -37,7 +37,7 @@ export function SolScanTable(props: SolScanTableProps) { {template.template_details.issue_name} {template.template_details.issue_severity} {template.template_details.issue_confidence} - {parse(template.template_details.static_issue_description)} + {parse(template.template_details.static_issue_description)} {template.positions ? `Lines: ${template.positions}`: ''} {template.template_details.issue_remediation ? parse(template.template_details.issue_remediation) : 'Not Available' } ) diff --git a/libs/remix-ui/solidity-compiler/src/lib/types/index.ts b/libs/remix-ui/solidity-compiler/src/lib/types/index.ts index 1aa0b84f25..f7474eca7c 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/types/index.ts +++ b/libs/remix-ui/solidity-compiler/src/lib/types/index.ts @@ -19,6 +19,8 @@ export interface ScanTemplate { export interface ScanDetails { issue_id: string no_of_findings: string + metric_wise_aggregated_findings?: Record[] + positions?: string template_details: ScanTemplate }