Skip to content

Commit dc005cb

Browse files
authored
Merge pull request #28 from osiastedian/ERO2-existing-check-fix
Handle missing address entries in createVotingAddress
2 parents 137d9cf + 0591d36 commit dc005cb

1 file changed

Lines changed: 18 additions & 7 deletions

File tree

controllers/address.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@ const createVotingAddress = async (req, res, next) => {
368368
})
369369
)
370370

371+
console.warn('[createVotingAddress] fetched addresses payload', resp)
372+
373+
const existingAddresses = resp.filter(Boolean)
374+
371375
if (!listMN) {
372376
const newAddress = {
373377
name: `${name.replace(re, '')}`.trim(),
@@ -379,9 +383,14 @@ const createVotingAddress = async (req, res, next) => {
379383
const existInMn = votingAddressCurrentMns.find(
380384
(addr) => addr === newAddress.address
381385
)
382-
const isExist = resp.find((e) => e.address === newAddress.address)
383-
const verifyName = resp.find((e) => e.name === newAddress.name)
384-
console.debug({ newAddress, isExist, existInMn, verifyName })
386+
387+
const isExist = existingAddresses.find(
388+
(entry) => entry && entry.address === newAddress.address,
389+
)
390+
const verifyName = existingAddresses.find(
391+
(entry) => entry && entry.name === newAddress.name,
392+
)
393+
385394
if (typeof verifyName !== 'undefined') {
386395
newAddress.name =
387396
`${name.replace(re, '')}-${crypto.randomBytes(12).toString('hex')}`.trim()
@@ -414,10 +423,12 @@ const createVotingAddress = async (req, res, next) => {
414423
const existInMn = votingAddressCurrentMns.find(
415424
(addr) => addr === newVotingAddress.address
416425
)
417-
const isExist = resp.find(
418-
(el) => el.address === newVotingAddress.address
426+
const isExist = existingAddresses.find(
427+
(entry) => entry && entry.address === newVotingAddress.address,
428+
)
429+
const verifyName = existingAddresses.find(
430+
(entry) => entry && entry.name === newVotingAddress.name,
419431
)
420-
const verifyName = resp.find((el) => el.name === newVotingAddress.name)
421432

422433
if (typeof verifyName !== 'undefined') {
423434
newVotingAddress.name =
@@ -426,7 +437,7 @@ const createVotingAddress = async (req, res, next) => {
426437

427438
if (aggregateAddresses.length > 0) {
428439
const verifyNameInAddresses = aggregateAddresses.find(
429-
(el) => el.name === newVotingAddress.name
440+
(entry) => entry && entry.name === newVotingAddress.name,
430441
)
431442
if (typeof verifyNameInAddresses !== 'undefined') {
432443
newVotingAddress.name =

0 commit comments

Comments
 (0)