LayerZero-Labs/LayerZero

About the second argument of estimateFees

Akira-Taniguchi opened this issue · 2 comments

As you can see in this example, the second argument of estimateFees is the address of the chain to which the message is sent.

https://layerzero.gitbook.io/docs/faq/ultra-light-node/economic-and-fees#manage-fees

However, this example shows that the sender's address is set.

https://github.com/LayerZero-Labs/solidity-examples/blob/main/contracts/token/oft/OFT.sol#L21

Which is correct?

and....

If the destination address needs to be specified, shouldn't the type be bytes, not address, as it is in other functions?

https://github.com/LayerZero-Labs/solidity-examples/blob/main/contracts/interfaces/ILayerZeroEndpoint.sol#L41

Which is correct?
-> The source sending UA address is the correct address to pass to estimateFees() to get the quote for.

Its possible that behind the scenes there are different pricing structures for different UAs due to Oracle or Relayer incentives, etc.

This also should clear up the answer to your last question. Since its the local UA , on an evm it will just be an address ( its
not required to be bytes).


I updated gitbook, thanks for pointing it out! (https://layerzero.gitbook.io/docs/faq/ultra-light-node/economic-and-fees#manage-fees)

ok, thanks