I'm having some issues with the following ABI.
var abi = [
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "documentHashMap",
"outputs": [
{
"name": "",
"type": "address"
}
],
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "hash",
"type": "bytes32"
}
],
"name": "newDocument",
"outputs": [
{
"name": "success",
"type": "bool"
}
],
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "docId",
"type": "uint256"
}
],
"name": "getDocument",
"outputs": [
{
"name": "blockNumber",
"type": "uint256"
},
{
"name": "hash",
"type": "bytes32"
},
{
"name": "from",
"type": "address"
},
{
"name": "to",
"type": "address"
}
],
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "history",
"outputs": [
{
"name": "blockNumber",
"type": "uint256"
},
{
"name": "hash",
"type": "bytes32"
},
{
"name": "from",
"type": "address"
},
{
"name": "to",
"type": "address"
}
],
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "usedHashes",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "getLatest",
"outputs": [
{
"name": "latest",
"type": "uint256"
}
],
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "hash",
"type": "bytes32"
}
],
"name": "documentExists",
"outputs": [
{
"name": "exists",
"type": "bool"
}
],
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "hash",
"type": "bytes32"
},
{
"name": "recipient",
"type": "address"
}
],
"name": "transferDocument",
"outputs": [
{
"name": "success",
"type": "bool"
}
],
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "empty",
"outputs": [],
"type": "function"
},
{
"inputs": [],
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "blockNumber",
"type": "uint256"
},
{
"indexed": true,
"name": "hash",
"type": "bytes32"
},
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
}
],
"name": "DocumentEvent",
"type": "event"
}
]
notaryContract = web3.eth.contract(abi).at("0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae");
notaryContract.getLatest()
It throws the following error:
var inputAddressFormatter = function (address) {
var iban = new Iban(address);
if (iban.isValid() && iban.isDirect()) {
return '0x' + iban.address();
} else if (utils.isStrictAddress(address)) {
return address;
} else if (utils.isAddress(address)) {
return '0x' + address;
}
throw 'invalid address'; <---- HERE
};
What am I doing wrong?
It was a mistake on my part.
I didn't declare getLatest() as constant so it tired to transact. Transact requires a default to argument. By making it constant it solved my issue.
Most helpful comment
It was a mistake on my part.
I didn't declare
getLatest()as constant so it tired to transact. Transact requires a defaulttoargument. By making it constant it solved my issue.