https://github.com/shardeum/archive-server/blob/30ef2fa8dde9cfeef8b88c190c7976c1d3379fa2/src/ShardFunctions.ts#L161 The third "if" statement seems like it will redo all the calculations in the first two. (Also, could there be a case where there's a split range and we somehow wind up with "start < end" and we don't catch that? What would happen?)