docs(core): say that only an unlimited FWSS approval counts as approved

Abierto Apto para principiantes
#1,105 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

Lee el JSDoc de getUploadCosts y la guía de pagos, y luego sigue cómo se describen needsFwssMaxApproval y ready. Documenta que solo una aprobación ilimitada de FWSS cuenta como aprobada y explica por qué las aprobaciones limitadas dejan los uploads sin estar listos; limita el cambio a la opción 1 de la propuesta.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

isFwssMaxApproved returns true only when the approval is effectively unlimited: rateAllowance === maxUint256, lockupAllowance >= maxUint256 / 2n, and a maxLockupPeriod that covers the default lockup period. getUploadCosts reports its result as needsFwssMaxApproval, and ready is false whenever it's true.

A payer with a bounded approval that covers the upload is reported as not ready. The reason is documented in a code comment on isFwssMaxApproved, but not on getUploadCosts or in the docs. Callers find out by watching uploads report ready: false after the user approved. The filecoin CLI's setup link sends approval=unlimited to the Filecoin Pay console for this reason. Without it, the console accepts a bounded approval that synapse-core then rejects.

Proposal

One of these:

  1. Document the rule where callers see it: in the JSDoc of getUploadCosts on needsFwssMaxApproval and ready, and in the payments guide. State that only an unlimited approval counts, and why.
  2. Check whether the approval covers the upload. getUploadCosts already computes the rate increase and the extra lockup, so it could compare them against the remaining rate and lockup allowances and report needsApproval only when they fall short.

Option 2 changes what ready means for existing callers, so option 1 is the smaller first step.

Lenguaje dominante
TypeScript
Estrellas
28
Forks
35
Merge medio
2 d 4 h
PR fusionados (30 d)
44

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FilOzone/synapse-sdk

Todos los issues de FilOzone/synapse-sdk

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.