Commit 7869294a authored by Gav Wood's avatar Gav Wood

Fixes to ethereum.js and standard.js.

parent 61a01588
...@@ -448,7 +448,7 @@ var abi = require('./abi'); ...@@ -448,7 +448,7 @@ var abi = require('./abi');
* var myContract = web3.eth.contract('0x0123123121', abi); // creation of contract object * var myContract = web3.eth.contract('0x0123123121', abi); // creation of contract object
* *
* myContract.myMethod('this is test string param for call'); // myMethod call (implicit, default) * myContract.myMethod('this is test string param for call'); // myMethod call (implicit, default)
* myContract.myMethod('this is test string param for call').call(); // myMethod call (explicit) * myContract.call().myMethod('this is test string param for call'); // myMethod call (explicit)
* myContract.transact().myMethod('this is test string param for transact'); // myMethod transact * myContract.transact().myMethod('this is test string param for transact'); // myMethod transact
* *
* @param address - address of the contract, which should be called * @param address - address of the contract, which should be called
...@@ -457,6 +457,18 @@ var abi = require('./abi'); ...@@ -457,6 +457,18 @@ var abi = require('./abi');
*/ */
var contract = function (address, desc) { var contract = function (address, desc) {
desc.forEach(function (method) {
// workaround for invalid assumption that method.name is the full anonymous prototype of the method.
// it's not. it's just the name. the rest of the code assumes it's actually the anonymous
// prototype, so we make it so as a workaround.
if (method.name.indexOf('(') === -1) {
var displayName = method.name;
var typeName = method.inputs.map(function(i){return i.type}).join();
method.name = displayName + '(' + typeName + ')';
}
});
var inputParser = abi.inputParser(desc); var inputParser = abi.inputParser(desc);
var outputParser = abi.outputParser(desc); var outputParser = abi.outputParser(desc);
......
This diff is collapsed.
This diff is collapsed.
...@@ -37,7 +37,7 @@ var abi = require('./abi'); ...@@ -37,7 +37,7 @@ var abi = require('./abi');
* var myContract = web3.eth.contract('0x0123123121', abi); // creation of contract object * var myContract = web3.eth.contract('0x0123123121', abi); // creation of contract object
* *
* myContract.myMethod('this is test string param for call'); // myMethod call (implicit, default) * myContract.myMethod('this is test string param for call'); // myMethod call (implicit, default)
* myContract.myMethod('this is test string param for call').call(); // myMethod call (explicit) * myContract.call().myMethod('this is test string param for call'); // myMethod call (explicit)
* myContract.transact().myMethod('this is test string param for transact'); // myMethod transact * myContract.transact().myMethod('this is test string param for transact'); // myMethod transact
* *
* @param address - address of the contract, which should be called * @param address - address of the contract, which should be called
...@@ -46,6 +46,18 @@ var abi = require('./abi'); ...@@ -46,6 +46,18 @@ var abi = require('./abi');
*/ */
var contract = function (address, desc) { var contract = function (address, desc) {
desc.forEach(function (method) {
// workaround for invalid assumption that method.name is the full anonymous prototype of the method.
// it's not. it's just the name. the rest of the code assumes it's actually the anonymous
// prototype, so we make it so as a workaround.
if (method.name.indexOf('(') === -1) {
var displayName = method.name;
var typeName = method.inputs.map(function(i){return i.type}).join();
method.name = displayName + '(' + typeName + ')';
}
});
var inputParser = abi.inputParser(desc); var inputParser = abi.inputParser(desc);
var outputParser = abi.outputParser(desc); var outputParser = abi.outputParser(desc);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment