Merge pull request #50 from ethereum/web3-cleanup

Web3 cleanup
pull/1/head
chriseth 9 years ago
commit d9eecd08b2
  1. 3
      src/app.js
  2. 4
      src/app/compiler.js
  3. 4
      src/app/renderer.js
  4. 27
      src/universal-dapp.js

@ -1,5 +1,4 @@
var $ = require('jquery');
var web3 = require('./web3-adapter.js');
var utils = require('./app/utils');
var queryParams = require('./app/query-params');
@ -407,7 +406,7 @@ var run = function() {
return $.getJSON('https://api.github.com/repos/' + root + '/contents/' + path, cb);
}
var compiler = new Compiler(web3, editor, handleGithubCall, $('#output'), getHidingRHP, updateFiles);
var compiler = new Compiler(editor, handleGithubCall, $('#output'), getHidingRHP, updateFiles);
function setVersionText(text) {
$('#version').text(text);

@ -4,8 +4,8 @@ var Renderer = require('./renderer');
var Base64 = require('js-base64').Base64;
function Compiler(web3, editor, handleGithubCall, outputField, hidingRHP, updateFiles) {
var renderer = new Renderer(web3, editor, this, updateFiles);
function Compiler(editor, handleGithubCall, outputField, hidingRHP, updateFiles) {
var renderer = new Renderer(editor, this, updateFiles);
var compileJSON;
var compilerAcceptsMultipleFiles;

@ -1,10 +1,11 @@
var $ = require('jquery');
var web3 = require('../web3-adapter.js');
var UniversalDApp = require('../universal-dapp.js');
var utils = require('./utils');
function Renderer(web3, editor, compiler, updateFiles) {
function Renderer(editor, compiler, updateFiles) {
var detailsOpen = {};
var executionContext = 'vm';
@ -101,6 +102,7 @@ function Renderer(web3, editor, compiler, updateFiles) {
var dapp = new UniversalDApp(udappContracts, {
vm: executionContext === 'vm',
web3: executionContext !== 'vm' ? web3 : null,
removable: false,
getAddress: function(){ return $('#txorigin').val(); },
getValue: function(){

@ -5,7 +5,6 @@ var ethJSUtil = require('ethereumjs-util');
var EthJSTX = require('ethereumjs-tx');
var ethJSABI = require('ethereumjs-abi');
var EthJSBlock = require('ethereumjs-block');
var web3 = require('./web3-adapter.js');
function UniversalDApp (contracts, options) {
this.options = options || {};
@ -22,13 +21,11 @@ function UniversalDApp (contracts, options) {
this.addAccount('3cd7232cd6f3fc66a57a6bedc1a8ed6c228fff0a327e169c2bcc5e869ed49511');
this.addAccount('2ac6c190b09897cd8987869cc7b918cfea07ee82038d492abce033c75c1b1d0c');
} else if (!web3.currentProvider) {
var host = options.host || "localhost";
var port = options.port || "8545";
var rpc_url = options.getWeb3endpoint ? options.getWeb3endpoint() : ('http://' + host + ':' + port);
web3.setProvider( new web3.providers.HttpProvider( rpc_url ) );
} else if (options.web3) {
this.web3 = options.web3;
} else {
throw new Error("Either VM or Web3 mode must be selected");
}
}
UniversalDApp.prototype.addAccount = function (privateKey, balance) {
@ -45,7 +42,7 @@ UniversalDApp.prototype.addAccount = function (privateKey, balance) {
UniversalDApp.prototype.getAccounts = function (cb) {
if (!this.vm) {
web3.eth.getAccounts(cb);
this.web3.eth.getAccounts(cb);
} else {
if (!this.accounts) return cb("No accounts?");
@ -57,7 +54,7 @@ UniversalDApp.prototype.getBalance = function (address, cb) {
address = ethJSUtil.stripHexPrefix(address);
if (!this.vm) {
web3.eth.getBalance(address, function (err, res) {
this.web3.eth.getBalance(address, function (err, res) {
if (err) {
cb(err);
} else {
@ -165,7 +162,7 @@ UniversalDApp.prototype.getInstanceInterface = function (contract, address, $tar
if (a.constant == true) return -1;
else return 1;
});
var web3contract = web3.eth.contract(abi);
var web3contract = this.web3.eth.contract(abi);
var funABI = this.getConstructorInterface(abi);
var $createInterface = $('<div class="createContract"/>');
@ -454,7 +451,7 @@ UniversalDApp.prototype.getCallButton = function(args) {
} else {
function tryTillResponse (txhash, done) {
web3.eth.getTransactionReceipt(result, testResult );
this.web3.eth.getTransactionReceipt(result, testResult );
function testResult (err, address) {
if (!err && !address) {
@ -568,18 +565,18 @@ UniversalDApp.prototype.runTx = function( data, args, cb) {
var tx;
if (!this.vm) {
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,
data: data,
gas: gas,
value: value
};
if (constant && !isConstructor) {
web3.eth.call( tx, cb );
this.web3.eth.call( tx, cb );
} else {
web3.eth.estimateGas( tx, function(err, resp){
this.web3.eth.estimateGas( tx, function(err, resp){
tx.gas = resp;
if (!err) web3.eth.sendTransaction( tx, cb );
if (!err) self.web3.eth.sendTransaction( tx, cb );
else cb( err, resp);
});
}

Loading…
Cancel
Save