Saltar al contenido principal

Fase 2: suscripciones en EVM (extracción por allowance)

Estado: Planificada.

SubscriptionHub con charge(id) pública. El pagador firma approve(spender, cap) una sola vez; el hub aplica plazos, tope, allowance y saldo. El keeper sustituye al procesador custodial de cobro automático.

Alcance​

  • SubscriptionHub implementado y auditado.
  • La app de pago dirige approve a la dirección del hub.
  • La API approve-auto-charge acepta allowances con el hub como autorizado.
  • Los suscriptores existentes migran de forma opcional en la renovación.

Código afectado​

  • api/src/scheduler/processors/subscription-auto-charge.processor.ts: extracción mediante SubscriptionHub.charge en lugar de una smart account custodial.
  • App pay: el valor de configuración del autorizado pasa a ser la dirección del hub.
  • Panel: banner de migración para las suscripciones existentes.
  • Nuevo: indexador centrado en suscripciones (reutiliza la infraestructura de la Fase 1).

Impacto en ejecución / UX​

  • El pagador ve que el autorizado es un contrato en lugar de una hot wallet. El paso único de approve on-chain no cambia.
  • La revocación se hace desde la interfaz de la wallet (approve(0) o equivalente), tal como documenta Cobro automático.
  • Los webhooks del comercio se disparan en los mismos momentos y con la misma forma.
  • Interfaz nueva: botón «Pasar a no custodial» en la página de detalle de la suscripción.

Limitaciones actuales​

  • El allowance debe ser suficiente; los cobros con allowance insuficiente fallan con ChargeSkipped(InsufficientAllowance).
  • Los cambios de tope requieren que el pagador vuelva a aprobar.
  • El ID de suscripción es un bytes32; se expone como campo añadido en el objeto de suscripción.

Entrada del blog relacionada​

Fase 2: suscripciones con extracción por allowance

Lista de comprobación del estado​

  • SubscriptionHub implementado con todos los invariantes
  • Tests de fuzzing e invariantes (tope, allowance, reorg, casos de omisión)
  • Auditoría delta del hub aplicada
  • EOA keeper aprovisionada por cadena y monitorizada
  • La app de pago migró el destino de approve al hub
  • Endpoint approve-auto-charge actualizado
  • Banner del panel activo
  • Grupo canary migrado y estable durante 14 días