diff --git a/apps/remix-ide/src/app/files/compiler-metadata.js b/apps/remix-ide/src/app/files/compiler-metadata.js index b1dd9239e3..4e74e5b2ea 100644 --- a/apps/remix-ide/src/app/files/compiler-metadata.js +++ b/apps/remix-ide/src/app/files/compiler-metadata.js @@ -90,10 +90,18 @@ class CompilerMetadata extends Plugin { } // TODO: is only called by dropdownLogic and can be moved there - deployMetadataOf (contractName) { + deployMetadataOf (contractName, fileLocation) { return new Promise((resolve, reject) => { var provider = this.fileManager.currentFileProvider() - var path = this.fileManager.currentPath() + let path + if (fileLocation) { + path = fileLocation.split('/') + path.pop() + path = path.join('/') + } else { + path = this.fileManager.currentPath() + } + if (provider && path) { this.blockchain.detectNetwork((err, { id, name } = {}) => { if (err) { diff --git a/apps/remix-ide/src/app/tabs/runTab/contractDropdown.js b/apps/remix-ide/src/app/tabs/runTab/contractDropdown.js index c69fcd1dd4..76ee2343cf 100644 --- a/apps/remix-ide/src/app/tabs/runTab/contractDropdown.js +++ b/apps/remix-ide/src/app/tabs/runTab/contractDropdown.js @@ -249,7 +249,7 @@ class ContractDropdownUI { let contractMetadata try { - contractMetadata = await this.runView.call('compilerMetadata', 'deployMetadataOf', selectedContract.name) + contractMetadata = await this.runView.call('compilerMetadata', 'deployMetadataOf', selectedContract.name, selectedContract.contract.file) } catch (error) { return statusCb(`creation of ${selectedContract.name} errored: ` + (error.message ? error.message : error)) }