Treasurer Jim Chalmers has handed down the pre-election federal budget.