Skip to content

Calls from Solana have incorrect sender address in message context #3689

@fadeev

Description

@fadeev

Describe the Bug

When making a call (or a deposit) from Solana, message context's origin value does not contain the actual Solana address from which the call was made. Instead, the sender value (which so far is being used only for calls from EVM chains) contains a hex address.

To Reproduce

Make a call from Solana to a contract that reverts, for example:

https://zetachain-testnet.blockscout.com/address/0xCec4d6c0528557dbF45dC8cF31189A8D1c32f428

This contract always reverts, so that we can see message context in the error_message of a CCTX.

npx hardhat solana-deposit-and-call \
  --amount 0.001 \
  --recipient 0xCec4d6c0528557dbF45dC8cF31189A8D1c32f428 \
  --types '["string"]' alice    

https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCctxData/38yC7sTor9kgdsXg8fMWGbBmRMbjTF9ZTCrCuoipxiKNBu7Z6TRYiiLuP9397KDGZzSuXLvuKK5ztC9oLM4rtEfx

{[] 0x73543467664e774b5a396A666F786A4773346164 901}

Expected Behavior

Solana sender address should be as the first arg of message context (origin) and the second value (sender) should be empty.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions