With Moro, sequencers can offset the Carbon emission of each block automatically.

Block resources and CO2 cost are computed and an offset buy is made at the end of each block.

What is done

- CarbonPool smart contract deployed at genesis.

- `total_resources` added to the block header: contains the block total execution resources (l1_gas, steps, pedersen_builtin ...)

- added a pallet call to send the offset transaction

- Offset transaction to CarbonPool sent during `on_finalize`.

Future work

Refactor as a pallet, so that any sequencer/appchain can choose to use Moro.

Add a front-end tab page on the Polkadot-Js interface to monitor Sequencer Offsetting leaderboard and block offsetting progress.