Skip to content

Commit 8a62f55

Browse files
spkjpfaustbrian
authored andcommitted
fix: Core-SV-009 and Core-SV-010 (#2042)
1 parent 078a653 commit 8a62f55

File tree

5 files changed

+30
-17
lines changed

5 files changed

+30
-17
lines changed

.circleci/config.yml

+14-16
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ jobs:
6464
- ./packages/core-vote-report/node_modules
6565
- ./packages/core-webhooks/node_modules
6666
- ./packages/crypto/node_modules
67-
- ./packages/utils/node_modules
6867
- ./node_modules
6968
- run:
7069
name: Create .ark/database directory
@@ -78,8 +77,8 @@ jobs:
7877
./packages/core-json-rpc/ ./packages/core-http-utils/
7978
./packages/core-event-emitter/ ./packages/core-elasticsearch/
8079
./packages/core-database-postgres/ ./packages/core-config/
81-
./packages/core-interfaces/ --detectOpenHandles --runInBand
82-
--forceExit --ci --coverage | tee test_output.txt
80+
./packages/core/ --detectOpenHandles --runInBand --forceExit --ci
81+
--coverage | tee test_output.txt
8382
- run:
8483
name: Last 1000 lines of test output
8584
when: on_fail
@@ -151,7 +150,6 @@ jobs:
151150
- ./packages/core-vote-report/node_modules
152151
- ./packages/core-webhooks/node_modules
153152
- ./packages/crypto/node_modules
154-
- ./packages/utils/node_modules
155153
- ./node_modules
156154
- run:
157155
name: Create .ark/database directory
@@ -162,10 +160,11 @@ jobs:
162160
./node_modules/.bin/cross-env ARK_ENV=test ./node_modules/.bin/jest
163161
./packages/crypto/ ./packages/core-utils/
164162
./packages/core-tester-cli/ ./packages/core-snapshots/
165-
./packages/core-logger/ ./packages/core-api/ ./packages/core-forger/
166-
./packages/core-error-tracker-bugsnag/ ./packages/core-debugger-cli/
167-
./packages/core-container/ ./packages/core/ --detectOpenHandles
168-
--runInBand --forceExit --ci --coverage | tee test_output.txt
163+
./packages/core-logger/ ./packages/core-interfaces/
164+
./packages/core-forger/ ./packages/core-error-tracker-bugsnag/
165+
./packages/core-debugger-cli/ ./packages/core-container/
166+
./packages/core-api/ --detectOpenHandles --runInBand --forceExit
167+
--ci --coverage | tee test_output.txt
169168
- run:
170169
name: Last 1000 lines of test output
171170
when: on_fail
@@ -237,7 +236,6 @@ jobs:
237236
- ./packages/core-vote-report/node_modules
238237
- ./packages/core-webhooks/node_modules
239238
- ./packages/crypto/node_modules
240-
- ./packages/utils/node_modules
241239
- ./node_modules
242240
- run:
243241
name: Create .ark/database directory
@@ -246,13 +244,13 @@ jobs:
246244
name: Test
247245
command: >
248246
./node_modules/.bin/cross-env ARK_ENV=test ./node_modules/.bin/jest
249-
./packages/utils/ ./packages/core-vote-report/
250-
./packages/core-transaction-pool/ ./packages/core-snapshots-cli/
251-
./packages/core-logger-winston/ ./packages/core-jest-matchers/
252-
./packages/core-graphql/ ./packages/core-error-tracker-sentry/
253-
./packages/core-deployer/ ./packages/core-database/
254-
./packages/core-blockchain/ --detectOpenHandles --runInBand
255-
--forceExit --ci --coverage | tee test_output.txt
247+
./packages/core-vote-report/ ./packages/core-transaction-pool/
248+
./packages/core-snapshots-cli/ ./packages/core-logger-winston/
249+
./packages/core-jest-matchers/ ./packages/core-graphql/
250+
./packages/core-error-tracker-sentry/ ./packages/core-deployer/
251+
./packages/core-database/ ./packages/core-blockchain/
252+
--detectOpenHandles --runInBand --forceExit --ci --coverage | tee
253+
test_output.txt
256254
- run:
257255
name: Last 1000 lines of test output
258256
when: on_fail

packages/core-blockchain/lib/blockchain.js

+4
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,10 @@ module.exports = class Blockchain {
512512
logger.debug(
513513
`Block ${block.data.height.toLocaleString()} just received :chains:`,
514514
)
515+
} else if (block.data.timestamp < lastBlock.data.timestamp) {
516+
logger.debug(
517+
`Block ${block.data.height.toLocaleString()} disregarded because it has a lower timestamp than the last block :bangbang:`
518+
)
515519
} else {
516520
const isValid = await this.database.validateForkedBlock(block)
517521

packages/core-p2p/__tests__/utils/is-myself.test.js

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ describe('isMyself', () => {
1212
expect(isMyself('192.167.22.1')).toBeFalse()
1313
})
1414

15+
it('should be ok for non-quad-dotted localhost addresses', () => {
16+
expect(isMyself('2130706433')).toBeTrue()
17+
})
18+
1519
it('should be ok for LAN addresses', () => {
1620
const interfaces = os.networkInterfaces()
1721
const addresses = []

packages/core-p2p/lib/utils/is-myself.js

+7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* eslint max-len: "off" */
22

33
const os = require('os')
4+
const ip = require("ipaddr.js")
45

56
/**
67
* Checks if IP belongs to local computer (all network interfaces are checked)
@@ -10,6 +11,12 @@ const os = require('os')
1011
module.exports = ipAddress => {
1112
const interfaces = os.networkInterfaces()
1213

14+
try {
15+
ipAddress = ip.parse(ipAddress).toString();
16+
} catch (error) {
17+
return true;
18+
}
19+
1320
return (
1421
ipAddress.startsWith('127.') ||
1522
ipAddress.startsWith('0.') ||

packages/core/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@arkecosystem/core",
33
"description": "Core of the Ark Blockchain",
4-
"version": "2.0.18",
4+
"version": "2.0.19",
55
"contributors": [
66
"François-Xavier Thoorens <fx@ark.io>",
77
"Kristjan Košič <kristjan@ark.io>",

0 commit comments

Comments
 (0)