Skip to content

Commit

Permalink
Merge ed86d15 into 73ef7a9
Browse files Browse the repository at this point in the history
  • Loading branch information
nivida committed Nov 22, 2019
2 parents 73ef7a9 + ed86d15 commit 1a210a7
Show file tree
Hide file tree
Showing 24 changed files with 197 additions and 198 deletions.
71 changes: 34 additions & 37 deletions packages/web3-core-helpers/src/formatters.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ var inputStorageKeysFormatter = function (keys) {
*/
var outputProofFormatter = function (proof) {
proof.address = utils.toChecksumAddress(proof.address);
proof.nonce = utils.hexToNumberString(proof.nonce);
proof.balance = utils.hexToNumberString(proof.balance);
proof.nonce = outputBigNumberFormatter(proof.nonce);
proof.balance = outputBigNumberFormatter(proof.balance);

return proof;
};
Expand All @@ -68,6 +68,10 @@ var outputProofFormatter = function (proof) {
* @returns {BN} object
*/
var outputBigNumberFormatter = function (number) {
if (!number) {
return number;
}

return utils.toBN(number).toString(10);
};

Expand Down Expand Up @@ -224,14 +228,12 @@ var inputSignFormatter = function (data) {
* @returns {Object}
*/
var outputTransactionFormatter = function (tx) {
if (tx.blockNumber !== null)
tx.blockNumber = utils.hexToNumber(tx.blockNumber);
if (tx.transactionIndex !== null)
tx.transactionIndex = utils.hexToNumber(tx.transactionIndex);
tx.nonce = utils.hexToNumber(tx.nonce);
tx.gas = utils.hexToNumber(tx.gas);
tx.gasPrice = outputBigNumberFormatter(tx.gasPrice);
tx.transactionIndex = utils.hexToNumber(tx.transactionIndex);
tx.blockNumber = outputBigNumberFormatter(tx.blockNumber);
tx.nonce = outputBigNumberFormatter(tx.nonce);
tx.value = outputBigNumberFormatter(tx.value);
tx.gasPrice = outputBigNumberFormatter(tx.gasPrice);
tx.gas = outputBigNumberFormatter(tx.gas);

if (tx.to && utils.isAddress(tx.to)) { // tx.to could be `0x0` or `null` while contract creation
tx.to = utils.toChecksumAddress(tx.to);
Expand All @@ -258,12 +260,10 @@ var outputTransactionReceiptFormatter = function (receipt) {
throw new Error('Received receipt is invalid: ' + receipt);
}

if (receipt.blockNumber !== null)
receipt.blockNumber = utils.hexToNumber(receipt.blockNumber);
if (receipt.transactionIndex !== null)
receipt.transactionIndex = utils.hexToNumber(receipt.transactionIndex);
receipt.cumulativeGasUsed = utils.hexToNumber(receipt.cumulativeGasUsed);
receipt.gasUsed = utils.hexToNumber(receipt.gasUsed);
receipt.blockNumber = outputBigNumberFormatter(receipt.blockNumber);
receipt.cumulativeGasUsed = outputBigNumberFormatter(receipt.cumulativeGasUsed);
receipt.gasUsed = outputBigNumberFormatter(receipt.gasUsed);
receipt.transactionIndex = utils.hexToNumber(receipt.transactionIndex);

if (_.isArray(receipt.logs)) {
receipt.logs = receipt.logs.map(outputLogFormatter);
Expand All @@ -288,19 +288,20 @@ var outputTransactionReceiptFormatter = function (receipt) {
* @returns {Object}
*/
var outputBlockFormatter = function (block) {

// transform to number
block.gasLimit = utils.hexToNumber(block.gasLimit);
block.gasUsed = utils.hexToNumber(block.gasUsed);
block.size = utils.hexToNumber(block.size);
block.timestamp = utils.hexToNumber(block.timestamp);
if (block.number !== null)
block.number = utils.hexToNumber(block.number);

if (block.difficulty)
block.gasLimit = outputBigNumberFormatter(block.gasLimit);
block.gasUsed = outputBigNumberFormatter(block.gasUsed);
block.size = outputBigNumberFormatter(block.size);
block.timestamp = outputBigNumberFormatter(block.timestamp);
block.number = outputBigNumberFormatter(block.number);

if (block.difficulty) {
block.difficulty = outputBigNumberFormatter(block.difficulty);
if (block.totalDifficulty)
}

if (block.totalDifficulty) {
block.totalDifficulty = outputBigNumberFormatter(block.totalDifficulty);
}

if (_.isArray(block.transactions)) {
block.transactions.forEach(function (item) {
Expand Down Expand Up @@ -368,7 +369,6 @@ var inputLogFormatter = function (options) {
* @returns {Object} log
*/
var outputLogFormatter = function (log) {

// generate a custom log id
if (typeof log.blockHash === 'string' &&
typeof log.transactionHash === 'string' &&
Expand All @@ -379,12 +379,9 @@ var outputLogFormatter = function (log) {
log.id = null;
}

if (log.blockNumber !== null)
log.blockNumber = utils.hexToNumber(log.blockNumber);
if (log.transactionIndex !== null)
log.transactionIndex = utils.hexToNumber(log.transactionIndex);
if (log.logIndex !== null)
log.logIndex = utils.hexToNumber(log.logIndex);
log.blockNumber = outputBigNumberFormatter(log.blockNumber);
log.transactionIndex = utils.hexToNumber(log.transactionIndex);
log.logIndex = utils.hexToNumber(log.logIndex);

if (log.address) {
log.address = utils.toChecksumAddress(log.address);
Expand Down Expand Up @@ -469,12 +466,12 @@ var inputAddressFormatter = function (address) {

var outputSyncingFormatter = function (result) {

result.startingBlock = utils.hexToNumber(result.startingBlock);
result.currentBlock = utils.hexToNumber(result.currentBlock);
result.highestBlock = utils.hexToNumber(result.highestBlock);
result.startingBlock = outputBigNumberFormatter(result.startingBlock);
result.currentBlock = outputBigNumberFormatter(result.currentBlock);
result.highestBlock = outputBigNumberFormatter(result.highestBlock);
if (result.knownStates) {
result.knownStates = utils.hexToNumber(result.knownStates);
result.pulledStates = utils.hexToNumber(result.pulledStates);
result.knownStates = outputBigNumberFormatter(result.knownStates);
result.pulledStates = outputBigNumberFormatter(result.pulledStates);
}

return result;
Expand Down
2 changes: 1 addition & 1 deletion packages/web3-core-method/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ Method.prototype._confirmTransaction = function(defer, result, payload) {
if (existingReceipt === undefined || confirmationCount !== 0) {
if (isPolling) { // Check if actually a new block is existing on polling
if (lastBlock) {
block = await _ethereumCall.getBlockByNumber(lastBlock.number + 1);
block = await _ethereumCall.getBlockByNumber(parseInt(lastBlock.number) + 1);
if (block) {
lastBlock = block;
defer.eventEmitter.emit('confirmation', confirmationCount, receipt);
Expand Down
2 changes: 1 addition & 1 deletion packages/web3-eth-accounts/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ Accounts.prototype.signTransaction = function signTransaction(tx, privateKey, ca
error = new Error('"gas" is missing');
}

if (tx.nonce < 0 ||
if (utils.toBN(tx.nonce).ltn(0) ||
tx.gas < 0 ||
tx.gasPrice < 0 ||
tx.chainId < 0) {
Expand Down
6 changes: 4 additions & 2 deletions packages/web3-eth-ens/src/ENS.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
var config = require('./config');
var Registry = require('./contracts/Registry');
var ResolverMethodHandler = require('./lib/ResolverMethodHandler');
var utils = require('web3-utils');

/**
* Constructs a new instance of ENS
Expand Down Expand Up @@ -171,8 +172,9 @@ ENS.prototype.setMultihash = function (name, hash, sendOptions, callback) {
ENS.prototype.checkNetwork = function () {
var self = this;
return self.eth.getBlock('latest').then(function (block) {
var headAge = new Date() / 1000 - block.timestamp;
if (headAge > 3600) {
// TODO: Check with Quorum timestamp
var headAge = utils.toBN((Math.floor(new Date() / 1000))).sub(utils.toBN(block.timestamp));
if (headAge.gtn(3600)) {
throw new Error("Network not synced; last block was " + headAge + " seconds ago");
}
return self.eth.net.getNetworkType();
Expand Down
4 changes: 2 additions & 2 deletions packages/web3-eth/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ var Eth = function Eth() {
name: 'getBlockNumber',
call: 'eth_blockNumber',
params: 0,
outputFormatter: utils.hexToNumber
outputFormatter: formatter.outputBigNumberFormatter
}),
new Method({
name: 'getBalance',
Expand Down Expand Up @@ -417,7 +417,7 @@ var Eth = function Eth() {
call: 'eth_getTransactionCount',
params: 2,
inputFormatter: [formatter.inputAddressFormatter, formatter.inputDefaultBlockNumberFormatter],
outputFormatter: utils.hexToNumber
outputFormatter: formatter.outputBigNumberFormatter
}),
new Method({
name: 'sendSignedTransaction',
Expand Down
66 changes: 33 additions & 33 deletions test/contract.js
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ var runTests = function(contractFactory) {
'0000000000000000000000000000000000000000000000000000000000000008'
});

assert.equal(result.blockNumber, 3);
assert.equal(result.blockNumber, '3');
assert.equal(result.blockHash, '0x1345');
assert.equal(result.logIndex, 4);
assert.equal(result.id, 'log_9ff24cb4');
Expand Down Expand Up @@ -565,11 +565,11 @@ var runTests = function(contractFactory) {

assert.deepEqual(result, {
contractAddress: address,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
blockNumber: 10,
blockNumber: '10',
blockHash: '0xbf1234',
gasUsed: 0
gasUsed: '0'
});
done();
});
Expand Down Expand Up @@ -659,11 +659,11 @@ var runTests = function(contractFactory) {
.on('receipt', function(result){
assert.deepEqual(result, {
contractAddress: address,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
blockNumber: 10,
blockNumber: '10',
blockHash: '0xbf1234',
gasUsed: 0
gasUsed: '0'
});
done();
}).catch(console.log);
Expand Down Expand Up @@ -1796,16 +1796,16 @@ var runTests = function(contractFactory) {
// wont throw if it errors ?!
assert.deepEqual(receipt, {
contractAddress: null,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
transactionHash: '0x1234',
blockNumber: 10,
blockNumber: '10',
blockHash: '0x1234',
gasUsed: 0,
gasUsed: '0',
events: {
Unchanged: {
address: address,
blockNumber: 10,
blockNumber: '10',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 4,
Expand All @@ -1830,7 +1830,7 @@ var runTests = function(contractFactory) {
},
Changed: {
address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe',
blockNumber: 10,
blockNumber: '10',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 4,
Expand Down Expand Up @@ -1959,17 +1959,17 @@ var runTests = function(contractFactory) {
// wont throw if it errors ?! nope: causes a timeout
assert.deepEqual(receipt, {
contractAddress: null,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
transactionHash: '0x1234',
blockNumber: 10,
blockNumber: '10',
blockHash: '0x1234',
gasUsed: 0,
gasUsed: '0',
events: {
Changed: [
{
address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe',
blockNumber: 10,
blockNumber: '10',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 4,
Expand All @@ -1995,7 +1995,7 @@ var runTests = function(contractFactory) {
}
}, {
address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe',
blockNumber: 10,
blockNumber: '10',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 5,
Expand Down Expand Up @@ -2111,16 +2111,16 @@ var runTests = function(contractFactory) {
// wont throw if it errors ?!
assert.deepEqual(receipt, {
contractAddress: null,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
transactionHash: '0x1234',
blockNumber: 10,
blockNumber: '10',
blockHash: '0x43ffdd',
gasUsed: 0,
gasUsed: '0',
events: {
Unchanged: {
address: address,
blockNumber: 10,
blockNumber: '10',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 4,
Expand All @@ -2145,7 +2145,7 @@ var runTests = function(contractFactory) {
},
Changed: {
address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe',
blockNumber: 10,
blockNumber: '10',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 4,
Expand Down Expand Up @@ -2226,12 +2226,12 @@ var runTests = function(contractFactory) {
if(count === 1) {
assert.deepEqual(receipt, {
contractAddress: null,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
transactionHash: '0x1234',
blockNumber: 10,
blockNumber: '10',
blockHash: '0x1234',
gasUsed: 0,
gasUsed: '0',
events: {}
});

Expand All @@ -2240,12 +2240,12 @@ var runTests = function(contractFactory) {
if(count === 2) {
assert.deepEqual(receipt, {
contractAddress: null,
cumulativeGasUsed: 10,
cumulativeGasUsed: '10',
transactionIndex: 3,
transactionHash: '0x1234',
blockNumber: 10,
blockNumber: '10',
blockHash: '0x1234',
gasUsed: 0,
gasUsed: '0',
events: {}
});

Expand Down Expand Up @@ -2693,7 +2693,7 @@ var runTests = function(contractFactory) {
signature: "0xc00c1c37cc8b83163fb4fddc06c74d1d5c00d74648e7cb28c0ebada3e32fd62c",
id: "log_9ff24cb4",
address: address,
blockNumber: 3,
blockNumber: '3',
transactionHash: '0x1234',
blockHash: '0x1345',
logIndex: 4,
Expand All @@ -2719,7 +2719,7 @@ var runTests = function(contractFactory) {
signature: "0xc00c1c37cc8b83163fb4fddc06c74d1d5c00d74648e7cb28c0ebada3e32fd62c",
id: "log_29c93e15",
address: address,
blockNumber: 4,
blockNumber: '4',
transactionHash: '0x1235',
blockHash: '0x1346',
logIndex: 1,
Expand Down Expand Up @@ -3088,10 +3088,10 @@ describe('typical usage', function() {
arguments: [account.address, 200]
}).send({
from: account.address,
gas: 54872,
gasPrice: 3000,
gas: '54872',
gasPrice: '3000',
chainId: 1,
nonce: 1,
nonce: '1',
chain: 'mainnet',
hardfork: 'petersburg'
})
Expand Down
2 changes: 1 addition & 1 deletion test/e2e.contract.deploy.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ describe('contract.deploy [ @E2E ]', function() {
.on('confirmation', async (number, receipt) => {
if (number === 1) { // Confirmation numbers are zero indexed
var endBlock = await web3.eth.getBlockNumber();
assert(endBlock >= (startBlock + 2));
assert(parseInt(endBlock) >= (parseInt(startBlock) + 2));
resolve();
}
})
Expand Down
2 changes: 1 addition & 1 deletion test/e2e.method.send.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ describe('method.send [ @E2E ]', function() {
.on('confirmation', async (number, receipt) => {
if (number === 1) { // Confirmation numbers are zero indexed
var endBlock = await web3.eth.getBlockNumber();
assert(endBlock >= (startBlock + 2));
assert(parseInt(endBlock) >= (parseInt(startBlock) + 2));
resolve();
}
})
Expand Down
Loading

0 comments on commit 1a210a7

Please sign in to comment.