deth
Version:
Ethereum node focused on Developer Experience
17 lines (16 loc) • 699 B
JavaScript
import { getNextBlock } from './getNextBlock';
import { getReceiptsAndResponses } from './getReceiptsAndResponses';
export async function putBlock(vm, transactions, options, clockSkew) {
const block = await getNextBlock(vm, transactions, options, clockSkew);
const { results } = await vm.runBlock({
block,
generate: true,
skipBlockValidation: true,
skipNonce: options.skipNonceCheck,
skipBalance: options.skipBalanceCheck,
});
await new Promise((resolve, reject) => {
vm.blockchain.putBlock(block, (err, block) => err != null ? reject(err) : resolve(block));
});
return getReceiptsAndResponses(block, transactions, results);
}