lib/fission/reason.js
const { toHexDigit } = require('./hex'); Similar blocks of code found in 2 locations. Consider refactoring.const REASONS = Object.freeze({ FAILURE: 0x00, SUCCESS: 0x01, AWAITING_OTHERS: 0x02, ACCEPTED: 0x03, LOWER_LIMIT: 0x04, ACTION_REQUESTED: 0x05, UPPER_LIMIT: 0x06, x07: 0x07, INAPPLICABLE: 0x08, x09: 0x09, x0A: 0x0A, x0B: 0x0B, x0C: 0x0C, x0D: 0x0D, x0E: 0x0E, INFORMATIONAL: 0x0F }); const REASON_NAMES = Object.freeze(Object.keys(REASONS)); const toNumber = (name) => { const id = REASONS[name]; if (id === undefined) throw badLookup(name); return id;}; const toHexString = (num) => `0x0${toHexDigit(num)}`; const badLookup = (targetReason) => Error(`${targetReason} is not a valid ERC-1066 reason`); module.exports = { REASONS, REASON_NAMES, badLookup, toHexString, toNumber};