Block: 75

Timestamp: 12:18:05

AuditProfile

Security blog

NON-EVM user / wallet address

If you are auditing a protocol or planning your own project to work with different EVM and non-EVM networks, you should be aware that user wallet addresses may have different format standards.

Let's find out more about the problems you might run into!

First of all, let's take a look at the Axelar bug report from Code4rena. Axelar is supposed to support different chains, not just EVM.

However, there was a mapping of whitelisted senders that accepted the value of sender account as address data type.

There was also a special library function to convert strings to address types. And it works fine on EVM networks.

But non-EVM networks may have different user/wallet addresses. So most of transactions to them will fail or reverted!

Let's look at some examples.

A Cosmos wallet address is a string of alphanumeric characters that serves as an identifier. In the case of a Cosmos wallet address, it begins with “cosmos” and consists of 45 characters

Here’s an example of a Cosmos wallet address:

cosmos10wljxpl03053h9690apmyeakly3ylhejxgve8g

A Tron (TRX TRC20) wallet address will have the following format:

TBia4uHnb3oSSZm5isP284cA7Np1v15Vhi

Polkadot (and Substrate) use the SS58 address format. This is a broad "meta-format" designed to handle many different cryptographic schemes and chains.

Example:

1FRMM8PEiWXYax7rpS6X4XZX1aAAxSWx1CrKTyrVYhV24fg

Finally, Axelar solved this problem by saving addresses as strings and bytes.

Read the full report here:

Link: https://code4rena.com/reports/2023-07-axelar#m-09-interchainproposalexecutorsol-doesnt-support-non-evm-address-as-caller-or-sender

#evm

#wallet

#nonevm

Connent with me:

Регистрация прошла успешно! Спасибо за внимание!

loader