For each cycle transfer IC checks that the remaining cycles are above the freezing threshold. The freezing threshold depends on the memory usage and compute allocation of the canister, so it can increase over time.
The transferCycles
function hardcodes 4_100_000
as the freezing threshold, but the returned error says that the freezing threshold is much higher now: the freezing threshold 2057103111 cycles
.
Updating the number to something larger than 2057103111
should fix the error.
We are working on exposing freezing_threshold_in_cycles
via ic.canister_status()
, so in the future there will be no need to hardcode the number in transferCycles
.