Write `async function revealSecret(authenticate, getSecret)` where `authenticate` is an async function returning a boolean; return the secret from `getSecret()` only if `authenticate()` resolves true, otherwise throw `new Error("authentication failed")`.
Required in your answer: await authenticatethrow new Error
Transpiled, then run in a sandbox
async function revealSecret(authenticate, getSecret) {
// TODO
}