Various utility functions in this file convert between big.Int and float64... There's prefectly usable tooling in go-ethereum that defines a Decimal256 type, which would allow us to parse eth values losslessly (eg 123456789123456.123456789012345678) without using float64, which creates precision loss https://go.dev/play/p/xh06-b8xldG