Limitação de Taxas
Limitação de Taxa Introdução O framework de Transferência de Token Nativo (NTT) fornece limites configuráveis de taxa por cadeia para o envio e recebimento de transferências de tokens. Os integradores podem gerenciar esses limites por meio de seus próprios processos de governança para se adaptar rapidamente à atividade na cadeia.
Se uma transferência estiver limitada pela taxa na cadeia de origem e o enfileiramento estiver habilitado por meio de shouldQueue = true
, a transferência será colocada em uma fila de saída e poderá ser liberada após a expiração do limite de taxa.
Você pode configurar os seguintes limites em cada cadeia onde o NTT está implantado diretamente usando o gerenciador:
Limite de envio - um único limite de saída para enviar tokens da cadeia
Limites de recebimento por cadeia - o limite máximo de recebimento, que pode ser configurado por cadeia. Por exemplo, permitindo que 100 tokens sejam recebidos da Ethereum, mas apenas 50 tokens sejam recebidos da Arbitrum
Os limites de taxa são reabastecidos a cada segundo ao longo de uma duração fixa. Embora a duração padrão seja de 24 horas, o valor é configurável na criação do contrato. As transferências limitadas por taxa na cadeia de destino são adicionadas a uma fila de entrada com um atraso similar para liberação.
Atualização dos Limites de Taxa Para configurar ou atualizar os limites de envio e recebimento, siga os seguintes passos:
Localize o arquivo de implantação - abra o arquivo
deployment.json
no diretório do seu projeto NTT. Este arquivo contém a configuração dos contratos implantados.Modifique a seção de limites - para cada cadeia, localize o campo
limits
e atualize os valores de saída e entrada conforme necessário.
outbound
- define o número máximo de tokens permitidos a deixar a cadeiainbound
- configura limites de recebimento por cadeia para tokens que chegam de cadeias específicas
Envie a configuração - use o NTT CLI para sincronizar a configuração atualizada com a blockchain
Verifique as alterações - após enviar, confirme os novos limites de taxa verificando o status da implantação
Exemplo de deployment.json
Mecanismo de Enfileiramento Quando uma transferência excede o limite de taxa, ela é mantida em uma fila e pode ser liberada após a expiração da duração definida do limite de taxa. O comportamento de enfileiramento de envio e recebimento é o seguinte:
Envio - se uma transferência de saída violar os limites de taxa, os usuários podem reverter e tentar novamente mais tarde ou enfileirar sua transferência. Os usuários devem retornar após a duração da fila expirar para completar o envio da transferência.
Recebimento - se uma transferência de entrada violar os limites de taxa, ela ficará na fila. Os usuários ou retransmissores devem retornar após a duração da fila expirar para completar o recebimento da transferência na cadeia de destino.
O enfileiramento é configurado dinamicamente durante cada transferência passando o parâmetro shouldQueue
para a função de transferência no contrato NttManager
.
Fluxos de Cancelamento Se os usuários realizam frequentemente bridges entre uma cadeia de origem e uma cadeia de destino, a capacidade pode se esgotar rapidamente. A perda de capacidade pode deixar outros usuários com limite de taxa, potencialmente atrasando suas transferências. A transferência de saída cancela o limite de taxa de entrada na cadeia de origem para evitar atrasos não intencionais. Isso permite o reabastecimento do limite de taxa de entrada por um valor igual ao valor da transferência de saída e vice-versa, com a transferência de entrada cancelando o limite de taxa de saída na cadeia de destino e reabastecendo o limite de taxa de saída com um valor equivalente.
Last updated