Use web3 passed as a constructor option in udapp

pull/1/head
Alex Beregszaszi 9 years ago
parent 8bfd64a7fb
commit 61544ab3fc
  1. 1
      src/app/renderer.js
  2. 19
      src/universal-dapp.js

@ -101,6 +101,7 @@ function Renderer(web3, editor, compiler, updateFiles) {
var dapp = new UniversalDApp(udappContracts, { var dapp = new UniversalDApp(udappContracts, {
vm: executionContext === 'vm', vm: executionContext === 'vm',
web3: executionContext !== 'vm' ? web3 : null,
removable: false, removable: false,
getAddress: function(){ return $('#txorigin').val(); }, getAddress: function(){ return $('#txorigin').val(); },
getValue: function(){ getValue: function(){

@ -5,7 +5,6 @@ var ethJSUtil = require('ethereumjs-util');
var EthJSTX = require('ethereumjs-tx'); var EthJSTX = require('ethereumjs-tx');
var ethJSABI = require('ethereumjs-abi'); var ethJSABI = require('ethereumjs-abi');
var EthJSBlock = require('ethereumjs-block'); var EthJSBlock = require('ethereumjs-block');
var web3 = require('./web3-adapter.js');
function UniversalDApp (contracts, options) { function UniversalDApp (contracts, options) {
this.options = options || {}; this.options = options || {};
@ -22,6 +21,8 @@ function UniversalDApp (contracts, options) {
this.addAccount('3cd7232cd6f3fc66a57a6bedc1a8ed6c228fff0a327e169c2bcc5e869ed49511'); this.addAccount('3cd7232cd6f3fc66a57a6bedc1a8ed6c228fff0a327e169c2bcc5e869ed49511');
this.addAccount('2ac6c190b09897cd8987869cc7b918cfea07ee82038d492abce033c75c1b1d0c'); this.addAccount('2ac6c190b09897cd8987869cc7b918cfea07ee82038d492abce033c75c1b1d0c');
} else if (options.web3) {
this.web3 = options.web3;
} }
} }
@ -39,7 +40,7 @@ UniversalDApp.prototype.addAccount = function (privateKey, balance) {
UniversalDApp.prototype.getAccounts = function (cb) { UniversalDApp.prototype.getAccounts = function (cb) {
if (!this.vm) { if (!this.vm) {
web3.eth.getAccounts(cb); this.web3.eth.getAccounts(cb);
} else { } else {
if (!this.accounts) return cb("No accounts?"); if (!this.accounts) return cb("No accounts?");
@ -51,7 +52,7 @@ UniversalDApp.prototype.getBalance = function (address, cb) {
address = ethJSUtil.stripHexPrefix(address); address = ethJSUtil.stripHexPrefix(address);
if (!this.vm) { if (!this.vm) {
web3.eth.getBalance(address, function (err, res) { this.web3.eth.getBalance(address, function (err, res) {
if (err) { if (err) {
cb(err); cb(err);
} else { } else {
@ -159,7 +160,7 @@ UniversalDApp.prototype.getInstanceInterface = function (contract, address, $tar
if (a.constant == true) return -1; if (a.constant == true) return -1;
else return 1; else return 1;
}); });
var web3contract = web3.eth.contract(abi); var web3contract = this.web3.eth.contract(abi);
var funABI = this.getConstructorInterface(abi); var funABI = this.getConstructorInterface(abi);
var $createInterface = $('<div class="createContract"/>'); var $createInterface = $('<div class="createContract"/>');
@ -442,7 +443,7 @@ UniversalDApp.prototype.getCallButton = function(args) {
} else { } else {
function tryTillResponse (txhash, done) { function tryTillResponse (txhash, done) {
web3.eth.getTransactionReceipt(result, testResult ); this.web3.eth.getTransactionReceipt(result, testResult );
function testResult (err, address) { function testResult (err, address) {
if (!err && !address) { if (!err && !address) {
@ -556,18 +557,18 @@ UniversalDApp.prototype.runTx = function( data, args, cb) {
var tx; var tx;
if (!this.vm) { if (!this.vm) {
tx = { tx = {
from: self.options.getAddress ? self.options.getAddress() : web3.eth.accounts[0], from: self.options.getAddress ? self.options.getAddress() : this.web3.eth.accounts[0],
to: to, to: to,
data: data, data: data,
gas: gas, gas: gas,
value: value value: value
}; };
if (constant && !isConstructor) { if (constant && !isConstructor) {
web3.eth.call( tx, cb ); this.web3.eth.call( tx, cb );
} else { } else {
web3.eth.estimateGas( tx, function(err, resp){ this.web3.eth.estimateGas( tx, function(err, resp){
tx.gas = resp; tx.gas = resp;
if (!err) web3.eth.sendTransaction( tx, cb ); if (!err) self.web3.eth.sendTransaction( tx, cb );
else cb( err, resp); else cb( err, resp);
}); });
} }

Loading…
Cancel
Save