Migración y AMM externo
Migración atómica en la compra de curva final, conversión de precisión USDC, bloqueo de LP, límites de donación y precios externos de producto constante.
Al agotarse los Token vendibles de la curva, BigShortProtocol-EVM crea liquidez externa con Token reservados + reservas netas reales de USDC de la curva e inicia el Short Engine independiente de ese Token. La migración no utiliza USDC virtual, fondos de curvas de otros Token ni la reserva de préstamos como liquidez externa inicial.
1. Condición de activación y orden de ejecución
| Orden | Acción | Resultado funcional |
|---|---|---|
| 1 | Resolver la compra final | El saldo vendible de Token llega a cero; estado Complete |
| 2 | Entregar los Token y devolver el pago excedente | El reembolso va al remitente de la transacción |
| 3 | Emitir eventos de operación y finalización de la curva | Registrar la instantánea final de reservas de la curva |
| 4 | Revalidar la instantánea de configuración del Token y la dirección prevista del Engine | No usar otro Profile predeterminado seleccionado después |
| 5 | Establecer Migrating y validar el Pair principal | Comprobar identidad, código en ejecución, reservas y saldos del Pair |
| 6 | Transferir 206,900,000 Token y el USDC real representable | Crear liquidez externa real |
| 7 | Acuñar los LP de migración a la dirección cero y verificar | Comprobar que la dirección cero posee todos los LP iniciales |
| 8 | Desplegar e inicializar el Short Engine | Vincular reservas reales del Pair e inventario de préstamos existente |
| 9 | Validar la vinculación y abrir la negociación del Pair principal | externalTradingEnabled pasa a verdadero |
| 10 | Poner a cero el saldo real de USDC de la curva y registrar la migración | Estado final Migrated |
2. De native18 a USDC ERC-20 de seis decimales
El saldo de USDC nativo de Arc y la interfaz externa ERC-20 de USDC representan el mismo activo de cotización, pero con precisiones diferentes. El código actual utiliza:
| Escenario | Precisión | Una unidad de USDC |
|---|---|---|
| Pagos de la curva, contabilidad de Factory e interna del Engine | native18 | 10¹⁸ |
| Interfaz ERC-20 de USDC del Pair externo | external6 | 10⁶ |
| Relación de conversión | — | 10¹² |
Sean
Aquí es,
Titularidad del resto de migración
La migración retira el
3. Ejemplo de agotamiento a escala completa y tres valoraciones
Ejemplo D: comprar todo desde el estado inicial en una operación, sin gravámenes ni donaciones
aporta a la curva un neto de:
| Elemento | Resultado exacto |
|---|---|
| USDC neto que entra en la curva | 12,161.433369060378706681 |
| Token aportados al Pair | 206,900,000 Token |
| USDC aportado al Pair | 12,161.433369 USDC |
| Entero USDC external6 | 12,161,433,369 |
| Resto de migración | 0.000000060378706681 USDC |
Este es un ejemplo de una sola operación con una base inicial explícita; no garantiza que todas las trayectorias de múltiples compras y ventas acumulen exactamente las mismas unidades mínimas. El redondeo entero por operación y la entrada de presupuesto exacto producen diferencias.
No confundir el extremo de la curva, el valor externo real y el ancla ideal
| Indicador | Valor en este ejemplo | Uso |
|---|---|---|
| USDC virtual de la curva tras la última operación | 16,453.433369060378706681 | Registro de reservas virtuales al terminar la curva |
| Token virtuales al final de la curva | 279,900,000 | Registro de reservas virtuales al terminar la curva |
| Capitalización del protocolo al final de la curva | 58,783.256052377201524405 USDC | Calculada con reservas virtuales de la curva |
| USDC inicial real del mercado externo | 12,161.433369 | Fondos reales del Pair |
| Token iniciales reales del mercado externo | 206,900,000 | Fondos reales del Pair |
| Capitalización inicial real externa del protocolo | 58,779.281628806186563557 USDC | actualStartMarketCap |
| Parámetro fijo de USDC de migración ideal | 12,161.433370 | Parámetro del modelo de riesgo; no un importe de transferencia obligatorio |
| Capitalización fija de migración ideal | 58,779.281633639439342677 USDC | startMarketCap, ancla de las curvas de riesgo/margen |
El precio inicial externo real es aproximadamente 0.000058779281628806186564 USDC/Token. Los parámetros actuales no exigen «continuidad exacta del precio marginal en cada unidad mínima antes y después de migrar»; las reservas virtuales de la curva y las reservas reales de migración son conjuntos de valores diferentes.
El ancla ideal fija proporciona una base reproducible del modelo de riesgo; las reservas reales del Pair determinan el precio spot, el coste de recompra de deuda y cada intercambio real. No debe describirse el parámetro del modelo de 12,161.433370 USDC como fondos que necesariamente se reciben en cada migración.
4. Creación previa del Pair, donaciones y protección frente a contaminación
¿Qué estados previos se aceptan?
Al iniciar la migración se requiere:
- Reservas de Token del Pair iguales a 0.
- Saldo real de Token del Pair igual a 0.
- Suministro total de LP del Pair igual a 0; no pueden existir LP anteriores de otros titulares.
- Reservas de USDC del Pair no superiores a su saldo real de USDC.
- Validación por Profile de dirección del Pair, composición de activos, lugar de negociación asociado e identidad del código.
Tras las transferencias de migración se comprueba también el USDC realmente añadido; tras acuñar los LP se valida que las reservas de Token igualen la cantidad de migración y que las de USDC sean saldo real de USDC previo a la migración + USDC aportado ahora. Una discrepancia provoca PairContaminated u otro error de validación y revierte la transacción.
La instantánea de configuración no se limita a comprobar un número de versión. La migración revalida los hashes de código y relaciones del desplegador y la implementación del Engine y del Factory/Router del lugar de negociación; comprueba el hash de parámetros del Engine y la configuración del Oracle; deriva la dirección prevista con el hash de código de inicialización del Pair y valida el Pair real con el hash de código en ejecución. Si el código en ejecución del desplegador o la implementación difiere del registrado, la compra final se revierte atómicamente en lugar de utilizar silenciosamente la implementación modificada.
Estas reglas no garantizan aceptar donaciones de cualquier tamaño: siguen vigentes los límites enteros de reservas del Pair, la acuñación de LP y las demás restricciones de ejecución. Las operaciones normales del Pair también pueden retirar antes de migrar las donaciones no incorporadas a reservas; debe utilizarse el saldo en el momento de ejecución.
¿A dónde van las donaciones?
Sea
Los Token aportados por esta curva siguen siendo los 206,900,000 fijos. Las donaciones de USDC conservadas al migrar entran en el pool real, sin devolverse al donante ni al último comprador. Elevan el precio inicial real y actualStartMarketCap, no reescriben el ancla ideal fija de migración. La liberación de capacidad ponderada por tiempo tampoco se completa inmediatamente por una donación que eleve el precio en el instante de migrar.
Ejemplo E: conservar 170 USDC adicionales en el Pair principal del ejemplo D
| Elemento | Sin donación | Con donación adicional de 170 USDC |
|---|---|---|
| Reservas externas de Token | 206,900,000 | 206,900,000 |
| Reservas externas de USDC | 12,161.433369 | 12,331.433369 |
| Capitalización inicial real del protocolo | 58,779.281628806186563557 | 59,600.934601256645722571 |
| Capitalización fija de migración ideal | 58,779.281633639439342677 | 58,779.281633639439342677 |
Transferir USDC directamente a Factory es distinto: no aumenta automáticamente realNativeReserves de un Token y, por tanto, no se convierte automáticamente en sus fondos de migración. Deben distinguirse el saldo contable de la curva, el saldo total de Factory y el saldo real del Pair.
5. Destino final de LP e inventario de préstamos
Ningún LP inicial puede ser canjeado por titulares ordinarios
También exige que los LP acuñados en esta operación sean superiores a 0 y que el total de LP supere la liquidez devuelta por ella, cubriendo la estructura de liquidez mínima inicial V2. Ni el creador, operaciones, el monedero del protocolo ni el último comprador reciben estos LP de migración.
Aquí, «quemar LP» significa que los LP pertenecen a la dirección cero y las cuentas ordinarias no pueden retirarlos para canjearlos, no que Suministro total ERC-20 pase a 0; tampoco se queman los Token del Pair. La comprobación de migración se refiere al momento inicial y no permite afirmar que el AMM externo nunca añadirá liquidez ni acuñará otros LP en el futuro.
La reserva de préstamos permanece independiente
Los 199,861,071 Token ya estaban en la dirección precalculada del Engine. La migración solo despliega e inicializa el Engine, sin acuñar de nuevo ni transferir ese principal al Pair. La inicialización lee las reservas reales del Pair y mantiene una contabilidad independiente del principal prestable disponible.