bacen / pilotord-kit-onboarding

Documentação e arquivos de configuração para participação no Piloto do Real Digital
898 stars 214 forks source link

Approve x IncreaseAllowance #54

Open gabrielsdev opened 11 months ago

gabrielsdev commented 11 months ago

De acordo com a documentação sobre os contratos de swap é sugerido a utilização do método approve (tanto do real tokenizado quanto do real digital) antes da chamada do método que executa o swap, no entanto, pela especificação do método approve e na vulnerabilidade que esse método apresenta (também encontrada aqui), o método increaseAllowance parece ser o mais adequado para esse fim, uma vez que o approve redefine o valor permitido a ser gasto por outro endereço, enquanto o increaseAllowance apenas incrementa o allowance, o que (de certa forma) isola o respectivo allowance para uma determinada transação.

Utilizar o approve poderia invalidar a execução de transações simultâneas, não só de swap, mas de outras transações que envolvam o allowance.