An error has occurred

{{terminalError}}

CryptoCodex by Billy Bambrough Your free, essential weekday briefing on what’s driving the day in bitcoin and crypto.

You may opt out any time. and
You're signed up for CryptoCodex by  Billy Bambrough ! Check your inbox for an email from the editor and a link to manage your email preferences. To ensure successful delivery, please whitelist forbes@email.forbes.com.
const emitShowEvent = () => { setTimeout(() => { var trackingShow = document.querySelector('#tracking-show'); trackingShow.click(); }, 500); } if(document.readyState === "complete" || document.readyState === "loaded" || document.readyState === "interactive" ) { emitShowEvent(); } else { document.addEventListener('DOMContentLoaded', emitShowEvent); } const emailInput = document.querySelector('.pn-modal__input'); const emailRegExp = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; const errorMessage = document.querySelector('.pn-modal__error-message'); const submitButton = document.querySelector('.pn-modal__button') let successScreen = document.getElementById('successScreen'); let initialScreen = document.getElementById('initialScreen'); submitButton.disabled = true; /** @function showErrorMessage * @param {boolean} isErrorMessageShowing * @param {string} message */ const showErrorMessage = (isErrorMessageShowing, message) => { submitButton.disabled = !!isErrorMessageShowing; errorMessage.innerText = message; } /* EventListener that removes the error message and disables the submit button when the input field is not on focus. */ emailInput.addEventListener('blur', () => { if (emailInput.value === '') { showErrorMessage(false, ''); } }); /* EventListener to enable / disable error the message notification based on users input */ emailInput.addEventListener('input', () => { if (emailRegExp.test(emailInput.value)) { showErrorMessage(false, ''); } else if (emailInput.value === '') { showErrorMessage(true, 'Please enter your email'); } else { showErrorMessage(true, 'Please enter a valid email'); } }) /* SubmitButton Event Listener */ submitButton.addEventListener('click', () => { if (emailRegExp.test(emailInput.value)) { successScreen.style.display = 'flex'; initialScreen.style.display = 'none'; } });