mereg develop

This commit is contained in:
Fabian Vogelsteller 2015-06-08 17:07:23 +02:00
commit a90a85aa5c
11 changed files with 307 additions and 107 deletions

18
dist/web3-light.js vendored
View File

@ -2598,8 +2598,10 @@ var inputTransactionFormatter = function (options){
* @returns {Object} transaction * @returns {Object} transaction
*/ */
var outputTransactionFormatter = function (tx){ var outputTransactionFormatter = function (tx){
tx.blockNumber = utils.toDecimal(tx.blockNumber); if(tx.blockNumber !== null)
tx.transactionIndex = utils.toDecimal(tx.transactionIndex); tx.blockNumber = utils.toDecimal(tx.blockNumber);
if(tx.transactionIndex !== null)
tx.transactionIndex = utils.toDecimal(tx.transactionIndex);
tx.nonce = utils.toDecimal(tx.nonce); tx.nonce = utils.toDecimal(tx.nonce);
tx.gas = utils.toDecimal(tx.gas); tx.gas = utils.toDecimal(tx.gas);
tx.gasPrice = utils.toBigNumber(tx.gasPrice); tx.gasPrice = utils.toBigNumber(tx.gasPrice);
@ -2621,7 +2623,8 @@ var outputBlockFormatter = function(block) {
block.gasUsed = utils.toDecimal(block.gasUsed); block.gasUsed = utils.toDecimal(block.gasUsed);
block.size = utils.toDecimal(block.size); block.size = utils.toDecimal(block.size);
block.timestamp = utils.toDecimal(block.timestamp); block.timestamp = utils.toDecimal(block.timestamp);
block.number = utils.toDecimal(block.number); if(block.number !== null)
block.number = utils.toDecimal(block.number);
block.difficulty = utils.toBigNumber(block.difficulty); block.difficulty = utils.toBigNumber(block.difficulty);
block.totalDifficulty = utils.toBigNumber(block.totalDifficulty); block.totalDifficulty = utils.toBigNumber(block.totalDifficulty);
@ -2648,9 +2651,12 @@ var outputLogFormatter = function(log) {
return null; return null;
} }
log.blockNumber = utils.toDecimal(log.blockNumber); if(log.blockNumber !== null)
log.transactionIndex = utils.toDecimal(log.transactionIndex); log.blockNumber = utils.toDecimal(log.blockNumber);
log.logIndex = utils.toDecimal(log.logIndex); if(log.transactionIndex !== null)
log.transactionIndex = utils.toDecimal(log.transactionIndex);
if(log.logIndex !== null)
log.logIndex = utils.toDecimal(log.logIndex);
return log; return log;
}; };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

18
dist/web3.js vendored
View File

@ -2598,8 +2598,10 @@ var inputTransactionFormatter = function (options){
* @returns {Object} transaction * @returns {Object} transaction
*/ */
var outputTransactionFormatter = function (tx){ var outputTransactionFormatter = function (tx){
tx.blockNumber = utils.toDecimal(tx.blockNumber); if(tx.blockNumber !== null)
tx.transactionIndex = utils.toDecimal(tx.transactionIndex); tx.blockNumber = utils.toDecimal(tx.blockNumber);
if(tx.transactionIndex !== null)
tx.transactionIndex = utils.toDecimal(tx.transactionIndex);
tx.nonce = utils.toDecimal(tx.nonce); tx.nonce = utils.toDecimal(tx.nonce);
tx.gas = utils.toDecimal(tx.gas); tx.gas = utils.toDecimal(tx.gas);
tx.gasPrice = utils.toBigNumber(tx.gasPrice); tx.gasPrice = utils.toBigNumber(tx.gasPrice);
@ -2621,7 +2623,8 @@ var outputBlockFormatter = function(block) {
block.gasUsed = utils.toDecimal(block.gasUsed); block.gasUsed = utils.toDecimal(block.gasUsed);
block.size = utils.toDecimal(block.size); block.size = utils.toDecimal(block.size);
block.timestamp = utils.toDecimal(block.timestamp); block.timestamp = utils.toDecimal(block.timestamp);
block.number = utils.toDecimal(block.number); if(block.number !== null)
block.number = utils.toDecimal(block.number);
block.difficulty = utils.toBigNumber(block.difficulty); block.difficulty = utils.toBigNumber(block.difficulty);
block.totalDifficulty = utils.toBigNumber(block.totalDifficulty); block.totalDifficulty = utils.toBigNumber(block.totalDifficulty);
@ -2648,9 +2651,12 @@ var outputLogFormatter = function(log) {
return null; return null;
} }
log.blockNumber = utils.toDecimal(log.blockNumber); if(log.blockNumber !== null)
log.transactionIndex = utils.toDecimal(log.transactionIndex); log.blockNumber = utils.toDecimal(log.blockNumber);
log.logIndex = utils.toDecimal(log.logIndex); if(log.transactionIndex !== null)
log.transactionIndex = utils.toDecimal(log.transactionIndex);
if(log.logIndex !== null)
log.logIndex = utils.toDecimal(log.logIndex);
return log; return log;
}; };

4
dist/web3.js.map vendored

File diff suppressed because one or more lines are too long

4
dist/web3.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -11,92 +11,193 @@
var from = web3.eth.coinbase; var from = web3.eth.coinbase;
web3.eth.defaultAccount = from; web3.eth.defaultAccount = from;
/* var nameregAbi = [
window.onload = function () { {"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"name","outputs":[{"name":"o_name","type":"bytes32"}],"type":"function"},
var abi = [{ {"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"owner","outputs":[{"name":"","type":"address"}],"type":"function"},
"anonymous" : false, {"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"content","outputs":[{"name":"","type":"bytes32"}],"type":"function"},
"inputs" : [ {"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"addr","outputs":[{"name":"","type":"address"}],"type":"function"},
{ {"constant":false,"inputs":[{"name":"_name","type":"bytes32"}],"name":"reserve","outputs":[],"type":"function"},
"indexed" : true, {"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"subRegistrar","outputs":[{"name":"o_subRegistrar","type":"address"}],"type":"function"},
"name" : "from", {"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_newOwner","type":"address"}],"name":"transfer","outputs":[],"type":"function"},
"type" : "address" {"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_registrar","type":"address"}],"name":"setSubRegistrar","outputs":[],"type":"function"},
}, {"constant":false,"inputs":[],"name":"Registrar","outputs":[],"type":"function"},
{ {"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_a","type":"address"},{"name":"_primary","type":"bool"}],"name":"setAddress","outputs":[],"type":"function"},
"indexed" : true, {"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_content","type":"bytes32"}],"name":"setContent","outputs":[],"type":"function"},
"name" : "to", {"constant":false,"inputs":[{"name":"_name","type":"bytes32"}],"name":"disown","outputs":[],"type":"function"},
"type" : "bytes32" {"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"register","outputs":[{"name":"","type":"address"}],"type":"function"},
}, {"anonymous":false,"inputs":[{"indexed":true,"name":"name","type":"bytes32"}],"name":"Changed","type":"event"},
{ {"anonymous":false,"inputs":[{"indexed":true,"name":"name","type":"bytes32"},{"indexed":true,"name":"addr","type":"address"}],"name":"PrimaryChanged","type":"event"}
"indexed" : false, ];
"name" : "value",
"type" : "uint256"
}
],
"name" : "Deposit",
"type" : "event"
}];
var ExchangeInterface = web3.eth.contract(abi).at(web3.eth.namereg.addr('XROO')); var depositAbi = [{"constant":false,"inputs":[{"name":"name","type":"bytes32"}],"name":"deposit","outputs":[],"type":"function"}];
var filter = ExchangeInterface.Deposit({}, {fromBlock: 0});
filter.watch(function (err, event) { var Namereg = web3.eth.contract(nameregAbi);
console.log(event); var Deposit = web3.eth.contract(depositAbi);
displayDeposit("block: " + event.blockNumber + " user: " + event.args._id + "\nvalue : " + event.args._value.toString(10));
}); var namereg = web3.eth.namereg;
var deposit;
var iban;
function validateNamereg() {
var address = document.getElementById('namereg').value;
var ok = /^(0x)?[0-9a-f]{40}$/.test(address) || address === 'default';
if (ok) {
namereg = address === 'default' ? web3.eth.namereg : Namereg.at(address);
document.getElementById('nameregValidation').innerText = 'ok!';
} else {
document.getElementById('nameregValidation').innerText = 'namereg address is incorrect!';
}
return ok;
}; };
*/
function displayDeposit(text) { function onNameregKeyUp() {
var node = document.createElement('li'); updateIBAN(validateNamereg());
var textnode = document.createTextNode(text); onExchangeKeyUp();
node.appendChild(textnode); };
document.getElementById('deposits').appendChild(node);
} function validateExchange() {
var exchange = document.getElementById('exchange').value;
var ok = /^[0-9A-Z]{4}$/.test(exchange);
if (ok) {
var address = namereg.addr(exchange);
deposit = Deposit.at(address);
document.getElementById('exchangeValidation').innerText = 'ok! address of exchange: ' + address;
} else {
document.getElementById('exchangeValidation').innerText = 'exchange id is incorrect';
}
return ok;
};
function onExchangeKeyUp() {
updateIBAN(validateExchange());
};
function validateClient() {
var client = document.getElementById('client').value;
var ok = /^[0-9A-Z]{9}$/.test(client);
if (ok) {
document.getElementById('clientValidation').innerText = 'ok!';
} else {
document.getElementById('clientValidation').innerText = 'client id is incorrect';
}
return ok;
};
function onClientKeyUp() {
updateIBAN(validateClient());
};
function validateValue() { function validateValue() {
try { try {
var value = document.getElementById('value').value; var value = document.getElementById('value').value;
var bnValue = new BigNumber(value); var bnValue = new BigNumber(value);
document.getElementById('valueValidation').innerText = bnValue.toString(10); document.getElementById('valueValidation').innerText = bnValue.toString(10);
return true;
} catch (err) { } catch (err) {
document.getElementById('valueValidation').innerText = 'Value is incorrect, cannot parse'; document.getElementById('valueValidation').innerText = 'Value is incorrect, cannot parse';
return false;
} }
}; };
function onValueKeyUp() {
validateValue();
};
function validateIBAN() { function validateIBAN() {
var iban = document.getElementById('iban').value;
if (!web3.isIBAN(iban)) { if (!web3.isIBAN(iban)) {
return document.getElementById('ibanValidation').innerText = 'IBAN number is incorrect'; return document.getElementById('ibanValidation').innerText = ' - IBAN number is incorrect';
} }
var institution = iban.substr(7, 4); document.getElementById('ibanValidation').innerText = ' - IBAN number correct';
var address = web3.eth.namereg.addr(institution); };
document.getElementById('ibanValidation').innerText = 'IBAN number correct, exchange address: ' + address;
function updateIBAN(ok) {
var exchangeId = document.getElementById('exchange').value;
var clientId = document.getElementById('client').value;
iban = 'XE' + '00' + 'ETH' + exchangeId + clientId;
document.getElementById('iban').innerText = iban;
validateIBAN();
}; };
function transfer() { function transfer() {
var value = new BigNumber(document.getElementById('value').value); var value = new BigNumber(document.getElementById('value').value);
var iban = document.getElementById('iban').value; var exchange = document.getElementById('exchange').value;
web3.eth.sendIBANTransaction(from, iban, value); var client = document.getElementById('client').value;
deposit.deposit(client, {value: value});
displayTransfer("deposited client's " + client + " funds " + value.toString(10) + " to exchange " + exchange);
}; };
function displayTransfer(text) {
var node = document.createElement('li');
var textnode = document.createTextNode(text);
node.appendChild(textnode);
document.getElementById('transfers').appendChild(node);
}
</script> </script>
</head> </head>
<body> <body>
<h1>ICAP</h1> <h1>ICAP transfer</h1>
<h3>Transfer</h3>
<div> <div>
<text>Destination IBAN (eg. XE81ETHXROOGAVOFYORK): </text> <h4>namereg address</h4>
<input type="text" id="iban" onkeyup='validateIBAN()'></input>
<text id="ibanValidation"></text>
</div> </div>
<div> <div>
<text>Value: </text> <text>eg. 0x436474facc88948696b371052a1befb801f003ca or 'default')</text>
<input type="text" id="value" onkeyup='validateValue()'></input> </div>
<div>
<input type="text" id="namereg" onkeyup='onNameregKeyUp()' value="default"></input>
<text id="nameregValidation"></text>
</div>
<div>
<h4>exchange identifier</h4>
</div>
<div>
<text>eg. WYWY</text>
</div>
<div>
<input type="text" id="exchange" onkeyup='onExchangeKeyUp()'></input>
<text id="exchangeValidation"></text>
</div>
<div>
<h4>client identifier</h4>
</div>
<div>
<text>eg. GAVOFYORK</text>
</div>
<div>
<input type="text" id="client" onkeyup='onClientKeyUp()'></input>
<text id="clientValidation"></text>
</div>
<div>
<h4>value</h4>
</div>
<div>
<text>eg. 100</text>
</div>
<div>
<input type="text" id="value" onkeyup='onValueKeyUp()'></input>
<text id="valueValidation"></text> <text id="valueValidation"></text>
</div> </div>
<div>&nbsp;</div>
<div>
<text>IBAN: </text>
<text id="iban"></text>
<text id="ibanValidation"></text>
</div>
<div>&nbsp;</div>
<div> <div>
<button id="transfer" type="button" onClick="transfer()">Transfer!</button> <button id="transfer" type="button" onClick="transfer()">Transfer!</button>
<text id="transferValidation"></text>
</div>
<div>
<h4>transfers</h4>
</div>
<div>
<ul id='transfers'></ul>
</div> </div>
<h3 style="visibility: hidden;">"XREG" Exchange deposits</h3>
<ul style="visibility: hidden;" id="deposits"></ul>
</body> </body>
</html> </html>

View File

@ -89,8 +89,10 @@ var inputTransactionFormatter = function (options){
* @returns {Object} transaction * @returns {Object} transaction
*/ */
var outputTransactionFormatter = function (tx){ var outputTransactionFormatter = function (tx){
tx.blockNumber = utils.toDecimal(tx.blockNumber); if(tx.blockNumber !== null)
tx.transactionIndex = utils.toDecimal(tx.transactionIndex); tx.blockNumber = utils.toDecimal(tx.blockNumber);
if(tx.transactionIndex !== null)
tx.transactionIndex = utils.toDecimal(tx.transactionIndex);
tx.nonce = utils.toDecimal(tx.nonce); tx.nonce = utils.toDecimal(tx.nonce);
tx.gas = utils.toDecimal(tx.gas); tx.gas = utils.toDecimal(tx.gas);
tx.gasPrice = utils.toBigNumber(tx.gasPrice); tx.gasPrice = utils.toBigNumber(tx.gasPrice);
@ -112,7 +114,8 @@ var outputBlockFormatter = function(block) {
block.gasUsed = utils.toDecimal(block.gasUsed); block.gasUsed = utils.toDecimal(block.gasUsed);
block.size = utils.toDecimal(block.size); block.size = utils.toDecimal(block.size);
block.timestamp = utils.toDecimal(block.timestamp); block.timestamp = utils.toDecimal(block.timestamp);
block.number = utils.toDecimal(block.number); if(block.number !== null)
block.number = utils.toDecimal(block.number);
block.difficulty = utils.toBigNumber(block.difficulty); block.difficulty = utils.toBigNumber(block.difficulty);
block.totalDifficulty = utils.toBigNumber(block.totalDifficulty); block.totalDifficulty = utils.toBigNumber(block.totalDifficulty);
@ -139,9 +142,12 @@ var outputLogFormatter = function(log) {
return null; return null;
} }
log.blockNumber = utils.toDecimal(log.blockNumber); if(log.blockNumber !== null)
log.transactionIndex = utils.toDecimal(log.transactionIndex); log.blockNumber = utils.toDecimal(log.blockNumber);
log.logIndex = utils.toDecimal(log.logIndex); if(log.transactionIndex !== null)
log.transactionIndex = utils.toDecimal(log.transactionIndex);
if(log.logIndex !== null)
log.logIndex = utils.toDecimal(log.logIndex);
return log; return log;
}; };

View File

@ -8,38 +8,72 @@ describe('formatters', function () {
it('should return the correct value', function () { it('should return the correct value', function () {
assert.deepEqual(formatters.outputBlockFormatter({ assert.deepEqual(formatters.outputBlockFormatter({
hash: '0x34234kjh23kj4234', hash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
parentHash: '0x34234kjh23kj4234', parentHash: '0x83ffb245cfced97ccc5c75253d6960376d6c6dea93647397a543a72fdaea5265',
miner: '0x34234kjh23kj4234', miner: '0xdcc6960376d6c6dea93647383ffb245cfced97cf',
stateRoot: '0x34234kjh23kj4234', stateRoot: '0x54dda68af07643f68739a6e9612ad157a26ae7e2ce81f77842bb5835fbcde583',
sha3Uncles: '0x34234kjh23kj4234', sha3Uncles: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347',
bloom: '0x34234kjh23kj4234', bloom: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
difficulty: '0x3e8', difficulty: '0x3e8',
totalDifficulty: '0x3e8', totalDifficulty: '0x3e8',
number: '0x3e8', number: '0x3e8',
gasLimit: '0x3e8', gasLimit: '0x3e8',
gasUsed: '0x3e8', gasUsed: '0x3e8',
timestamp: '0x3e8', timestamp: '0x3e8',
extraData: '0x34234kjh23kj4234', extraData: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
nonce: '0x34234kjh23kj4234', nonce: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
children: ['0x34234kjh23kj4234'],
size: '0x3e8' size: '0x3e8'
}), { }), {
hash: '0x34234kjh23kj4234', hash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
parentHash: '0x34234kjh23kj4234', parentHash: '0x83ffb245cfced97ccc5c75253d6960376d6c6dea93647397a543a72fdaea5265',
miner: '0x34234kjh23kj4234', miner: '0xdcc6960376d6c6dea93647383ffb245cfced97cf',
stateRoot: '0x34234kjh23kj4234', stateRoot: '0x54dda68af07643f68739a6e9612ad157a26ae7e2ce81f77842bb5835fbcde583',
sha3Uncles: '0x34234kjh23kj4234', sha3Uncles: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347',
bloom: '0x34234kjh23kj4234', bloom: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
difficulty: new BigNumber(1000), difficulty: new BigNumber(1000),
totalDifficulty: new BigNumber(1000), totalDifficulty: new BigNumber(1000),
number: 1000, number: 1000,
gasLimit: 1000, gasLimit: 1000,
gasUsed: 1000, gasUsed: 1000,
timestamp: 1000, timestamp: 1000,
extraData: '0x34234kjh23kj4234', extraData: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
nonce: '0x34234kjh23kj4234', nonce: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
children: ['0x34234kjh23kj4234'], size: 1000
});
});
it('should return the correct value, when null values are present', function () {
assert.deepEqual(formatters.outputBlockFormatter({
hash: null,
parentHash: '0x83ffb245cfced97ccc5c75253d6960376d6c6dea93647397a543a72fdaea5265',
miner: null,
stateRoot: '0x54dda68af07643f68739a6e9612ad157a26ae7e2ce81f77842bb5835fbcde583',
sha3Uncles: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347',
bloom: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
difficulty: '0x3e8',
totalDifficulty: '0x3e8',
number: null,
gasLimit: '0x3e8',
gasUsed: '0x3e8',
timestamp: '0x3e8',
extraData: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
nonce: null,
size: '0x3e8'
}), {
hash: null,
parentHash: '0x83ffb245cfced97ccc5c75253d6960376d6c6dea93647397a543a72fdaea5265',
miner: null,
stateRoot: '0x54dda68af07643f68739a6e9612ad157a26ae7e2ce81f77842bb5835fbcde583',
sha3Uncles: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347',
bloom: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
difficulty: new BigNumber(1000),
totalDifficulty: new BigNumber(1000),
number: null,
gasLimit: 1000,
gasUsed: 1000,
timestamp: 1000,
extraData: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
nonce: null,
size: 1000 size: 1000
}); });
}); });

View File

@ -9,17 +9,37 @@ describe('formatters', function () {
transactionIndex: '0x3e8', transactionIndex: '0x3e8',
logIndex: '0x3e8', logIndex: '0x3e8',
blockNumber: '0x3e8', blockNumber: '0x3e8',
transactionHash: '0x7b2274657374223a2274657374227d', transactionHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
blockHash: '0x7b2274657374223a2274657374227d', blockHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
data: '0x7b2274657374223a2274657374227d', data: '0x7b2274657374223a2274657374227',
topics: ['0x68656c6c6f','0x6d79746f70696373'] topics: ['0x68656c6c6f','0x6d79746f70696373']
}), { }), {
transactionIndex: 1000, transactionIndex: 1000,
logIndex: 1000, logIndex: 1000,
blockNumber: 1000, blockNumber: 1000,
transactionHash: '0x7b2274657374223a2274657374227d', transactionHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
blockHash: '0x7b2274657374223a2274657374227d', blockHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
data: '0x7b2274657374223a2274657374227d', data: '0x7b2274657374223a2274657374227',
topics: ['0x68656c6c6f','0x6d79746f70696373']
});
});
it('should return the correct value, when null values are present', function () {
assert.deepEqual(formatters.outputLogFormatter({
transactionIndex: null,
logIndex: null,
blockNumber: null,
transactionHash: null,
blockHash: null,
data: '0x7b2274657374223a2274657374227',
topics: ['0x68656c6c6f','0x6d79746f70696373']
}), {
transactionIndex: null,
logIndex: null,
blockNumber: null,
transactionHash: null,
blockHash: null,
data: '0x7b2274657374223a2274657374227',
topics: ['0x68656c6c6f','0x6d79746f70696373'] topics: ['0x68656c6c6f','0x6d79746f70696373']
}); });
}); });

View File

@ -7,7 +7,7 @@ describe('formatters', function () {
it('should return the correct value', function () { it('should return the correct value', function () {
assert.deepEqual(formatters.outputTransactionFormatter({ assert.deepEqual(formatters.outputTransactionFormatter({
input: '0x34234kjh23kj4234', input: '0x3454645634534',
from: '0x00000', from: '0x00000',
to: '0x00000', to: '0x00000',
value: '0x3e8', value: '0x3e8',
@ -16,9 +16,9 @@ describe('formatters', function () {
nonce: '0xb', nonce: '0xb',
transactionIndex: '0x1', transactionIndex: '0x1',
blockNumber: '0x3e8', blockNumber: '0x3e8',
blockHash: '0x34234bf23bf4234' blockHash: '0xc9b9cdc2092a9d6589d96662b1fd6949611163fb3910cf8a173cd060f17702f9'
}), { }), {
input: '0x34234kjh23kj4234', input: '0x3454645634534',
from: '0x00000', from: '0x00000',
to: '0x00000', to: '0x00000',
value: new BigNumber(1000), value: new BigNumber(1000),
@ -26,9 +26,36 @@ describe('formatters', function () {
gasPrice: new BigNumber(1000), gasPrice: new BigNumber(1000),
nonce: 11, nonce: 11,
blockNumber: 1000, blockNumber: 1000,
blockHash: '0x34234bf23bf4234', blockHash: '0xc9b9cdc2092a9d6589d96662b1fd6949611163fb3910cf8a173cd060f17702f9',
transactionIndex: 1 transactionIndex: 1
}); });
}); });
it('should return the correct value, when null values are present', function () {
assert.deepEqual(formatters.outputTransactionFormatter({
input: '0x3454645634534',
from: '0x00000',
to: null,
value: '0x3e8',
gas: '0x3e8',
gasPrice: '0x3e8',
nonce: '0xb',
transactionIndex: null,
blockNumber: null,
blockHash: null
}), {
input: '0x3454645634534',
from: '0x00000',
to: null,
value: new BigNumber(1000),
gas: 1000,
gasPrice: new BigNumber(1000),
nonce: 11,
blockNumber: null,
blockHash: null,
transactionIndex: null
});
});
}); });
}); });