The recipient field is currently typed as address limiting compatibility with non-EVM chains.
Some non-EVM chains (e.g. Sui) also lack a chainId, suggesting a different contract type may be required to interoperate with them.
Wormhole solves this by assigning each chain its own "wormhole chainId", but these sometimes differ from EVM chainIds (e.g. Solana is chainId 1 and ETH is chainId2 :o).
Alternative approaches: reserve an upper uint256 range, or use a bytes type for recipients.
Consider this ticket a discussion on best approach for multi-chain support.
The
recipientfield is currently typed asaddresslimiting compatibility with non-EVM chains.Some non-EVM chains (e.g. Sui) also lack a
chainId, suggesting a different contract type may be required to interoperate with them.Wormhole solves this by assigning each chain its own "wormhole chainId", but these sometimes differ from EVM
chainIds (e.g. Solana is chainId 1 and ETH is chainId2 :o).Alternative approaches: reserve an upper uint256 range, or use a bytes type for recipients.
Consider this ticket a discussion on best approach for multi-chain support.