A last-minute $300bn climate finance deal has been secured at Cop29 after a dramatic day of prolonged negotiations, which saw walkouts by vulnerable nations and protests echoing through the corridors.