Incoherent BR_G99
The condition in BR_G99 seems to be incoherent: if block0.currency is null, then block1.currency (and all blocks) is null too. In g1, the block 0 currency is g1, not null.
BR_G99 - HEAD.currency
If
HEAD.number > 0
:HEAD.currency = HEAD~1.currency
Else:
HEAD.currency = null