Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
parentRoot: signingRoot(parentHeader, config.types.BeaconBlockHeader),
// @ts-ignore
signature: undefined,
// @ts-ignore
stateRoot: undefined,
body: await assembleBody(config, opPool, eth1, merkleTree, currentState, randao),
};
const stat = await spawn(new Worker("../../../../../eth2.0-state-transition/src/stateTransition"))
block.stateRoot = hashTreeRoot(
await stat(config, currentState, block, false, false),
config.types.BeaconState
);
await Thread.terminate(stat)
return block;
}
export async function fetchAllAssets(testnet: boolean): Promise {
const storageKey = testnet ? "known-assets:testnet" : "known-assets:mainnet"
const cachedAssetsString = localStorage.getItem(storageKey)
const timestamp = localStorage.getItem("known-assets:timestamp")
if (cachedAssetsString && timestamp && +timestamp > Date.now() - 24 * 60 * 60 * 1000) {
// use cached assets if they are not older than 24h
return JSON.parse(cachedAssetsString)
} else {
const fetcher = await spawn(new Worker("../workers/fetch-worker.ts"))
const allAssets = await fetcher.fetchAllAssets(testnet)
await Thread.terminate(fetcher)
localStorage.setItem(storageKey, JSON.stringify(allAssets))
localStorage.setItem("known-assets:timestamp", Date.now().toString())
return allAssets
}
}
export async function fetchWellknownAccounts(testnet: boolean): Promise {
const cacheKey = testnet ? "known-accounts:testnet" : "known-accounts:mainnet"
const cachedAccountsString = localStorage.getItem(cacheKey)
const timestamp = localStorage.getItem("known-accounts:timestamp")
if (cachedAccountsString && timestamp && +timestamp > Date.now() - 24 * 60 * 60 * 1000) {
// use cached accounts if they are not older than 24h
return JSON.parse(cachedAccountsString)
} else {
const fetcher = await spawn(new Worker("../workers/fetch-worker.ts"))
const knownAccounts = await fetcher.fetchWellknownAccounts(testnet)
await Thread.terminate(fetcher)
localStorage.setItem(cacheKey, JSON.stringify(knownAccounts))
localStorage.setItem("known-accounts:timestamp", Date.now().toString())
return knownAccounts
}
}