Skip to content

fix: correct comparison operator to assignment in OFT lzReceive dead …#33

Open
mefai-dev wants to merge 1 commit intostargate-protocol:mainfrom
mefai-dev:fix/oft-assignment-operator-bug
Open

fix: correct comparison operator to assignment in OFT lzReceive dead …#33
mefai-dev wants to merge 1 commit intostargate-protocol:mainfrom
mefai-dev:fix/oft-assignment-operator-bug

Conversation

@mefai-dev
Copy link

Address guard

The dead address guard on line 107 of OmnichainFungibleToken.sol uses the comparison operator (==) instead of the assignment operator (=), causing the toAddress reassignment to address(0xdEaD) to never take effect.

When a cross-chain OFT transfer is received with toAddress == address(0x0), the intended behavior is to redirect tokens to the burn address (0xdEaD). Due to this bug, toAddress remains 0x0, causing _transfer or _mint to the zero address, which reverts in OpenZeppelin's ERC20 implementation. This permanently blocks the LayerZero nonce for that source chain path.

…address guard

The dead address guard on line 107 of OmnichainFungibleToken.sol uses the
comparison operator (==) instead of the assignment operator (=), causing
the toAddress reassignment to address(0xdEaD) to never take effect.

When a cross-chain OFT transfer is received with toAddress == address(0x0),
the intended behavior is to redirect tokens to the burn address (0xdEaD).
Due to this bug, toAddress remains 0x0, causing _transfer or _mint to
the zero address, which reverts in OpenZeppelin's ERC20 implementation.
This permanently blocks the LayerZero nonce for that source chain path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant