Walsh inks fresh AFL contract with Carlton