Managers e Transceivers
Gerentes e Transmissores Gerentes Os gerentes supervisionam o processo de transferência de tokens e lidam com limitações de taxa e atestação de mensagens. Eles gerenciam interações com múltiplos transmissores e garantem que os tokens sejam bloqueados ou queimados na cadeia de origem antes de serem cunhados ou desbloqueados na cadeia de destino. Cada gerente NTT corresponde a um único token, mas pode controlar múltiplos transmissores. As funções principais incluem:
transfer: inicia o processo de transferência, onde os tokens na cadeia de origem são bloqueados ou queimados. Este processo garante que uma quantidade equivalente de tokens seja cunhada ou desbloqueada na cadeia de destino.
quoteDeliveryPrice: calcula o custo de envio de mensagens entre cadeias, consultando os transmissores para estimativas das taxas de entrega de mensagens, permitindo que os usuários conheçam o preço antes de iniciar uma transferência.
setPeer: para manter a comunicação segura entre cadeias, os gerentes estabelecem relações de confiança entre diferentes instâncias de contratos do gerente NTT entre as cadeias. Ao se reconhecerem como pares, eles garantem que as transferências de tokens ocorram de maneira segura e que os limites de taxa nas transações de entrada sejam respeitados.
Transmissores Os transmissores são responsáveis por roteirizar as transferências NTT através do gerente na cadeia de origem e garantir que sejam entregues ao gerente correspondente na cadeia de destino. Eles trabalham com os gerentes para garantir que as mensagens sejam processadas corretamente e que os tokens sejam transferidos de maneira adequada, fornecendo um sistema confiável para transferências de tokens entre cadeias. Os transmissores podem ser definidos independentemente do núcleo Wormhole e modificados para suportar qualquer backend de verificação. As funções principais incluem:
sendMessage: esta função externa envia mensagens de transferência de tokens para uma cadeia de destino especificada. Ela codifica os detalhes da transferência de tokens em um formato de mensagem reconhecido pelo sistema.
quoteDeliveryPrice: fornece uma estimativa do custo associado à entrega de uma mensagem para uma cadeia de destino e calcula as taxas de transação.
Ciclo de Vida de uma Mensagem
EVM
Transferência
O cliente chama a função transfer
para iniciar uma transferência NTT. O cliente deve especificar, no mínimo, a quantidade da transferência, a cadeia de destino e o endereço do destinatário na cadeia de destino. A função transfer
também suporta uma flag para especificar se o NttManager deve colocar as transferências com limite de taxa em fila ou reverter. Os clientes também podem incluir instruções adicionais a serem encaminhadas ao transmissor na cadeia de origem. Dependendo do modo configurado no contrato NttManager, as transferências são "bloqueadas" ou "queimadas". Após a transferência ser encaminhada para o transmissor, o NttManager emite o evento TransferSent
.
Eventos
TransferSent
: Emitido quando uma mensagem é enviada do NTT Manager.
Limite de Taxa
Uma transferência pode ser limitada por taxa tanto na cadeia de origem quanto na cadeia de destino. Se uma transferência for limitada por taxa na cadeia de origem e a flag shouldQueue
estiver ativada, ela será adicionada a uma fila de saída. A transferência pode ser liberada após o tempo configurado em _rateLimitDuration
expirar através do método completeOutboundQueuedTransfer
. Os eventos OutboundTransferQueued
e OutboundTransferRateLimited
são emitidos.
Last updated