Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
c2d01b44
Unverified
Commit
c2d01b44
authored
Jul 29, 2021
by
rorye
Committed by
GitHub
Jul 29, 2021
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into fix-dark-theme-highlight-II
parents
3cbeca26
0c510606
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
118 additions
and
76 deletions
+118
-76
verifyContracts.ts
apps/remix-ide-e2e/src/commands/verifyContracts.ts
+3
-0
app.js
apps/remix-ide/src/app.js
+2
-2
landing-page.js
apps/remix-ide/src/app/ui/landing-page/landing-page.js
+10
-10
optimismLogo.webp
apps/remix-ide/src/assets/img/optimismLogo.webp
+0
-0
package.json
libs/remix-analyzer/package.json
+4
-3
package.json
libs/remix-astwalker/package.json
+4
-3
package.json
libs/remix-debug/package.json
+4
-3
package.json
libs/remix-lib/package.json
+3
-2
package.json
libs/remix-simulator/package.json
+4
-3
package.json
libs/remix-solidity/package.json
+4
-3
package.json
libs/remix-tests/package.json
+6
-5
remix-ui-modal-dialog.tsx
libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx
+18
-8
compiler.ts
libs/remix-ui/solidity-compiler/src/lib/actions/compiler.ts
+1
-1
compiler-container.tsx
...remix-ui/solidity-compiler/src/lib/compiler-container.tsx
+24
-14
contract-selection.tsx
...remix-ui/solidity-compiler/src/lib/contract-selection.tsx
+19
-11
remix-ui-static-analyser.tsx
...x-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx
+5
-2
package.json
libs/remix-url-resolver/package.json
+3
-2
package.json
libs/remixd/package.json
+1
-1
slitherClient.ts
libs/remixd/src/services/slitherClient.ts
+3
-3
No files found.
apps/remix-ide-e2e/src/commands/verifyContracts.ts
View file @
c2d01b44
...
...
@@ -22,6 +22,9 @@ function verifyContracts (browser: NightwatchBrowser, compiledContractNames: str
if
(
opts
.
version
)
{
browser
.
click
(
'*[data-id="compilation-details"]'
)
.
waitForElementVisible
(
'*[data-id="remixui_treeviewitem_metadata"]'
)
.
pause
(
2000
)
.
click
(
'*[data-id="remixui_treeviewitem_metadata"]'
)
.
waitForElementVisible
(
'*[data-id="treeViewDivtreeViewItemcompiler"]'
)
.
pause
(
2000
)
.
click
(
'*[data-id="treeViewDivtreeViewItemcompiler"]'
)
...
...
apps/remix-ide/src/app.js
View file @
c2d01b44
...
...
@@ -419,6 +419,8 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
fn
:
null
}
)
}
else
{
startWalkthroughService
()
}
// CONTENT VIEWS & DEFAULT PLUGINS
...
...
@@ -514,6 +516,4 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
if
(
params
.
embed
)
framingService
.
embed
()
framingService
.
start
(
params
)
startWalkthroughService
()
}
apps/remix-ide/src/app/ui/landing-page/landing-page.js
View file @
c2d01b44
...
...
@@ -216,7 +216,7 @@ export class LandingPage extends ViewPlugin {
const
invertNum
=
(
themeQuality
===
'dark'
)
?
1
:
0
if
(
this
.
solEnv
.
getElementsByTagName
(
'img'
)[
0
])
this
.
solEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
if
(
this
.
debuggerEnv
.
getElementsByTagName
(
'img'
)[
0
])
this
.
debugger
Env
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
if
(
this
.
optimismEnv
.
getElementsByTagName
(
'img'
)[
0
])
this
.
optimism
Env
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
if
(
this
.
solhintEnv
.
getElementsByTagName
(
'img'
)[
0
])
this
.
solhintEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
if
(
this
.
learnEthEnv
.
getElementsByTagName
(
'img'
)[
0
])
this
.
learnEthEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
if
(
this
.
sourcifyEnv
.
getElementsByTagName
(
'img'
)[
0
])
this
.
sourcifyEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
...
...
@@ -277,10 +277,10 @@ export class LandingPage extends ViewPlugin {
this
.
verticalIcons
.
select
(
'solidity'
)
_paq
.
push
([
'trackEvent'
,
'pluginManager'
,
'userActivate'
,
'solidity'
])
}
const
start
Debugger
=
async
()
=>
{
await
this
.
appManager
.
activatePlugin
(
'
debugg
er'
)
this
.
verticalIcons
.
select
(
'
debugg
er'
)
_paq
.
push
([
'trackEvent'
,
'pluginManager'
,
'userActivate'
,
'
debugg
er'
])
const
start
Optimism
=
async
()
=>
{
await
this
.
appManager
.
activatePlugin
(
'
optimism-compil
er'
)
this
.
verticalIcons
.
select
(
'
optimism-compil
er'
)
_paq
.
push
([
'trackEvent'
,
'pluginManager'
,
'userActivate'
,
'
optimism-compil
er'
])
}
const
startSolhint
=
async
()
=>
{
await
this
.
appManager
.
activatePlugin
([
'solidity'
,
'solhint'
])
...
...
@@ -385,8 +385,8 @@ export class LandingPage extends ViewPlugin {
// main
this
.
solEnv
=
createLargeButton
(
'assets/img/solidityLogo.webp'
,
'solidityLogo'
,
'Solidity'
,
startSolidity
)
// Featured
this
.
debuggerEnv
=
createLargeButton
(
'assets/img/debuggerLogo.webp'
,
'debuggerLogo'
,
'Debugger'
,
startDebugger
)
this
.
solhintEnv
=
createLargeButton
(
'assets/img/solhintLogo.png'
,
'solhintLogo'
,
'
s
olhint linter'
,
startSolhint
)
this
.
optimismEnv
=
createLargeButton
(
'assets/img/optimismLogo.webp'
,
'optimismLogo'
,
'Optimism'
,
startOptimism
)
this
.
solhintEnv
=
createLargeButton
(
'assets/img/solhintLogo.png'
,
'solhintLogo'
,
'
S
olhint linter'
,
startSolhint
)
this
.
learnEthEnv
=
createLargeButton
(
'assets/img/learnEthLogo.webp'
,
'learnEthLogo'
,
'LearnEth'
,
startLearnEth
)
this
.
sourcifyEnv
=
createLargeButton
(
'assets/img/sourcifyLogo.webp'
,
'sourcifyLogo'
,
'Sourcify'
,
startSourceVerify
)
this
.
moreEnv
=
createLargeButton
(
'assets/img/moreLogo.webp'
,
'moreLogo'
,
'More'
,
startPluginManager
)
...
...
@@ -395,7 +395,7 @@ export class LandingPage extends ViewPlugin {
const
themeQuality
=
globalRegistry
.
get
(
'themeModule'
).
api
.
currentTheme
().
quality
const
invertNum
=
(
themeQuality
===
'dark'
)
?
1
:
0
this
.
solEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
this
.
debugger
Env
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
this
.
optimism
Env
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
this
.
solhintEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
this
.
learnEthEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
this
.
sourcifyEnv
.
getElementsByTagName
(
'img'
)[
0
].
style
.
filter
=
`invert(
${
invertNum
}
)`
...
...
@@ -505,10 +505,10 @@ export class LandingPage extends ViewPlugin {
<h4>Featured Plugins</h4>
<div class="d-flex flex-row pt-2">
${
this
.
solEnv
}
${
this
.
optimismEnv
}
${
this
.
learnEthEnv
}
${
this
.
solhintEnv
}
${
this
.
sourcifyEnv
}
${
this
.
debuggerEnv
}
${
this
.
sourcifyEnv
}
${
this
.
moreEnv
}
</div>
</div>
...
...
apps/remix-ide/src/assets/img/optimismLogo.webp
0 → 100644
View file @
c2d01b44
File added
libs/remix-analyzer/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-analyzer"
,
"version"
:
"0.5.1
2
"
,
"version"
:
"0.5.1
3
"
,
"description"
:
"Tool to perform static analysis on Solidity smart contracts"
,
"main"
:
"index.js"
,
"types"
:
".index.d.ts"
,
...
...
@@ -23,7 +23,7 @@
"@ethereumjs/tx"
:
"^3.2.1"
,
"@ethereumjs/vm"
:
"^5.4.1"
,
"@remix-project/remix-astwalker"
:
"^0.0.26"
,
"@remix-project/remix-lib"
:
"^0.5.
3
"
,
"@remix-project/remix-lib"
:
"^0.5.
4
"
,
"async"
:
"^2.6.2"
,
"ethereumjs-util"
:
"^7.0.10"
,
"ethers"
:
"^5.1.4"
,
...
...
@@ -51,5 +51,5 @@
"typescript"
:
"^3.7.5"
},
"typings"
:
"index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-astwalker/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-astwalker"
,
"version"
:
"0.0.3
3
"
,
"version"
:
"0.0.3
4
"
,
"description"
:
"Tool to walk through Solidity AST"
,
"main"
:
"index.js"
,
"scripts"
:
{
...
...
@@ -37,7 +37,7 @@
"@ethereumjs/block"
:
"^3.3.0"
,
"@ethereumjs/tx"
:
"^3.2.1"
,
"@ethereumjs/vm"
:
"^5.4.1"
,
"@remix-project/remix-lib"
:
"^0.5.
3
"
,
"@remix-project/remix-lib"
:
"^0.5.
4
"
,
"@types/tape"
:
"^4.2.33"
,
"async"
:
"^2.6.2"
,
"ethereumjs-util"
:
"^7.0.10"
,
...
...
@@ -53,5 +53,5 @@
"tap-spec"
:
"^5.0.0"
},
"typings"
:
"index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-debug/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-debug"
,
"version"
:
"0.5.
3
"
,
"version"
:
"0.5.
4
"
,
"description"
:
"Tool to debug Ethereum transactions"
,
"contributors"
:
[
{
...
...
@@ -23,7 +23,7 @@
"@ethereumjs/tx"
:
"^3.2.1"
,
"@ethereumjs/vm"
:
"^5.4.1"
,
"@remix-project/remix-astwalker"
:
"^0.0.26"
,
"@remix-project/remix-lib"
:
"^0.5.
3
"
,
"@remix-project/remix-lib"
:
"^0.5.
4
"
,
"async"
:
"^2.6.2"
,
"commander"
:
"^2.19.0"
,
"deep-equal"
:
"^1.0.1"
,
...
...
@@ -61,5 +61,5 @@
},
"homepage"
:
"https://github.com/ethereum/remix-project/tree/master/libs/remix-debug#readme"
,
"typings"
:
"src/index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-lib/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-lib"
,
"version"
:
"0.5.
3
"
,
"version"
:
"0.5.
4
"
,
"description"
:
"Library to various Remix tools"
,
"contributors"
:
[
{
...
...
@@ -53,5 +53,5 @@
},
"homepage"
:
"https://github.com/ethereum/remix-project/tree/master/libs/remix-lib#readme"
,
"typings"
:
"src/index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-simulator/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-simulator"
,
"version"
:
"0.2.
3
"
,
"version"
:
"0.2.
4
"
,
"description"
:
"Ethereum IDE and tools for the web"
,
"contributors"
:
[
{
...
...
@@ -18,7 +18,7 @@
"@ethereumjs/common"
:
"^2.2.0"
,
"@ethereumjs/tx"
:
"^3.2.1"
,
"@ethereumjs/vm"
:
"^5.4.1"
,
"@remix-project/remix-lib"
:
"^0.5.
3
"
,
"@remix-project/remix-lib"
:
"^0.5.
4
"
,
"ansi-gray"
:
"^0.1.1"
,
"async"
:
"^3.1.0"
,
"body-parser"
:
"^1.18.2"
,
...
...
@@ -66,5 +66,5 @@
},
"homepage"
:
"https://github.com/ethereum/remix-project/tree/master/libs/remix-simulator#readme"
,
"typings"
:
"src/index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-solidity/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-solidity"
,
"version"
:
"0.4.
3
"
,
"version"
:
"0.4.
4
"
,
"description"
:
"Tool to load and run Solidity compiler"
,
"main"
:
"index.js"
,
"types"
:
"./index.d.ts"
,
...
...
@@ -18,7 +18,7 @@
"@ethereumjs/block"
:
"^3.3.0"
,
"@ethereumjs/tx"
:
"^3.2.1"
,
"@ethereumjs/vm"
:
"^5.4.1"
,
"@remix-project/remix-lib"
:
"^0.5.
3
"
,
"@remix-project/remix-lib"
:
"^0.5.
4
"
,
"async"
:
"^2.6.2"
,
"eslint-scope"
:
"^5.0.0"
,
"ethereumjs-util"
:
"^7.0.10"
,
...
...
@@ -59,5 +59,5 @@
},
"homepage"
:
"https://github.com/ethereum/remix-project/tree/master/libs/remix-solidity#readme"
,
"typings"
:
"index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-tests/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-tests"
,
"version"
:
"0.2.
3
"
,
"version"
:
"0.2.
4
"
,
"description"
:
"Tool to test Solidity smart contracts"
,
"main"
:
"src/index.js"
,
"types"
:
"./src/index.d.ts"
,
...
...
@@ -39,9 +39,9 @@
"@ethereumjs/common"
:
"^2.2.0"
,
"@ethereumjs/tx"
:
"^3.2.1"
,
"@ethereumjs/vm"
:
"^5.4.1"
,
"@remix-project/remix-lib"
:
"^0.5.
3
"
,
"@remix-project/remix-simulator"
:
"^0.2.
3
"
,
"@remix-project/remix-solidity"
:
"^0.4.
3
"
,
"@remix-project/remix-lib"
:
"^0.5.
4
"
,
"@remix-project/remix-simulator"
:
"^0.2.
4
"
,
"@remix-project/remix-solidity"
:
"^0.4.
4
"
,
"ansi-gray"
:
"^0.1.1"
,
"async"
:
"^2.6.0"
,
"axios"
:
">=0.21.1"
,
...
...
@@ -77,5 +77,5 @@
"typescript"
:
"^3.3.1"
},
"typings"
:
"src/index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx
View file @
c2d01b44
...
...
@@ -16,6 +16,24 @@ export const ModalDialog = (props: ModalDialogProps) => {
modal
.
current
.
focus
()
},
[
props
.
hide
])
useEffect
(()
=>
{
function
handleBlur
(
e
)
{
if
(
!
e
.
currentTarget
.
contains
(
e
.
relatedTarget
))
{
e
.
stopPropagation
()
if
(
document
.
activeElement
!==
this
)
{
handleHide
()
}
}
}
if
(
modal
.
current
)
{
modal
.
current
.
addEventListener
(
'blur'
,
handleBlur
)
return
()
=>
{
modal
.
current
.
removeEventListener
(
'blur'
,
handleBlur
)
}
}
},
[
modal
.
current
])
const
modalKeyEvent
=
(
keyCode
)
=>
{
if
(
keyCode
===
27
)
{
// Esc
if
(
props
.
cancelFn
)
props
.
cancelFn
()
...
...
@@ -40,13 +58,6 @@ export const ModalDialog = (props: ModalDialogProps) => {
handleHide
()
}
const
handleBlur
=
(
e
)
=>
{
if
(
!
e
.
currentTarget
.
contains
(
e
.
relatedTarget
))
{
e
.
stopPropagation
()
handleHide
()
}
}
return
(
<
div
data
-
id=
{
`${props.id}ModalDialogContainer-react`
}
...
...
@@ -58,7 +69,6 @@ export const ModalDialog = (props: ModalDialogProps) => {
>
<
div
className=
"modal-dialog"
role=
"document"
>
<
div
onBlur=
{
handleBlur
}
ref=
{
modal
}
tabIndex=
{
-
1
}
className=
{
'modal-content remixModalContent '
+
(
props
.
modalClass
?
props
.
modalClass
:
''
)
}
...
...
libs/remix-ui/solidity-compiler/src/lib/actions/compiler.ts
View file @
c2d01b44
...
...
@@ -44,7 +44,7 @@ export const listenToEvents = (editor, compileTabLogic) => (dispatch: React.Disp
})
compileTabLogic
.
compiler
.
event
.
register
(
'loadingCompiler'
,
()
=>
{
dispatch
(
setCompilerMode
(
'
compilationDuration
'
))
dispatch
(
setCompilerMode
(
'
loadingCompiler
'
))
})
compileTabLogic
.
compiler
.
event
.
register
(
'compilerLoaded'
,
()
=>
{
...
...
libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
View file @
c2d01b44
...
...
@@ -8,6 +8,14 @@ import { resetEditorMode, listenToEvents } from './actions/compiler'
import
'./css/style.css'
declare
global
{
interface
Window
{
_paq
:
any
}
}
const
_paq
=
window
.
_paq
=
window
.
_paq
||
[]
//eslint-disable-line
export
const
CompilerContainer
=
(
props
:
CompilerContainerProps
)
=>
{
const
{
editor
,
config
,
queryParams
,
compileTabLogic
,
tooltip
,
modal
,
compiledFileName
,
setHardHatCompilation
,
updateCurrentVersion
,
isHardHatProject
,
configurationSettings
}
=
props
// eslint-disable-line
const
[
state
,
setState
]
=
useState
({
...
...
@@ -27,8 +35,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
language
:
''
,
evmVersion
:
''
})
const
[
disableCompileButton
,
setDisableCompileButton
]
=
useState
<
boolean
>
(
false
)
const
compileIcon
=
useRef
(
null
)
const
warningIcon
=
useRef
(
null
)
const
promptMessageInput
=
useRef
(
null
)
const
[
hhCompilation
,
sethhCompilation
]
=
useState
(
false
)
const
[
compilerContainer
,
dispatch
]
=
useReducer
(
compilerReducer
,
compilerInitialState
)
...
...
@@ -75,6 +83,9 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
},
[
compileTabLogic
])
useEffect
(()
=>
{
const
isDisabled
=
!
compiledFileName
||
(
compiledFileName
&&
!
isSolFileSelected
(
compiledFileName
))
setDisableCompileButton
(
isDisabled
)
setState
(
prevState
=>
{
return
{
...
prevState
,
compiledFileName
}
})
...
...
@@ -235,14 +246,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
}
const
compilationDuration
=
(
speed
:
number
)
=>
{
if
(
!
warningIcon
.
current
)
return
if
(
speed
>
1000
)
{
const
msg
=
`Last compilation took
${
speed
}
ms. We suggest to turn off autocompilation.`
warningIcon
.
current
.
setAttribute
(
'title'
,
msg
)
warningIcon
.
current
.
style
.
visibility
=
'visible'
}
else
{
warningIcon
.
current
.
style
.
visibility
=
'hidden'
console
.
log
(
`Last compilation took
${
speed
}
ms. We suggest to turn off autocompilation.`
)
}
}
...
...
@@ -256,8 +261,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
if
(
!
compileIcon
.
current
)
return
compileIcon
.
current
.
setAttribute
(
'title'
,
'compiler is loading, please wait a few moments.'
)
compileIcon
.
current
.
classList
.
add
(
'remixui_spinningIcon'
)
warningIcon
.
current
.
style
.
visibility
=
'hidden'
_updateLanguageSelector
()
setDisableCompileButton
(
true
)
}
const
compilerLoaded
=
()
=>
{
...
...
@@ -265,6 +270,9 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
compileIcon
.
current
.
setAttribute
(
'title'
,
''
)
compileIcon
.
current
.
classList
.
remove
(
'remixui_spinningIcon'
)
if
(
state
.
autoCompile
)
compile
()
const
isDisabled
=
!
compiledFileName
||
(
compiledFileName
&&
!
isSolFileSelected
(
compiledFileName
))
setDisableCompileButton
(
isDisabled
)
}
const
compilationFinished
=
()
=>
{
...
...
@@ -272,6 +280,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
compileIcon
.
current
.
setAttribute
(
'title'
,
'idle'
)
compileIcon
.
current
.
classList
.
remove
(
'remixui_spinningIcon'
)
compileIcon
.
current
.
classList
.
remove
(
'remixui_bouncingIcon'
)
_paq
.
push
([
'trackEvent'
,
'compiler'
,
'compiled_with_version'
,
_retrieveVersion
()])
}
const
scheduleCompilation
=
()
=>
{
...
...
@@ -292,7 +301,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
if
(
!
isSolFileSelected
())
return
_setCompilerVersionFromPragma
(
currentFile
)
compileTabLogic
.
runCompiler
()
compileTabLogic
.
runCompiler
(
hhCompilation
)
}
const
_retrieveVersion
=
(
version
?)
=>
{
...
...
@@ -440,6 +449,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
const
handleNightliesChange
=
(
e
)
=>
{
const
checked
=
e
.
target
.
checked
if
(
!
checked
)
handleLoadVersion
(
state
.
defaultVersion
)
config
.
set
(
'includeNightlies'
,
checked
)
setState
(
prevState
=>
{
return
{
...
prevState
,
includeNightlies
:
checked
}
...
...
@@ -522,6 +532,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
<
label
className=
"remixui_compilerLabel form-check-label"
htmlFor=
"evmVersionSelector"
>
EVM Version
</
label
>
<
select
value=
{
state
.
evmVersion
}
onChange=
{
(
e
)
=>
handleEvmVersionChange
(
e
.
target
.
value
)
}
className=
"custom-select"
id=
"evmVersionSelector"
>
<
option
data
-
id=
{
state
.
evmVersion
===
'default'
?
'selected'
:
''
}
value=
"default"
>
compiler default
</
option
>
<
option
data
-
id=
{
state
.
evmVersion
===
'berlin'
?
'selected'
:
''
}
value=
"berlin"
>
berlin
</
option
>
<
option
data
-
id=
{
state
.
evmVersion
===
'muirGlacier'
?
'selected'
:
''
}
value=
"muirGlacier"
>
muirGlacier
</
option
>
<
option
data
-
id=
{
state
.
evmVersion
===
'istanbul'
?
'selected'
:
''
}
value=
"istanbul"
>
istanbul
</
option
>
<
option
data
-
id=
{
state
.
evmVersion
===
'petersburg'
?
'selected'
:
''
}
value=
"petersburg"
>
petersburg
</
option
>
...
...
@@ -566,11 +577,10 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
<
label
className=
"form-check-label custom-control-label"
htmlFor=
"enableHardhat"
>
Enable Hardhat Compilation
</
label
>
</
div
>
}
<
button
id=
"compileBtn"
data
-
id=
"compilerContainerCompileBtn"
className=
"btn btn-primary btn-block remixui_disabled mt-3"
title=
"Compile"
onClick=
{
compile
}
disabled=
{
!
state
.
compiledFileName
||
(
state
.
compiledFileName
&&
!
isSolFileSelected
(
state
.
compiledFileName
))
}
>
<
button
id=
"compileBtn"
data
-
id=
"compilerContainerCompileBtn"
className=
"btn btn-primary btn-block remixui_disabled mt-3"
title=
"Compile"
onClick=
{
compile
}
disabled=
{
disableCompileButton
}
>
<
span
>
<
i
ref=
{
warningIcon
}
title=
"Compilation Slow"
style=
{
{
visibility
:
'hidden'
}
}
className=
"remixui_warnCompilationSlow fas fa-exclamation-triangle"
aria
-
hidden=
"true"
></
i
>
{
warningIcon
.
current
&&
warningIcon
.
current
.
style
.
visibility
===
'hidden'
&&
<
i
ref=
{
compileIcon
}
className=
"fas fa-sync remixui_icon"
aria
-
hidden=
"true"
></
i
>
}
Compile
{
state
.
compiledFileName
||
'<no file selected>'
}
{
<
i
ref=
{
compileIcon
}
className=
"fas fa-sync remixui_icon"
aria
-
hidden=
"true"
></
i
>
}
Compile
{
typeof
state
.
compiledFileName
===
'string'
?
helper
.
extractNameFromKey
(
state
.
compiledFileName
)
||
'<no file selected>'
:
'<no file selected>'
}
</
span
>
</
button
>
</
header
>
...
...
libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx
View file @
c2d01b44
...
...
@@ -162,17 +162,25 @@ export const ContractSelection = (props: ContractSelectionProps) => {
}
const
contractProperties
=
contractsDetails
[
selectedContract
]
||
{}
const
log
=
<
div
className=
"remixui_detailsJSON"
>
{
Object
.
keys
(
contractProperties
).
map
((
propertyName
,
index
)
=>
{
const
copyDetails
=
<
span
className=
"remixui_copyDetails"
><
CopyToClipboard
content=
{
contractProperties
[
propertyName
]
}
direction=
'top'
/></
span
>
const
questionMark
=
<
span
className=
"remixui_questionMark"
><
i
title=
{
help
[
propertyName
]
}
className=
"fas fa-question-circle"
aria
-
hidden=
"true"
></
i
></
span
>
return
(<
div
className=
"remixui_log"
key=
{
index
}
>
<
div
className=
"remixui_key"
>
{
propertyName
}
{
copyDetails
}
{
questionMark
}
</
div
>
{
insertValue
(
contractProperties
,
propertyName
)
}
</
div
>)
})
}
<
TreeView
>
{
Object
.
keys
(
contractProperties
).
map
((
propertyName
,
index
)
=>
{
const
copyDetails
=
<
span
className=
"remixui_copyDetails"
><
CopyToClipboard
content=
{
contractProperties
[
propertyName
]
}
direction=
'top'
/></
span
>
const
questionMark
=
<
span
className=
"remixui_questionMark"
><
i
title=
{
help
[
propertyName
]
}
className=
"fas fa-question-circle"
aria
-
hidden=
"true"
></
i
></
span
>
return
(
<
div
className=
"remixui_log"
key=
{
index
}
>
<
TreeViewItem
label=
{
<
div
data
-
id=
{
`remixui_treeviewitem_${propertyName}`
}
className=
"remixui_key"
>
{
propertyName
}
{
copyDetails
}
{
questionMark
}
</
div
>
}
>
{
insertValue
(
contractProperties
,
propertyName
)
}
</
TreeViewItem
>
</
div
>
)
})
}
</
TreeView
>
</
div
>
modal
(
selectedContract
,
log
,
'Close'
,
null
)
...
...
libs/remix-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx
View file @
c2d01b44
...
...
@@ -89,6 +89,10 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
dispatch
({
type
:
''
,
payload
:
{}
})
// Show 'Enable Slither Analysis' checkbox
if
(
currentWorkspace
&&
currentWorkspace
.
isLocalhost
===
true
)
setShowSlither
(
'visible'
)
else
{
setShowSlither
(
'hidden'
)
setSlitherEnabled
(
false
)
}
})
return
()
=>
{
}
},
[
props
])
...
...
@@ -245,8 +249,7 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
showWarnings
(
warningMessage
,
'warningModuleName'
)
props
.
event
.
trigger
(
'staticAnaysisWarning'
,
[
warningCount
])
}
}).
catch
((
error
)
=>
{
console
.
log
(
'Error found:'
,
error
)
// This should be removed once testing done
}).
catch
(()
=>
{
props
.
analysisModule
.
call
(
'terminal'
,
'log'
,
{
type
:
'error'
,
value
:
'[Slither Analysis]: Error occured! See remixd console for details.'
})
showWarnings
(
warningMessage
,
'warningModuleName'
)
})
...
...
libs/remix-url-resolver/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remix-url-resolver"
,
"version"
:
"0.0.2
4
"
,
"version"
:
"0.0.2
5
"
,
"description"
:
"Solidity import url resolver engine"
,
"main"
:
"index.js"
,
"types"
:
"./index.d.ts"
,
...
...
@@ -42,5 +42,5 @@
"typescript"
:
"^3.1.6"
},
"typings"
:
"index.d.ts"
,
"gitHead"
:
"
5e91f3010a7198f1b2d90cc7796bda750c58f1ea
"
"gitHead"
:
"
664824605fa84648c79770631da371d4f81e0052
"
}
\ No newline at end of file
libs/remixd/package.json
View file @
c2d01b44
{
"name"
:
"@remix-project/remixd"
,
"version"
:
"0.
4.2
"
,
"version"
:
"0.
5.0
"
,
"description"
:
"remix server: allow accessing file system from remix.ethereum.org and start a dev environment (see help section)"
,
"main"
:
"index.js"
,
"types"
:
"./index.d.ts"
,
...
...
libs/remixd/src/services/slitherClient.ts
View file @
c2d01b44
...
...
@@ -120,9 +120,9 @@ export class SlitherClient extends PluginClient {
allowPaths
=
allowPathString
remaps
=
remapString
.
trim
()
}
const
allowPathsOption
:
string
=
allowPaths
?
`--allow-paths
${
allowPaths
}
`
:
''
const
optimizeOption
:
string
=
optimize
?
'
--optimize '
:
''
const
evmOption
:
string
=
evmVersion
?
`
--evm-version
${
evmVersion
}
`
:
''
const
allowPathsOption
:
string
=
allowPaths
?
`--allow-paths
${
allowPaths
}
`
:
''
const
optimizeOption
:
string
=
optimize
?
'--optimize '
:
''
const
evmOption
:
string
=
evmVersion
?
`--evm-version
${
evmVersion
}
`
:
''
const
solcArgs
:
string
=
optimizeOption
||
evmOption
||
allowPathsOption
?
`--solc-args '
${
allowPathsOption
}${
optimizeOption
}${
evmOption
}
'`
:
''
const
solcRemaps
=
remaps
?
`--solc-remaps "
${
remaps
}
"`
:
''
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment