Currently in kyber network token.safeApprove is called as part of the token listing process.
when adding token we approve to MAX_INT.
when removing token approving to 0.
when approving to MAX_INT the current value must be 0 or the approve call reverts.
with current issue. a token was migrated to a new contract and the allowance array was copied. so network already had allowance for this token and this reserve.
this caused the listing process to fail. since token.safeApprove was approving to non zero while the allowance was already non zero.
Currently in kyber network token.safeApprove is called as part of the token listing process.
when adding token we approve to MAX_INT. when removing token approving to 0.
when approving to MAX_INT the current value must be 0 or the approve call reverts. with current issue. a token was migrated to a new contract and the allowance array was copied. so network already had allowance for this token and this reserve. this caused the listing process to fail. since token.safeApprove was approving to non zero while the allowance was already non zero.