fix missing ref

pull/5370/head
yann300 5 years ago
parent 18aa703a21
commit ae34303432
  1. 12
      src/app/ui/universal-dapp-ui.js
  2. 14
      src/blockchain/blockchain.js
  3. 8
      src/blockchain/pluginUDapp.js

@ -11,6 +11,7 @@ var css = require('../../universal-dapp-styles')
var MultiParamManager = require('./multiParamManager') var MultiParamManager = require('./multiParamManager')
var remixLib = require('remix-lib') var remixLib = require('remix-lib')
var txFormat = remixLib.execution.txFormat var txFormat = remixLib.execution.txFormat
const txHelper = remixLib.execution.txHelper
var TreeView = require('./TreeView') var TreeView = require('./TreeView')
var txCallBacks = require('./sendTxCallbacks') var txCallBacks = require('./sendTxCallbacks')
@ -41,7 +42,7 @@ UniversalDAppUI.prototype.renderInstance = function (contract, address, contract
if (noInstances) { if (noInstances) {
noInstances.parentNode.removeChild(noInstances) noInstances.parentNode.removeChild(noInstances)
} }
var abi = this.udapp.getABI(contract) const abi = txHelper.sortAbiFunction(contract.abi)
return this.renderInstanceFromABI(abi, address, contractName) return this.renderInstanceFromABI(abi, address, contractName)
} }
@ -50,6 +51,7 @@ UniversalDAppUI.prototype.renderInstance = function (contract, address, contract
// basically this has to be called for the "atAddress" (line 393) and when a contract creation succeed // basically this has to be called for the "atAddress" (line 393) and when a contract creation succeed
// this returns a DOM element // this returns a DOM element
UniversalDAppUI.prototype.renderInstanceFromABI = function (contractABI, address, contractName) { UniversalDAppUI.prototype.renderInstanceFromABI = function (contractABI, address, contractName) {
let self = this
address = (address.slice(0, 2) === '0x' ? '' : '0x') + address.toString('hex') address = (address.slice(0, 2) === '0x' ? '' : '0x') + address.toString('hex')
address = ethJSUtil.toChecksumAddress(address) address = ethJSUtil.toChecksumAddress(address)
var instance = yo`<div class="instance ${css.instance} ${css.hidesub}" id="instance${address}"></div>` var instance = yo`<div class="instance ${css.instance} ${css.hidesub}" id="instance${address}"></div>`
@ -157,8 +159,8 @@ UniversalDAppUI.prototype.renderInstanceFromABI = function (contractABI, address
} }
setLLIError('') setLLIError('')
const fallback = this.udapp.getFallbackInterface(contractABI) const fallback = self.blockchain.getFallbackInterface(contractABI)
const receive = this.udapp.getReceiveInterface(contractABI) const receive = self.blockchain.getReceiveInterface(contractABI)
const args = { const args = {
funABI: fallback || receive, funABI: fallback || receive,
address: address, address: address,
@ -200,7 +202,7 @@ UniversalDAppUI.prototype.renderInstanceFromABI = function (contractABI, address
else if (fallback) args.funABI = fallback else if (fallback) args.funABI = fallback
if (!args.funABI) return setLLIError(`Please define a 'Fallback' function to send calldata and a either 'Receive' or payable 'Fallback' to send ethers`) if (!args.funABI) return setLLIError(`Please define a 'Fallback' function to send calldata and a either 'Receive' or payable 'Fallback' to send ethers`)
this.runTransaction(false, args, null, calldataInput.value, null) self.runTransaction(false, args, null, calldataInput.value, null)
} }
contractActionsWrapper.appendChild(lowLevelInteracions) contractActionsWrapper.appendChild(lowLevelInteracions)
@ -218,7 +220,7 @@ UniversalDAppUI.prototype.getCallButton = function (args) {
lookupOnly, lookupOnly,
args.funABI, args.funABI,
(valArray, inputsValues) => self.runTransaction(lookupOnly, args, valArray, inputsValues, outputOverride), (valArray, inputsValues) => self.runTransaction(lookupOnly, args, valArray, inputsValues, outputOverride),
self.udapp.getInputs(args.funABI) self.blockchain.getInputs(args.funABI)
) )
const contractActionsContainer = yo`<div class="${css.contractActionsContainer}" >${multiParamManager.render()}</div>` const contractActionsContainer = yo`<div class="${css.contractActionsContainer}" >${multiParamManager.render()}</div>`

@ -4,6 +4,7 @@ const txExecution = remixLib.execution.txExecution
const typeConversion = remixLib.execution.typeConversion const typeConversion = remixLib.execution.typeConversion
const TxRunner = remixLib.execution.txRunner const TxRunner = remixLib.execution.txRunner
const Txlistener = remixLib.execution.txListener const Txlistener = remixLib.execution.txListener
const txHelper = remixLib.execution.txHelper
const EventManager = remixLib.EventManager const EventManager = remixLib.EventManager
const executionContext = remixLib.execution.executionContext const executionContext = remixLib.execution.executionContext
const ethJSUtil = require('ethereumjs-util') const ethJSUtil = require('ethereumjs-util')
@ -132,6 +133,19 @@ class Blockchain {
return this.executionContext.web3().eth.getGasPrice(cb) return this.executionContext.web3().eth.getGasPrice(cb)
} }
getFallbackInterface (contractABI) {
return txHelper.getFallbackInterface(contractABI)
}
getReceiveInterface (contractABI) {
return txHelper.getReceiveInterface(contractABI)
}
getInputs (funABI) {
if (!funABI.inputs) return ''
return txHelper.inputParametersDeclarationToString(funABI.inputs)
}
fromWei (value, doTypeConversion, unit) { fromWei (value, doTypeConversion, unit) {
if (doTypeConversion) { if (doTypeConversion) {
return Web3.utils.fromWei(typeConversion.toInt(value), unit || 'ether') return Web3.utils.fromWei(typeConversion.toInt(value), unit || 'ether')

@ -15,19 +15,19 @@ class PluginUdapp {
} }
createVMAccount (newAccount) { createVMAccount (newAccount) {
return this.blockchain.udapp.createVMAccount(newAccount) return this.blockchain.createVMAccount(newAccount)
} }
sendTransaction (tx) { sendTransaction (tx) {
return this.blockchain.udapp.sendTransaction(tx) return this.blockchain.sendTransaction(tx)
} }
getAccounts (cb) { getAccounts (cb) {
return this.blockchain.udapp.getAccounts(cb) return this.blockchain.getAccounts(cb)
} }
pendingTransactionsCount () { pendingTransactionsCount () {
return this.blockchain.udapp.pendingTransactionsCount() return this.blockchain.pendingTransactionsCount()
} }
} }

Loading…
Cancel
Save