return license on compiler loading

pull/2681/head^2
Aniket-Engg 2 years ago committed by Aniket
parent 5721068f82
commit 771cf10e01
  1. 4
      apps/solidity-compiler/src/app/compiler-api.ts
  2. 3
      libs/remix-solidity/src/compiler/compiler-worker.ts
  3. 14
      libs/remix-solidity/src/compiler/compiler.ts
  4. 2
      libs/remix-solidity/src/compiler/types.ts
  5. 4
      libs/remix-tests/src/compiler.ts
  6. 4
      libs/remix-ui/solidity-compiler/src/lib/actions/compiler.ts
  7. 5
      libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
  8. 2
      libs/remix-ui/solidity-unit-testing/src/lib/solidity-unit-testing.tsx
  9. 2
      libs/remix-ui/static-analyser/src/lib/remix-ui-static-analyser.tsx

@ -222,10 +222,10 @@ export const CompilerApiMixin = (Base) => class extends Base {
} }
this.compiler.event.register('loadingCompiler', this.data.eventHandlers.onLoadingCompiler) this.compiler.event.register('loadingCompiler', this.data.eventHandlers.onLoadingCompiler)
this.data.eventHandlers.onCompilerLoaded = (version) => { this.data.eventHandlers.onCompilerLoaded = (version, license) => {
this.data.loading = false this.data.loading = false
this.statusChanged({ key: 'none' }) this.statusChanged({ key: 'none' })
this.emit('compilerLoaded', version) this.emit('compilerLoaded', version, license)
} }
this.compiler.event.register('compilerLoaded', this.data.eventHandlers.onCompilerLoaded) this.compiler.event.register('compilerLoaded', this.data.eventHandlers.onCompilerLoaded)

@ -33,7 +33,8 @@ export default function (self) { // eslint-disable-line @typescript-eslint/expli
} }
self.postMessage({ self.postMessage({
cmd: 'versionLoaded', cmd: 'versionLoaded',
data: compiler.version() data: compiler.version(),
license: compiler.license()
}) })
break break
} }

@ -25,6 +25,7 @@ export class Compiler {
compileJSON: null, compileJSON: null,
worker: null, worker: null,
currentVersion: null, currentVersion: null,
compilerLicense: null,
optimize: false, optimize: false,
runs: 200, runs: 200,
evmVersion: null, evmVersion: null,
@ -94,9 +95,10 @@ export class Compiler {
* @param version compiler version * @param version compiler version
*/ */
onCompilerLoaded (version: string): void { onCompilerLoaded (version: string, license: string): void {
this.state.currentVersion = version this.state.currentVersion = version
this.event.trigger('compilerLoaded', [version]) this.state.compilerLicense = license
this.event.trigger('compilerLoaded', [version, license])
} }
/** /**
@ -131,7 +133,7 @@ export class Compiler {
} }
this.onCompilationFinished(result, missingInputs, source, input, this.state.currentVersion) this.onCompilationFinished(result, missingInputs, source, input, this.state.currentVersion)
} }
this.onCompilerLoaded(compiler.version()) this.onCompilerLoaded(compiler.version(), compiler.license())
} }
} }
@ -184,6 +186,7 @@ export class Compiler {
if (err) { if (err) {
console.error('Error in loading remote solc compiler: ', err) console.error('Error in loading remote solc compiler: ', err)
} else { } else {
let license
this.state.compileJSON = (source: SourceWithTarget) => { this.state.compileJSON = (source: SourceWithTarget) => {
const missingInputs: string[] = [] const missingInputs: string[] = []
const missingInputsCallback = (path: string) => { const missingInputsCallback = (path: string) => {
@ -203,13 +206,14 @@ export class Compiler {
} }
result = JSON.parse(remoteCompiler.compile(input, { import: missingInputsCallback })) result = JSON.parse(remoteCompiler.compile(input, { import: missingInputsCallback }))
license = remoteCompiler.license()
} }
} catch (exception) { } catch (exception) {
result = { error: { formattedMessage: 'Uncaught JavaScript exception:\n' + exception, severity: 'error', mode: 'panic' } } result = { error: { formattedMessage: 'Uncaught JavaScript exception:\n' + exception, severity: 'error', mode: 'panic' } }
} }
this.onCompilationFinished(result, missingInputs, source, input, version) this.onCompilationFinished(result, missingInputs, source, input, version)
} }
this.onCompilerLoaded(version) this.onCompilerLoaded(version, license)
} }
}) })
} }
@ -273,7 +277,7 @@ export class Compiler {
const data: MessageFromWorker = msg.data const data: MessageFromWorker = msg.data
switch (data.cmd) { switch (data.cmd) {
case 'versionLoaded': case 'versionLoaded':
if (data.data) this.onCompilerLoaded(data.data) if (data.data && data.license) this.onCompilerLoaded(data.data, data.license)
break break
case 'compiled': case 'compiled':
{ {

@ -158,6 +158,7 @@ export interface CompilerState {
compileJSON: ((input: SourceWithTarget) => void) | null, compileJSON: ((input: SourceWithTarget) => void) | null,
worker: any, worker: any,
currentVersion: string| null| undefined, currentVersion: string| null| undefined,
compilerLicense: string| null
optimize: boolean, optimize: boolean,
runs: number runs: number
evmVersion: EVMVersion| null, evmVersion: EVMVersion| null,
@ -186,6 +187,7 @@ export interface MessageToWorker {
export interface MessageFromWorker { export interface MessageFromWorker {
cmd: string, cmd: string,
license?: string,
job?: number, job?: number,
missingInputs?: string[], missingInputs?: string[],
input?: any, input?: any,

@ -134,7 +134,7 @@ export function compileFileOrFiles (filename: string, isDirectory: boolean, opts
if (runs) compiler.set('runs', runs) if (runs) compiler.set('runs', runs)
if (currentCompilerUrl) { if (currentCompilerUrl) {
compiler.loadRemoteVersion(currentCompilerUrl) compiler.loadRemoteVersion(currentCompilerUrl)
compiler.event.register('compilerLoaded', this, function (version) { compiler.event.register('compilerLoaded', this, function (version, license) {
next() next()
}) })
} else { } else {
@ -198,7 +198,7 @@ export function compileContractSources (sources: SrcIfc, newCompConfig: any, imp
compiler.set('runs', runs) compiler.set('runs', runs)
compiler.loadVersion(usingWorker, currentCompilerUrl) compiler.loadVersion(usingWorker, currentCompilerUrl)
// @ts-ignore // @ts-ignore
compiler.event.register('compilerLoaded', this, (version) => { compiler.event.register('compilerLoaded', this, (version, license) => {
next() next()
}) })
} else { } else {

@ -46,8 +46,8 @@ export const listenToEvents = (compileTabLogic: CompileTabLogic, api) => (dispat
dispatch(setCompilerMode('loadingCompiler')) dispatch(setCompilerMode('loadingCompiler'))
}) })
compileTabLogic.compiler.event.register('compilerLoaded', () => { compileTabLogic.compiler.event.register('compilerLoaded', (version, license) => {
dispatch(setCompilerMode('compilerLoaded')) dispatch(setCompilerMode('compilerLoaded', version, license))
}) })
compileTabLogic.compiler.event.register('compilationFinished', (success, data, source, input, version) => { compileTabLogic.compiler.event.register('compilationFinished', (success, data, source, input, version) => {

@ -185,7 +185,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
loadingCompiler() loadingCompiler()
break break
case 'compilerLoaded': case 'compilerLoaded':
compilerLoaded() compilerLoaded(compilerContainer.compiler.args[1])
break break
case 'compilationFinished': case 'compilationFinished':
compilationFinished() compilationFinished()
@ -436,7 +436,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
setDisableCompileButton(true) setDisableCompileButton(true)
} }
const compilerLoaded = () => { const compilerLoaded = (license) => {
console.log('inside compilerLoaded----->', license)
if (!compileIcon.current) return if (!compileIcon.current) return
compileIcon.current.setAttribute('title', '') compileIcon.current.setAttribute('title', '')
compileIcon.current.classList.remove('remixui_spinningIcon') compileIcon.current.classList.remove('remixui_spinningIcon')

@ -164,7 +164,7 @@ export const SolidityUnitTesting = (props: Record<string, any>) => { // eslint-d
testTab.fileManager.events.on('currentFileChanged', async (file: string) => { testTab.fileManager.events.on('currentFileChanged', async (file: string) => {
await updateForNewCurrent(file) await updateForNewCurrent(file)
}) })
testTab.on('solidity', 'compilerLoaded', async (version: string) => { testTab.on('solidity', 'compilerLoaded', async (version: string, license: string) => {
const { currentVersion } = testTab.compileTab.getCurrentCompilerConfig() const { currentVersion } = testTab.compileTab.getCurrentCompilerConfig()
if (!semver.gt(truncateVersion(currentVersion), '0.4.12')) { if (!semver.gt(truncateVersion(currentVersion), '0.4.12')) {

@ -141,7 +141,7 @@ export const RemixUiStaticAnalyser = (props: RemixUiStaticAnalyserProps) => {
} }
}) })
props.analysisModule.on('solidity', 'compilerLoaded', async (version: string) => { props.analysisModule.on('solidity', 'compilerLoaded', async (version: string, license: string) => {
setDisableForRun(version) setDisableForRun(version)
}) })
return () => { } return () => { }

Loading…
Cancel
Save