mirror of https://github.com/status-im/web3.js.git
Merge branch 'master' into abi_refactor
Conflicts: dist/web3-light.js.map dist/web3-light.min.js dist/web3.js.map dist/web3.min.js
This commit is contained in:
commit
e80ff10f52
|
@ -928,7 +928,8 @@ module.exports = {
|
|||
ETH_UNITS: ETH_UNITS,
|
||||
ETH_BIGNUMBER_ROUNDING_MODE: { ROUNDING_MODE: BigNumber.ROUND_DOWN },
|
||||
ETH_POLLING_TIMEOUT: 1000,
|
||||
ETH_DEFAULTBLOCK: 'latest'
|
||||
defaultBlock: 'latest',
|
||||
defaultAccount: undefined
|
||||
};
|
||||
|
||||
|
||||
|
@ -1533,6 +1534,8 @@ web3.setProvider = function (provider) {
|
|||
};
|
||||
web3.reset = function () {
|
||||
RequestManager.getInstance().reset();
|
||||
c.defaultBlock = 'latest';
|
||||
c.defaultAccount = undefined;
|
||||
};
|
||||
web3.toHex = utils.toHex;
|
||||
web3.toAscii = utils.toAscii;
|
||||
|
@ -1547,14 +1550,23 @@ web3.isAddress = utils.isAddress;
|
|||
// ADD defaultblock
|
||||
Object.defineProperty(web3.eth, 'defaultBlock', {
|
||||
get: function () {
|
||||
return c.ETH_DEFAULTBLOCK;
|
||||
return c.defaultBlock;
|
||||
},
|
||||
set: function (val) {
|
||||
c.ETH_DEFAULTBLOCK = val;
|
||||
return c.ETH_DEFAULTBLOCK;
|
||||
c.defaultBlock = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(web3.eth, 'defaultAccount', {
|
||||
get: function () {
|
||||
return c.defaultAccount;
|
||||
},
|
||||
set: function (val) {
|
||||
c.defaultAccount = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
|
||||
/// setups all api methods
|
||||
setupMethods(web3, web3Methods);
|
||||
|
@ -1755,12 +1767,13 @@ function Contract(abi, options) {
|
|||
var address = '';
|
||||
if (utils.isAddress(options)) {
|
||||
address = options;
|
||||
} else { // is a source code!
|
||||
} else { // is an object!
|
||||
// TODO, parse the rest of the args
|
||||
var code = options;
|
||||
options = options || {};
|
||||
var args = Array.prototype.slice.call(arguments, 2);
|
||||
var bytes = solAbi.formatConstructorParams(abi, args);
|
||||
address = web3.eth.sendTransaction({data: code + bytes});
|
||||
options.data += bytes;
|
||||
address = web3.eth.sendTransaction(options);
|
||||
}
|
||||
|
||||
var result = {};
|
||||
|
@ -2451,7 +2464,7 @@ var isPredefinedBlockNumber = function (blockNumber) {
|
|||
|
||||
var inputDefaultBlockNumberFormatter = function (blockNumber) {
|
||||
if (blockNumber === undefined) {
|
||||
return config.ETH_DEFAULTBLOCK;
|
||||
return config.defaultBlock;
|
||||
}
|
||||
return inputBlockNumberFormatter(blockNumber);
|
||||
};
|
||||
|
@ -2474,6 +2487,8 @@ var inputBlockNumberFormatter = function (blockNumber) {
|
|||
*/
|
||||
var inputTransactionFormatter = function (options){
|
||||
|
||||
options.from = options.from || config.defaultAccount;
|
||||
|
||||
// make code -> data
|
||||
if (options.code) {
|
||||
options.data = options.code;
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -928,7 +928,8 @@ module.exports = {
|
|||
ETH_UNITS: ETH_UNITS,
|
||||
ETH_BIGNUMBER_ROUNDING_MODE: { ROUNDING_MODE: BigNumber.ROUND_DOWN },
|
||||
ETH_POLLING_TIMEOUT: 1000,
|
||||
ETH_DEFAULTBLOCK: 'latest'
|
||||
defaultBlock: 'latest',
|
||||
defaultAccount: undefined
|
||||
};
|
||||
|
||||
|
||||
|
@ -1533,6 +1534,8 @@ web3.setProvider = function (provider) {
|
|||
};
|
||||
web3.reset = function () {
|
||||
RequestManager.getInstance().reset();
|
||||
c.defaultBlock = 'latest';
|
||||
c.defaultAccount = undefined;
|
||||
};
|
||||
web3.toHex = utils.toHex;
|
||||
web3.toAscii = utils.toAscii;
|
||||
|
@ -1547,14 +1550,23 @@ web3.isAddress = utils.isAddress;
|
|||
// ADD defaultblock
|
||||
Object.defineProperty(web3.eth, 'defaultBlock', {
|
||||
get: function () {
|
||||
return c.ETH_DEFAULTBLOCK;
|
||||
return c.defaultBlock;
|
||||
},
|
||||
set: function (val) {
|
||||
c.ETH_DEFAULTBLOCK = val;
|
||||
return c.ETH_DEFAULTBLOCK;
|
||||
c.defaultBlock = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(web3.eth, 'defaultAccount', {
|
||||
get: function () {
|
||||
return c.defaultAccount;
|
||||
},
|
||||
set: function (val) {
|
||||
c.defaultAccount = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
|
||||
/// setups all api methods
|
||||
setupMethods(web3, web3Methods);
|
||||
|
@ -1755,12 +1767,13 @@ function Contract(abi, options) {
|
|||
var address = '';
|
||||
if (utils.isAddress(options)) {
|
||||
address = options;
|
||||
} else { // is a source code!
|
||||
} else { // is an object!
|
||||
// TODO, parse the rest of the args
|
||||
var code = options;
|
||||
options = options || {};
|
||||
var args = Array.prototype.slice.call(arguments, 2);
|
||||
var bytes = solAbi.formatConstructorParams(abi, args);
|
||||
address = web3.eth.sendTransaction({data: code + bytes});
|
||||
options.data += bytes;
|
||||
address = web3.eth.sendTransaction(options);
|
||||
}
|
||||
|
||||
var result = {};
|
||||
|
@ -2451,7 +2464,7 @@ var isPredefinedBlockNumber = function (blockNumber) {
|
|||
|
||||
var inputDefaultBlockNumberFormatter = function (blockNumber) {
|
||||
if (blockNumber === undefined) {
|
||||
return config.ETH_DEFAULTBLOCK;
|
||||
return config.defaultBlock;
|
||||
}
|
||||
return inputBlockNumberFormatter(blockNumber);
|
||||
};
|
||||
|
@ -2474,6 +2487,8 @@ var inputBlockNumberFormatter = function (blockNumber) {
|
|||
*/
|
||||
var inputTransactionFormatter = function (options){
|
||||
|
||||
options.from = options.from || config.defaultAccount;
|
||||
|
||||
// make code -> data
|
||||
if (options.code) {
|
||||
options.data = options.code;
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -2,36 +2,34 @@
|
|||
<html>
|
||||
|
||||
<head>
|
||||
<script type="text/javascript" src="../dist/web3"></script>
|
||||
<script type="text/javascript" src="../dist/web3.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var web3 = require('web3');
|
||||
web3.setProvider(new web3.providers.HttpProvider());
|
||||
web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));
|
||||
|
||||
// solidity source code
|
||||
var source = "" +
|
||||
"contract test {\n" +
|
||||
" function multiply(uint a) returns(uint d) {\n" +
|
||||
" return a * 7;\n" +
|
||||
" }\n" +
|
||||
"}\n";
|
||||
/*var source = "" +*/
|
||||
/*"contract test {\n" +*/
|
||||
/*" function multiply(uint a) constant returns(uint d) {\n" +*/
|
||||
/*" return a * 7;\n" +*/
|
||||
/*" }\n" +*/
|
||||
/*"}\n";*/
|
||||
var source = "605280600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b60376004356041565b8060005260206000f35b6000600782029050604d565b91905056";
|
||||
|
||||
// contract description, this will be autogenerated somehow
|
||||
// contract description, this is autogenerated using solc CLI
|
||||
var desc = [{
|
||||
"name": "multiply(uint256)",
|
||||
"type": "function",
|
||||
"inputs": [
|
||||
{
|
||||
"constant" : true,
|
||||
"inputs" : [{
|
||||
"name" : "a",
|
||||
"type" : "uint256"
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
}],
|
||||
"name" : "multiply",
|
||||
"outputs" : [{
|
||||
"name" : "d",
|
||||
"type" : "uint256"
|
||||
}
|
||||
]
|
||||
}],
|
||||
"type" : "function"
|
||||
}];
|
||||
|
||||
var myContract;
|
||||
|
@ -41,11 +39,12 @@
|
|||
document.getElementById('create').style.visibility = 'hidden';
|
||||
document.getElementById('source').innerText = source;
|
||||
|
||||
// create contract
|
||||
var address = web3.eth.sendTransaction({data: web3.eth.compile.solidity(source)}),
|
||||
Contract = web3.eth.contract(desc);
|
||||
// let's assume that coinbase is our account
|
||||
web3.eth.defaultAccount = web3.eth.coinbase;
|
||||
|
||||
myContract = new Contract(address);
|
||||
// create contract
|
||||
var Contract = web3.eth.contract(desc);
|
||||
myContract = new Contract({data: source});
|
||||
document.getElementById('call').style.visibility = 'visible';
|
||||
}
|
||||
|
||||
|
@ -54,7 +53,7 @@
|
|||
var param = parseInt(document.getElementById('value').value);
|
||||
|
||||
// call the contract
|
||||
var res = myContract.call().multiply(param);
|
||||
var res = myContract.multiply(param);
|
||||
document.getElementById('result').innerText = res.toString(10);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
<!doctype>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<script type="text/javascript" src="../dist/web3.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var web3 = require('web3');
|
||||
web3.setProvider(new web3.providers.HttpProvider());
|
||||
|
||||
// solidity source code
|
||||
var source = "" +
|
||||
"contract test {\n" +
|
||||
" function multiply(uint[] a) returns(uint d) {\n" +
|
||||
" return a[0] + a[1];\n" +
|
||||
" }\n" +
|
||||
"}\n";
|
||||
|
||||
// contract description, this will be autogenerated somehow
|
||||
var desc = [{
|
||||
"name": "multiply(uint256[])",
|
||||
"type": "function",
|
||||
"inputs": [
|
||||
{
|
||||
"name": "a",
|
||||
"type": "uint256[]"
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "d",
|
||||
"type": "uint256"
|
||||
}
|
||||
]
|
||||
}];
|
||||
|
||||
var myContract;
|
||||
|
||||
function createExampleContract() {
|
||||
// hide create button
|
||||
document.getElementById('create').style.visibility = 'hidden';
|
||||
document.getElementById('source').innerText = source;
|
||||
|
||||
// create contract
|
||||
var address = web3.eth.sendTransaction({data: web3.eth.compile.solidity(source)}),
|
||||
Contract = web3.eth.contract(desc);
|
||||
|
||||
myContract = new Contract(address);
|
||||
document.getElementById('call').style.visibility = 'visible';
|
||||
}
|
||||
|
||||
function callExampleContract() {
|
||||
// this should be generated by ethereum
|
||||
var param = parseInt(document.getElementById('value').value);
|
||||
var param2 = parseInt(document.getElementById('value2').value);
|
||||
|
||||
// call the contract
|
||||
var res = myContract.call().multiply([param, param2]);
|
||||
document.getElementById('result').innerText = res.toString(10);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>contract</h1>
|
||||
<div id="source"></div>
|
||||
<div id='create'>
|
||||
<button type="button" onClick="createExampleContract();">create example contract</button>
|
||||
</div>
|
||||
<div id='call' style='visibility: hidden;'>
|
||||
<input type="number" id="value" onkeyup='callExampleContract()'></input>
|
||||
<input type="number" id="value2" onkeyup='callExampleContract()'></input>
|
||||
</div>
|
||||
<div id="result"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
<!doctype>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="../dist/web3.js"></script>
|
||||
<script type="text/javascript">
|
||||
var web3 = require('web3');
|
||||
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8080'));
|
||||
|
||||
var desc = [{
|
||||
"type":"event",
|
||||
"inputs": [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}],
|
||||
"name":"Event"
|
||||
}, {
|
||||
"type":"event",
|
||||
"inputs": [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}],
|
||||
"name":"Event2"
|
||||
}, {
|
||||
"type":"function",
|
||||
"inputs": [{"name":"a","type":"uint256"}],
|
||||
"name":"foo",
|
||||
"outputs": []
|
||||
}];
|
||||
|
||||
var address = '0x01';
|
||||
|
||||
var contract = web3.eth.contract(address, desc);
|
||||
|
||||
function test1() {
|
||||
// "{"topic":["0x83c9849c","0xc4d76332"],"address":"0x01"}"
|
||||
web3.eth.watch(contract).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test2() {
|
||||
// "{"topic":["0x83c9849c"],"address":"0x01"}"
|
||||
web3.eth.watch(contract.Event).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test3() {
|
||||
// "{"topic":["0x83c9849c"],"address":"0x01"}"
|
||||
contract.Event().changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test4() {
|
||||
// "{"topic":["0x83c9849c","0000000000000000000000000000000000000000000000000000000000000045"],"address":"0x01"}"
|
||||
contract.Event({a: 69}).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test5() {
|
||||
// "{"topic":["0x83c9849c",["0000000000000000000000000000000000000000000000000000000000000045","000000000000000000000000000000000000000000000000000000000000002a"]],"address":"0x01"}"
|
||||
contract.Event({a: [69, 42]}).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test6() {
|
||||
// "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"max":100,"address":"0x01"}"
|
||||
contract.Event({a: 30}, {max: 100}).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test7() {
|
||||
// "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"address":"0x01"}"
|
||||
web3.eth.watch(contract.Event, {a: 30}).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function test8() {
|
||||
// "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"max":100,"address":"0x01"}"
|
||||
web3.eth.watch(contract.Event, {a: 30}, {max: 100}).changed(function (res) {
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
// not valid
|
||||
// function testX() {
|
||||
// web3.eth.watch([contract.Event, contract.Event2]).changed(function (res) {
|
||||
// });
|
||||
// };
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div>
|
||||
<button type="button" onClick="test1();">test1</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test2();">test2</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test3();">test3</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test4();">test4</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test5();">test5</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test6();">test6</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test7();">test7</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" onClick="test8();">test8</button>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -4,48 +4,61 @@
|
|||
<script type="text/javascript" src="../dist/web3.js"></script>
|
||||
<script type="text/javascript">
|
||||
var web3 = require('web3');
|
||||
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8080'));
|
||||
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
|
||||
|
||||
var source = "" +
|
||||
"contract Contract { " +
|
||||
" event Incremented(bool indexed odd, uint x); " +
|
||||
" function Contract() { " +
|
||||
" x = 69; " +
|
||||
" } " +
|
||||
" function inc() { " +
|
||||
" ++x; " +
|
||||
" Incremented(x % 2 == 1, x); " +
|
||||
" } " +
|
||||
" uint x; " +
|
||||
"}";
|
||||
/*var source = "" + */
|
||||
/*"contract Contract { " +*/
|
||||
/*" event Incremented(bool indexed odd, uint x); " +*/
|
||||
/*" function Contract() { " +*/
|
||||
/*" x = 69; " +*/
|
||||
/*" } " +*/
|
||||
/*" function inc() { " +*/
|
||||
/*" ++x; " +*/
|
||||
/*" Incremented(x % 2 == 1, x); " +*/
|
||||
/*" } " +*/
|
||||
/*" uint x; " +*/
|
||||
/*"}";*/
|
||||
var source = "5b60456000600050819055505b608c8060196000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063371303c014602e57005b6034603a565b60006000f35b6000600081815054600101919050819055506001600260006000505406147f6e61ef44ac2747ff8b84d353a908eb8bd5c3fb118334d57698c5cfc7041196ad600060006000505481526020016000a25b56";
|
||||
|
||||
var desc = [{
|
||||
"type":"event",
|
||||
"name":"Incremented",
|
||||
"inputs": [{"name":"odd","type":"bool","indexed":true},{"name":"x","type":"uint","indexed":false}],
|
||||
}, {
|
||||
"type":"function",
|
||||
"name":"inc",
|
||||
"constant" : false,
|
||||
"inputs" : [],
|
||||
"outputs": []
|
||||
"name" : "inc",
|
||||
"outputs" : [],
|
||||
"type" : "function"
|
||||
}, {
|
||||
"anonymous" : false,
|
||||
"inputs" : [{
|
||||
"indexed" : true,
|
||||
"name" : "odd",
|
||||
"type" : "bool"
|
||||
}, {
|
||||
"indexed" : false,
|
||||
"name" : "x",
|
||||
"type" : "uint256"
|
||||
}],
|
||||
"name" : "Incremented",
|
||||
"type" : "event"
|
||||
}];
|
||||
|
||||
var address;
|
||||
var contract;
|
||||
|
||||
var update = function (x) {
|
||||
var update = function (err, x) {
|
||||
document.getElementById('result').innerText = JSON.stringify(x);
|
||||
};
|
||||
|
||||
var createContract = function () {
|
||||
address = web3.eth.sendTransaction({data: web3.eth.compile.solidity(source)});
|
||||
contract = web3.eth.contract(address, desc);
|
||||
contract.Incremented({odd: true}).changed(update);
|
||||
// let's assume that we have a private key to coinbase ;)
|
||||
web3.eth.defaultAccount = web3.eth.coinbase;
|
||||
var Contract = web3.eth.contract(desc);
|
||||
contract = new Contract({data: source});
|
||||
contract.Incremented({odd: true}).watch(update);
|
||||
|
||||
};
|
||||
|
||||
var callContract = function () {
|
||||
contract.call().inc();
|
||||
contract.inc();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -64,6 +64,7 @@ module.exports = {
|
|||
ETH_UNITS: ETH_UNITS,
|
||||
ETH_BIGNUMBER_ROUNDING_MODE: { ROUNDING_MODE: BigNumber.ROUND_DOWN },
|
||||
ETH_POLLING_TIMEOUT: 1000,
|
||||
ETH_DEFAULTBLOCK: 'latest'
|
||||
defaultBlock: 'latest',
|
||||
defaultAccount: undefined
|
||||
};
|
||||
|
||||
|
|
17
lib/web3.js
17
lib/web3.js
|
@ -117,6 +117,8 @@ web3.setProvider = function (provider) {
|
|||
};
|
||||
web3.reset = function () {
|
||||
RequestManager.getInstance().reset();
|
||||
c.defaultBlock = 'latest';
|
||||
c.defaultAccount = undefined;
|
||||
};
|
||||
web3.toHex = utils.toHex;
|
||||
web3.toAscii = utils.toAscii;
|
||||
|
@ -131,14 +133,23 @@ web3.isAddress = utils.isAddress;
|
|||
// ADD defaultblock
|
||||
Object.defineProperty(web3.eth, 'defaultBlock', {
|
||||
get: function () {
|
||||
return c.ETH_DEFAULTBLOCK;
|
||||
return c.defaultBlock;
|
||||
},
|
||||
set: function (val) {
|
||||
c.ETH_DEFAULTBLOCK = val;
|
||||
return c.ETH_DEFAULTBLOCK;
|
||||
c.defaultBlock = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(web3.eth, 'defaultAccount', {
|
||||
get: function () {
|
||||
return c.defaultAccount;
|
||||
},
|
||||
set: function (val) {
|
||||
c.defaultAccount = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
|
||||
/// setups all api methods
|
||||
setupMethods(web3, web3Methods);
|
||||
|
|
|
@ -183,12 +183,13 @@ function Contract(abi, options) {
|
|||
var address = '';
|
||||
if (utils.isAddress(options)) {
|
||||
address = options;
|
||||
} else { // is a source code!
|
||||
} else { // is an object!
|
||||
// TODO, parse the rest of the args
|
||||
var code = options;
|
||||
options = options || {};
|
||||
var args = Array.prototype.slice.call(arguments, 2);
|
||||
var bytes = solAbi.formatConstructorParams(abi, args);
|
||||
address = web3.eth.sendTransaction({data: code + bytes});
|
||||
options.data += bytes;
|
||||
address = web3.eth.sendTransaction(options);
|
||||
}
|
||||
|
||||
var result = {};
|
||||
|
|
|
@ -41,7 +41,7 @@ var isPredefinedBlockNumber = function (blockNumber) {
|
|||
|
||||
var inputDefaultBlockNumberFormatter = function (blockNumber) {
|
||||
if (blockNumber === undefined) {
|
||||
return config.ETH_DEFAULTBLOCK;
|
||||
return config.defaultBlock;
|
||||
}
|
||||
return inputBlockNumberFormatter(blockNumber);
|
||||
};
|
||||
|
@ -64,6 +64,8 @@ var inputBlockNumberFormatter = function (blockNumber) {
|
|||
*/
|
||||
var inputTransactionFormatter = function (options){
|
||||
|
||||
options.from = options.from || config.defaultAccount;
|
||||
|
||||
// make code -> data
|
||||
if (options.code) {
|
||||
options.data = options.code;
|
||||
|
|
|
@ -234,7 +234,7 @@ describe('web3.eth.contract', function() {
|
|||
});
|
||||
|
||||
var Con = contract(description);
|
||||
var myCon = new Con(code, 2);
|
||||
var myCon = new Con({data: code}, 2);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue