diff --git a/apps/remix-ide/src/app/plugins/vyper-compilation-details.tsx b/apps/remix-ide/src/app/plugins/vyper-compilation-details.tsx index 1db215c50f..d3cb4240ca 100644 --- a/apps/remix-ide/src/app/plugins/vyper-compilation-details.tsx +++ b/apps/remix-ide/src/app/plugins/vyper-compilation-details.tsx @@ -45,10 +45,11 @@ export class VyperCompilationDetailsPlugin extends ViewPlugin { } async showDetails(sentPayload: any) { - console.log({ sentPayload }) + console.log(sentPayload ) const contractName = Object.entries(sentPayload).find(([key, value]) => key ) - this.profile.displayName = `${contractName}` await this.call('tabs', 'focus', 'vyperCompilationDetails') + this.profile.displayName = `${contractName}` + this.renderComponent() this.payload = sentPayload this.renderComponent() } @@ -74,12 +75,7 @@ export class VyperCompilationDetailsPlugin extends ViewPlugin { updateComponent(state: any) { return ( ) } diff --git a/apps/vyper/src/app/app.css b/apps/vyper/src/app/app.css index 67e0fb59b1..7e4107ba67 100644 --- a/apps/vyper/src/app/app.css +++ b/apps/vyper/src/app/app.css @@ -48,14 +48,6 @@ html, body, #root, main { } -#compile-btn { - -} - -#compile-btn * { - width: 100%; -} - #result { flex: 1; display: flex; diff --git a/apps/vyper/src/app/components/CompilerButton.tsx b/apps/vyper/src/app/components/CompilerButton.tsx index 4e2459aebd..9d32799dad 100644 --- a/apps/vyper/src/app/components/CompilerButton.tsx +++ b/apps/vyper/src/app/components/CompilerButton.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react' +import React, { Fragment, useState } from 'react' import {isVyper, compile, toStandardOutput, VyperCompilationOutput, isCompilationError, remixClient, normalizeContractPath} from '../utils' import Button from 'react-bootstrap/Button' import _ from 'lodash' @@ -46,25 +46,29 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}: setOutput(_contract.name, {status: 'failed', message: e.message}) return } - // console.log({ output }) - // const compileReturnType = () => { - // const t: any = toStandardOutput(contract, output) - // const temp = _.merge(t['contracts'][contract]) - // const normal = normalizeContractPath(contract)[2] - // const abi = temp[normal]['abi'] - // const evm = _.merge(temp[normal]['evm']) - // const dpb = evm.deployedBytecode - // const runtimeBytecode = evm.bytecode + console.log({ output }) + const compileReturnType = () => { + const t: any = toStandardOutput(contract, output) + console.log(t) + const temp = _.merge(t['contracts'][contract]) + const normal = normalizeContractPath(contract)[2] + const abi = temp[normal]['abi'] + const evm = _.merge(temp[normal]['evm']) + const dpb = evm.deployedBytecode + const runtimeBytecode = evm.bytecode + const methodIdentifiers = evm.methodIdentifiers - // const result = { - // contractName: normal, - // abi: abi, - // bytecode: dpb, - // runtimeBytecode: runtimeBytecode, - // ir: '' - // } - // return result - // } + const result = { + contractName: normal, + abi: abi, + bytecode: dpb, + runtimeBytecode: runtimeBytecode, + ir: '', + methodIdentifiers: methodIdentifiers + } + console.log(result) + return result + } // setOutput(_contract.name, compileReturnType()) // ERROR @@ -111,9 +115,9 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}: }) const data = toStandardOutput(_contract.name, output) remixClient.compilationFinish(_contract.name, _contract.content, data) - console.log(data) - setOutput(_contract.name, data) - setLoadingSpinnerState(false) + // console.log(data) + setOutput(_contract.name, compileReturnType()) + // setLoadingSpinnerState(false) // remixClient.call('compilationDetails' as any, 'showDetails', data) } catch (err: any) { remixClient.changeStatus({ @@ -125,13 +129,15 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}: } return ( - + + + ) } diff --git a/apps/vyper/src/app/components/VyperResult.tsx b/apps/vyper/src/app/components/VyperResult.tsx index bc3a789ad4..4689be6635 100644 --- a/apps/vyper/src/app/components/VyperResult.tsx +++ b/apps/vyper/src/app/components/VyperResult.tsx @@ -53,7 +53,7 @@ function VyperResult({ output, plugin }: VyperResultProps) { ) } - + console.log(output) return ( <>
diff --git a/libs/remix-ui/solidity-compile-details/src/lib/solidity-compile-details.tsx b/libs/remix-ui/solidity-compile-details/src/lib/solidity-compile-details.tsx index b2d743f8db..042c27baa9 100644 --- a/libs/remix-ui/solidity-compile-details/src/lib/solidity-compile-details.tsx +++ b/libs/remix-ui/solidity-compile-details/src/lib/solidity-compile-details.tsx @@ -5,7 +5,6 @@ import { ContractPropertyName } from '@remix-ui/solidity-compiler' import React from 'react' import SolidityCompile from './components/solidityCompile' -import VyperCompile from './components/vyperCompile' export interface RemixUiCompileDetailsProps { plugin?: any diff --git a/libs/remix-ui/vyper-compile-details/src/lib/vyper-compile-details.tsx b/libs/remix-ui/vyper-compile-details/src/lib/vyper-compile-details.tsx index 5bfb4543c4..a017fa8ee6 100644 --- a/libs/remix-ui/vyper-compile-details/src/lib/vyper-compile-details.tsx +++ b/libs/remix-ui/vyper-compile-details/src/lib/vyper-compile-details.tsx @@ -1,12 +1,24 @@ import React from 'react' +import VyperCompile from './vyperCompile' +//@ts-nocheck -export function RemixUiVyperCompileDetails() { + +interface RemixUiVyperCompileDetailsProps { + payload: any +} + +export function RemixUiVyperCompileDetails({ payload }: RemixUiVyperCompileDetailsProps) { + const dpayload = Object.values(payload) as any return ( <> -
-

Welcome to Vyper Compile Details Plugin!!

-
+ ) } diff --git a/libs/remix-ui/solidity-compile-details/src/lib/components/vyperCompile.tsx b/libs/remix-ui/vyper-compile-details/src/lib/vyperCompile.tsx similarity index 72% rename from libs/remix-ui/solidity-compile-details/src/lib/components/vyperCompile.tsx rename to libs/remix-ui/vyper-compile-details/src/lib/vyperCompile.tsx index 10e73d5031..18608b3056 100644 --- a/libs/remix-ui/solidity-compile-details/src/lib/components/vyperCompile.tsx +++ b/libs/remix-ui/vyper-compile-details/src/lib/vyperCompile.tsx @@ -12,43 +12,43 @@ import { ABIDescription } from '@remixproject/plugin-api' const _paq = (window._paq = window._paq || []) export interface VyperCompilationResult { - status: 'success' + status?: 'success' bytecode: string - bytecode_runtime: string + bytecodeRuntime: string abi: ABIDescription[] ir: string - method_identifiers: { + methodIdentifiers: { [method: string]: string } } -export default function VyperCompile({ saveAs, contractProperties, selectedContract }: any) { +export default function VyperCompile(props: VyperCompilationResult) { const intl = useIntl() - const downloadFn = () => { - _paq.push(['trackEvent', 'compiler', 'compilerDetails', 'download']) - saveAs(new Blob([JSON.stringify(contractProperties, null, '\t')]), `${selectedContract}_compData.json`) - } + // const downloadFn = () => { + // _paq.push(['trackEvent', 'compiler', 'compilerDetails', 'download']) + // saveAs(new Blob([JSON.stringify(contractProperties, null, '\t')]), `${selectedContract}_compData.json`) + // } const [active, setActive] = useState('abi') const tabContent = [ { tabHeadingText: 'ABI', - tabPayload: Object.values(contractProperties)[0]['abi'], + tabPayload: props.abi, //Object.values(props)[0]['abi'], tabMemberType: 'abi', tabButtonText: () => 'Copy ABI', eventKey: 'abi' }, { tabHeadingText: 'Bytecode', - tabPayload: Object.values(contractProperties)[0]['bytecode'].object.toString(), + tabPayload: props.bytecode, //Object.values(props)[0]['bytecode'].object.toString(), tabMemberType: 'bytecode', tabButtonText: () => 'Copy Bytecode', eventKey: 'bytecode' }, { tabHeadingText: 'Runtime Bytecode', - tabPayload: Object.values(contractProperties)[0]['runtimeBytecode'].object.toString(), + tabPayload: props.bytecodeRuntime,// Object.values(props)[0]['runtimeBytecode'].object.toString(), tabMemberType: 'bytecode_runtime', tabButtonText: () => 'Copy Runtime Bytecode', eventKey: 'bytecode_runtime' @@ -63,28 +63,28 @@ export default function VyperCompile({ saveAs, contractProperties, selectedContr ] return ( <> -
+ {/*
{selectedContract} Download -
+
*/} setActive(key)} justify> {tabContent.map((content, index) => ( - content.eventKey !== 'abi' ? content.tabPayload : JSON.stringify(Object.values(contractProperties)[0]['abi'])}> + content.eventKey !== 'abi' ? content.tabPayload : JSON.stringify(Object.values(props)[0]['abi'])}> { - content.eventKey === 'abi' ? : ( - + content.eventKey === 'abi' ? : ( + ) } - + */} ))}