Rush to seal $300bn finance agreement at COP29 after walkouts and a late holdout by India