decompose the payload build into "execution" and "packaging".
there is some common work that must be done for the execution of each transaction. we move execution of a bundle/transaction into a separate function, returning the result of the execution. this also allows us to skip the bundle if it its execution fails, instead of failing the entire payload.
we also define a function to package the block once all transactions have been executed and withdrawals have been processed.
decompose the payload build into "execution" and "packaging".
there is some common work that must be done for the execution of each transaction. we move execution of a bundle/transaction into a separate function, returning the result of the execution. this also allows us to skip the bundle if it its execution fails, instead of failing the entire payload.
we also define a function to package the block once all transactions have been executed and withdrawals have been processed.