Refactor debugger-ui props

pull/5370/head
ioedeveloper 4 years ago
parent 7489cc8833
commit ec5d2c099d
  1. 12
      apps/remix-ide/src/app/tabs/debugger-tab.js
  2. 10
      libs/remix-debug/src/solidity-decoder/internalCallTree.js
  3. 1
      libs/remix-ui/debugger-ui/src/lib/button-navigator/button-navigator.tsx
  4. 25
      libs/remix-ui/debugger-ui/src/lib/debugger-ui.tsx
  5. 1
      libs/remix-ui/debugger-ui/src/lib/slider/slider.tsx
  6. 1
      libs/remix-ui/debugger-ui/src/lib/step-manager/step-manager.tsx
  7. 1
      libs/remix-ui/debugger-ui/src/lib/tx-browser/tx-browser.tsx
  8. 1
      libs/remix-ui/debugger-ui/src/lib/vm-debugger/assembly-items.tsx
  9. 1
      libs/remix-ui/debugger-ui/src/lib/vm-debugger/code-list-view.tsx
  10. 3
      libs/remix-ui/debugger-ui/src/lib/vm-debugger/dropdown-panel.tsx
  11. 7
      libs/remix-ui/debugger-ui/src/lib/vm-debugger/vm-debugger-head.tsx
  12. 1
      libs/remix-ui/debugger-ui/src/lib/vm-debugger/vm-debugger.tsx

@ -1,5 +1,4 @@
const yo = require('yo-yo') const yo = require('yo-yo')
const remixDebug = require('@remix-project/remix-debug')
const css = require('./styles/debugger-tab-styles') const css = require('./styles/debugger-tab-styles')
import toaster from '../ui/tooltip' import toaster from '../ui/tooltip'
import { DebuggerUI } from '@remix-ui/debugger-ui' import { DebuggerUI } from '@remix-ui/debugger-ui'
@ -71,16 +70,7 @@ class DebuggerTab extends ViewPlugin {
renderComponent () { renderComponent () {
ReactDOM.render( ReactDOM.render(
<DebuggerUI <DebuggerUI debuggerModule={this} />
debuggerModule={this}
fetchContractAndCompile={(address, receipt) => {
const target = (address && remixDebug.traceHelper.isContractCreation(address)) ? receipt.contractAddress : address
return this.call('fetchAndCompile', 'resolve', target || receipt.contractAddress || receipt.to, '.debug', this.blockchain.web3())
}}
debugHash={this.debugHash}
getTraceHash={this.getTraceHash}
/>
, this.el) , this.el)
} }

@ -163,11 +163,11 @@ async function buildTree (tree, step, scopeId, isExternalCall, isCreation) {
function includedSource (source, included) { function includedSource (source, included) {
return (included.start !== -1 && return (included.start !== -1 &&
included.length !== -1 && included.length !== -1 &&
included.file !== -1 && included.file !== -1 &&
included.start >= source.start && included.start >= source.start &&
included.start + included.length <= source.start + source.length && included.start + included.length <= source.start + source.length &&
included.file === source.file) included.file === source.file)
} }
let currentSourceLocation = { start: -1, length: -1, file: -1 } let currentSourceLocation = { start: -1, length: -1, file: -1 }

@ -13,7 +13,6 @@ export const ButtonNavigation = ({ stepManager, revertedReason, stepState, jumpO
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> stepChanged')
stepChanged(stepState, jumpOutDisabled) stepChanged(stepState, jumpOutDisabled)
}, [stepState, jumpOutDisabled]) }, [stepState, jumpOutDisabled])

@ -8,7 +8,7 @@ import remixDebug, { TransactionDebugger as Debugger } from '@remix-project/remi
import globalRegistry from '../../../../../apps/remix-ide/src/global/registry' import globalRegistry from '../../../../../apps/remix-ide/src/global/registry'
import './debugger-ui.css' import './debugger-ui.css'
export const DebuggerUI = ({ debuggerModule, fetchContractAndCompile, debugHash, getTraceHash, removeHighlights }) => { export const DebuggerUI = ({ debuggerModule }) => {
const init = remixDebug.init const init = remixDebug.init
const [state, setState] = useState({ const [state, setState] = useState({
isActive: false, isActive: false,
@ -28,7 +28,6 @@ export const DebuggerUI = ({ debuggerModule, fetchContractAndCompile, debugHash,
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> setEditor')
const setEditor = () => { const setEditor = () => {
const editor = globalRegistry.get('editor').api const editor = globalRegistry.get('editor').api
@ -50,19 +49,22 @@ export const DebuggerUI = ({ debuggerModule, fetchContractAndCompile, debugHash,
}, []) }, [])
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> debug') debug(debuggerModule.debugHash)
debug(debugHash) }, [debuggerModule.debugHash])
}, [debugHash])
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> getTrace') getTrace(debuggerModule.getTraceHash)
getTrace(getTraceHash) }, [debuggerModule.getTraceHash])
}, [getTraceHash])
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> deleteHighlights') if (debuggerModule.removeHighlights) deleteHighlights()
if (removeHighlights) deleteHighlights() }, [debuggerModule.removeHighlights])
}, [removeHighlights])
const fetchContractAndCompile = (address, receipt) => {
const target = (address && remixDebug.traceHelper.isContractCreation(address)) ? receipt.contractAddress : address
return debuggerModule.call('fetchAndCompile', 'resolve', target || receipt.contractAddress || receipt.to, '.debug', debuggerModule.blockchain.web3())
}
const listenToEvents = (debuggerInstance, currentReceipt) => { const listenToEvents = (debuggerInstance, currentReceipt) => {
if (!debuggerInstance) return if (!debuggerInstance) return
@ -144,6 +146,7 @@ export const DebuggerUI = ({ debuggerModule, fetchContractAndCompile, debugHash,
const startDebugging = async (blockNumber, txNumber, tx) => { const startDebugging = async (blockNumber, txNumber, tx) => {
if (state.debugger) unLoad() if (state.debugger) unLoad()
if (!txNumber) return
const web3 = await getDebugWeb3() const web3 = await getDebugWeb3()
const currentReceipt = await web3.eth.getTransactionReceipt(txNumber) const currentReceipt = await web3.eth.getTransactionReceipt(txNumber)
const debuggerInstance = new Debugger({ const debuggerInstance = new Debugger({

@ -6,7 +6,6 @@ export const Slider = ({ stepManager, sliderValue }) => {
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> sliderValue')
setValue(sliderValue) setValue(sliderValue)
}, [sliderValue]) }, [sliderValue])

@ -11,7 +11,6 @@ export const StepManager = ({ stepManager }) => {
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> setRevertWarning/updateStep')
if (stepManager) { if (stepManager) {
stepManager.event.register('revertWarning', setRevertWarning) stepManager.event.register('revertWarning', setRevertWarning)
stepManager.event.register('stepChanged', updateStep) stepManager.event.register('stepChanged', updateStep)

@ -7,7 +7,6 @@ export const TxBrowser = ({ requestDebug, unloadRequested, transactionNumber, de
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> transactionNumber')
setState(prevState => { setState(prevState => {
return { return {
...prevState, ...prevState,

@ -9,7 +9,6 @@ export const AssemblyItems = ({ codeView, index }) => {
const asmItemsRef = useRef(null) const asmItemsRef = useRef(null)
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> indexChanged')
indexChanged(index) indexChanged(index)
}, [index]) }, [index])

@ -10,7 +10,6 @@ export const CodeListView = ({ asm }) => {
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> changed')
const { code, address, index } = asm const { code, address, index } = asm
changed(code, address, index) changed(code, address, index)

@ -30,17 +30,14 @@ export const DropdownPanel = (props: DropdownPanelProps) => {
}) })
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> update')
update(calldata) update(calldata)
}, [calldata]) }, [calldata])
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> message')
message(dropdownMessage) message(dropdownMessage)
}, [dropdownMessage]) }, [dropdownMessage])
useEffect(() => { useEffect(() => {
console.log('perfomanceCheck <=> setLoading')
if (loading && !state.updating) setLoading() if (loading && !state.updating) setLoading()
}, [loading]) }, [loading])

@ -30,6 +30,7 @@ export const VmDebuggerHead = ({ vmDebuggerLogic, ready }) => {
}) })
useEffect(() => { useEffect(() => {
console.log('vmDebuggerLogicHead: ', vmDebuggerLogic)
if (vmDebuggerLogic) { if (vmDebuggerLogic) {
vmDebuggerLogic.event.register('codeManagerChanged', (code, address, index) => { vmDebuggerLogic.event.register('codeManagerChanged', (code, address, index) => {
setAsm(() => { setAsm(() => {
@ -42,13 +43,11 @@ export const VmDebuggerHead = ({ vmDebuggerLogic, ready }) => {
}) })
}) })
vmDebuggerLogic.event.register('functionsStackUpdate', (stack) => { vmDebuggerLogic.event.register('functionsStackUpdate', (stack) => {
if (stack === null) return if (stack === null || stack.length === 0) return
const functions = [] const functions = []
for (const func of stack) { for (const func of stack) {
const functionDefinitionName = func.functionDefinition.name || func.functionDefinition.attributes.name functions.push(func.functionDefinition.name + '(' + func.inputs.join(', ') + ')')
functions.push(functionDefinitionName + '(' + func.inputs.join(', ') + ')')
} }
setFunctionPanel(() => functions) setFunctionPanel(() => functions)
}) })

@ -20,6 +20,7 @@ export const VmDebugger = ({ vmDebuggerLogic, ready }) => {
const [fullStoragesChangesPanel, setFullStoragesChangesPanel] = useState(null) const [fullStoragesChangesPanel, setFullStoragesChangesPanel] = useState(null)
useEffect(() => { useEffect(() => {
console.log('vmDebuggerLogic: ', vmDebuggerLogic)
if (vmDebuggerLogic) { if (vmDebuggerLogic) {
vmDebuggerLogic.event.register('traceManagerCallDataUpdate', (calldata) => { vmDebuggerLogic.event.register('traceManagerCallDataUpdate', (calldata) => {
setCalldataPanel(() => calldata) setCalldataPanel(() => calldata)

Loading…
Cancel
Save