BigShort Docs

Migração e AMM externo

Migração atômica na compra de curva final, conversão de precisão USDC, bloqueio LP, limites de doação e preços externos de constante de produto.

Quando se esgotam os Token vendáveis da curva, BigShortProtocol-EVM cria liquidez externa com Token reservados + reservas líquidas reais de USDC da curva e inicia o Short Engine independente desse Token. A migração não utiliza USDC virtual, fundos de curvas de outros Token nem a reserva de empréstimos como liquidez externa inicial.

1. Condição de ativação e ordem de execução

OrdemAçãoResultado funcional
1Resolva a compra finalO saldo vendável de Token chega a zero; estado Complete
2Entregar os Token e devolver o pagamento excedenteO reembolso vai para o remetente da transação
3Emitir eventos de operação e conclusão da curvaRegistar o estado final das reservas da curva
4Revalidar o registo de configuração do Token e o endereço previsto do EngineNão usar outro Profile predefinido selecionado depois
5Definir Migrating e validar o Pair principalVerificar identidade, código em execução, reservas e saldos do Pair
6Transferir 206,900,000 Token e o USDC real representávelCriar liquidez externa real
7Emitir os LP da migração para o endereço zero e verificarVerificar que o endereço zero possui todos os LP iniciais
8Implementar e inicializar o Short EngineAssociar reservas reais do Pair e inventário de empréstimos existente
9Validar a associação e abrir a negociação do Pair principalexternalTradingEnabled passa a verdadeiro
10Colocar a zero o saldo real de USDC da curva e registar a migraçãoEstado final Migrated

2. De native18 para USDC ERC-20 de seis casas decimais

O saldo de USDC nativo de Arc e a interface externa ERC-20 de USDC representam o mesmo ativo de cotação, mas com precisões diferentes. O código atual utiliza:

CenárioPrecisãoUma unidade de USDC
Pagamentos da curva, contabilidade de Factory e interna do Enginenative1810¹⁸
Interface ERC-20 de USDC do Pair externoexternal610⁶
Relação de conversão s—10¹²

Sejam Q18:

Q6=⌊Q181012⌋Qmigrated,18=Q6⋅1012,D=Q18mod1012

Aqui está, Q6 é o número de unidades ERC-20 USDC mais pequenas transferidas para o Par, e D é um saldo abaixo de 0.000001 USDC. O contrato não arredonda este restante nem o inclui silenciosamente nas reservas do Pair.

Titularidade do resto da migração

A migração retira o Q18 completo desta curva do passivo total das curvas não migradas e acrescenta simultaneamente o passivo pelo resto D. As reservas das curvas de outros Token não diminuem devido a esta migração.

3. Exemplo de esgotamento à escala completa e três avaliações

Exemplo D: comprar tudo a partir do estado inicial numa operação, sem taxas nem doações

fornece à curva um líquido de:

Q18=⌈(4,292×1018)⋅(793,100,000×1018)(1,073,000,000−793,100,000)×1018⌉
ElementoResultado exato
USDC líquido que entra na curva12,161.433369060378706681
Token fornecidos ao Pair206,900,000 Token
USDC fornecido ao Pair12,161.433369 USDC
Inteiro USDC external612,161,433,369
Resto da migração0.000000060378706681 USDC

Este é um exemplo de uma única operação com uma base inicial explícita; não garante que todas as trajetórias de múltiplas compras e vendas acumulem exatamente as mesmas unidades mínimas. O arredondamento inteiro por operação e a entrada de orçamento exato produzem diferenças.

Não confundir o extremo da curva, o valor externo real e a âncora ideal

IndicadorValor neste exemploUtilização
USDC virtual da curva após a última operação16,453.433369060378706681Registo de reservas virtuais ao terminar a curva
Token virtuais no final da curva279,900,000Registo de reservas virtuais ao terminar a curva
Capitalização do protocolo no final da curva58,783.256052377201524405 USDCCalculada com reservas virtuais da curva
USDC inicial real do mercado externo12,161.433369Fundos reais do Pair
Token iniciais reais do mercado externo206,900,000Fundos reais do Pair
Capitalização inicial real externa do protocolo58,779.281628806186563557 USDCactualStartMarketCap
Parâmetro fixo de USDC de migração ideal12,161.433370Parâmetro do modelo de risco; não um montante de transferência obrigatório
Capitalização fixa de migração ideal58,779.281633639439342677 USDCstartMarketCap, âncora das curvas de risco/margem

O preço inicial externo real é aproximadamente 0.000058779281628806186564 USDC/Token. Os parâmetros atuais não exigem «continuidade exata do preço marginal em cada unidade mínima antes e depois de migrar»; as reservas virtuais da curva e as reservas reais da migração são conjuntos de valores diferentes.

A âncora ideal fixa fornece uma base reproduzível do modelo de risco; as reservas reais do Pair determinam o preço spot, o custo de recompra de dívida e cada troca real. O parâmetro do modelo de 12,161.433370 USDC não deve ser descrito como fundos necessariamente recebidos em cada migração.

4. Criação prévia do Pair, doações e proteção contra contaminação

Que estados prévios são aceites?

Ao iniciar a migração exige-se:

  • Reservas de Token do Pair iguais a 0.
  • Saldo real de Token do Pair igual a 0.
  • Oferta total de LP do Pair igual a 0; não podem existir LP anteriores de outros titulares.
  • Reservas de USDC do Pair não superiores ao seu saldo real de USDC.
  • Validação por Profile do endereço do Pair, composição dos ativos, local de negociação associado e identidade do código.

Após as transferências da migração verifica-se também o USDC efetivamente acrescentado; após emitir os LP valida-se que as reservas de Token igualem a quantidade da migração e que as de USDC sejam saldo real de USDC anterior à migração + USDC fornecido agora. Uma discrepância provoca PairContaminated ou outro erro de validação e reverte a transação.

O registo de configuração não se limita a verificar um número de versão. A migração revalida os hashes de código e as relações do implementador e da implementação do Engine e do Factory/Router do local de negociação; verifica o hash dos parâmetros do Engine e a configuração do Oracle; deriva o endereço previsto com o hash do código de inicialização do Pair e valida o Pair real com o hash do código em execução. Se o código em execução do implementador ou da implementação diferir do registado, a compra final é revertida atomicamente em vez de utilizar silenciosamente a implementação alterada.

Estas regras não garantem aceitar doações de qualquer dimensão: continuam em vigor os limites inteiros das reservas do Pair, a emissão de LP e as restantes restrições de execução. As operações normais do Pair também podem retirar antes de migrar as doações não incorporadas nas reservas; deve utilizar-se o saldo no momento da execução.

Para onde vão as doações?

Seja Qpre,6:

Qactual,6=Qpre,6+Q6

Os Token fornecidos por esta curva continuam a ser os 206,900,000 fixos. As doações de USDC conservadas ao migrar entram na pool real, sem serem devolvidas ao doador nem ao último comprador. Elevam o preço inicial real e actualStartMarketCap, não reescrevem a âncora ideal fixa da migração. A libertação de capacidade ponderada pelo tempo também não se completa imediatamente devido a uma doação que eleve o preço no instante da migração.

Exemplo E: conservar mais 170 USDC no Pair principal do exemplo D

ElementoSem doaçãoCom doação adicional de 170 USDC
Reservas externas de Token206,900,000206,900,000
Reservas externas de USDC12,161.43336912,331.433369
Capitalização inicial real do protocolo58,779.28162880618656355759,600.934601256645722571
Capitalização fixa de migração ideal58,779.28163363943934267758,779.281633639439342677

Transferir USDC diretamente para Factory é diferente: não aumenta automaticamente realNativeReserves de um Token e, por isso, não se transforma automaticamente nos seus fundos de migração. Devem distinguir-se o saldo contabilístico da curva, o saldo total de Factory e o saldo real do Pair.

5. Destino final dos LP e do inventário de empréstimos

Nenhum LP inicial pode ser resgatado por titulares normais

LPBalancezero=LPTotalSupply

Também exige que os LP emitidos nesta operação sejam superiores a 0 e que o total de LP ultrapasse a liquidez devolvida por ela, cobrindo a estrutura de liquidez mínima inicial V2. Nem o criador, as operações, a carteira do protocolo nem o último comprador recebem estes LP da migração.

Aqui, «queimar LP» significa que os LP pertencem ao endereço zero e as contas normais não os podem retirar para resgatar, não que Oferta total ERC-20 passe a 0; os Token do Pair também não são queimados. A verificação da migração refere-se ao momento inicial e não permite afirmar que o AMM externo nunca acrescentará liquidez nem emitirá outros LP no futuro.

A reserva de empréstimos permanece independente

Os 199,861,071 Token já estavam no endereço pré-calculado do Engine. A migração apenas implementa e inicializa o Engine, sem emitir novamente nem transferir esse capital para o Pair. A inicialização lê as reservas reais do Pair e mantém uma contabilidade independente do capital emprestável disponível.

BigShort Protocol · ARCEmitir · Negociar · Vender a descoberto