Skip to content

Commit

Permalink
Merge pull request #923 from Magickbase/support-multiple-files-of-con…
Browse files Browse the repository at this point in the history
…tract
  • Loading branch information
Keith-CY authored Apr 10, 2023
2 parents fb5b6c3 + eda354c commit c34020a
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 8 deletions.
3 changes: 3 additions & 0 deletions components/AccountOverview/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export interface PolyjuiceContract extends AccountBase {
| 'compiler_version'
| 'compiler_file_format'
| 'contract_source_code'
| 'sourcify_metadata'
| 'abi'
| 'constructor_arguments'
> | null
Expand Down Expand Up @@ -110,6 +111,7 @@ const accountOverviewQuery = gql`
compiler_version
compiler_file_format
contract_source_code
sourcify_metadata
constructor_arguments
abi
}
Expand Down Expand Up @@ -146,6 +148,7 @@ const accountOverviewQueryUnion = gql`
compiler_version
compiler_file_format
contract_source_code
sourcify_metadata
constructor_arguments
abi
}
Expand Down
40 changes: 32 additions & 8 deletions components/ContractInfo/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,15 @@ import Alert from 'components/Alert'

const ContractInfo: React.FC<{ address: string; contract: PolyjuiceContractProps['smart_contract'] }> = ({
address,
contract: { abi, compiler_file_format, compiler_version, name, contract_source_code, constructor_arguments },
contract: {
abi,
compiler_file_format,
compiler_version,
name,
contract_source_code,
sourcify_metadata,
constructor_arguments,
},
}) => {
const [t] = useTranslation(['account', 'tokens', 'list'])
const [tabIdx, setTabIdx] = useState(0)
Expand Down Expand Up @@ -206,13 +214,29 @@ const ContractInfo: React.FC<{ address: string; contract: PolyjuiceContractProps
))}
</div>
{contract_source_code ? (
<div className={styles.sourceCode}>
<div className={styles.title}>
<h6>{t(`contract_source_code`)}</h6>
{vm ? <div className={styles.vm}>{`(${vm})`}</div> : null}
</div>
<textarea defaultValue={contract_source_code} readOnly />
</div>
<>
{Array.isArray(sourcify_metadata) ? (
sourcify_metadata.slice(1).map(code => {
return (
<div className={styles.sourceCode} key={code.name}>
<div className={styles.title}>
<h6>{code.name}</h6>
{vm ? <div className={styles.vm}>{`(${vm})`}</div> : null}
</div>
<textarea defaultValue={code.content} readOnly />
</div>
)
})
) : (
<div className={styles.sourceCode}>
<div className={styles.title}>
<h6>{t(`contract_source_code`)}</h6>
{vm ? <div className={styles.vm}>{`(${vm})`}</div> : null}
</div>
<textarea defaultValue={contract_source_code} readOnly />
</div>
)}
</>
) : null}
{contract ? (
<div className={styles.abi}>
Expand Down
1 change: 1 addition & 0 deletions utils/graphql.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ export namespace GraphQLSchema {
compiler_version: String
constructor_arguments: string
contract_source_code: string
sourcify_metadata: Array<Record<'content' | 'name' | 'path', string>>
deployment_tx_hash: string
id: number
name: string
Expand Down

0 comments on commit c34020a

Please sign in to comment.