Skip to content

Commit b44083c

Browse files
committed
updated to align with unified crosschain interface
1 parent 3ca07ec commit b44083c

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

src/module/token/crosschain/zetachain.sol

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ contract ZetaChainCrossChain is Module {
4242
config.callbackFunctions = new CallbackFunction[](1);
4343
config.fallbackFunctions = new FallbackFunction[](5);
4444

45-
config.fallbackFunctions[0] = FallbackFunction({selector: this.sendMessage.selector, permissionBits: 0});
45+
config.fallbackFunctions[0] =
46+
FallbackFunction({selector: this.sendCrossChainTransaction.selector, permissionBits: 0});
4647
config.fallbackFunctions[2] = FallbackFunction({selector: this.getTss.selector, permissionBits: 0});
4748
config.fallbackFunctions[4] = FallbackFunction({selector: this.getERC20Custody.selector, permissionBits: 0});
4849
config.fallbackFunctions[1] =
@@ -85,18 +86,24 @@ contract ZetaChainCrossChain is Module {
8586
FALLBACK FUNCTIONS
8687
//////////////////////////////////////////////////////////////*/
8788

88-
function sendMessage(address callAddress, address recipient, address token, uint256 value, bytes memory data)
89-
external
90-
{
89+
function sendCrossChainTransaction(
90+
uint64 _destinationChain,
91+
address _recipient,
92+
bytes calldata _data,
93+
address _token,
94+
uint256 _amount,
95+
address _callAddress,
96+
bytes memory _extraArgs
97+
) external {
9198
// Mimics the encoding of the ZetaChain client library
9299
// https://github.com/zeta-chain/toolkit/tree/main/packages/client/src
93-
bytes memory encodedData = abi.encodePacked(callAddress, data);
94-
if (token == address(0)) {
95-
(bool success,) = payable(_zetaChainCrossChainStorage().tss).call{value: value}(encodedData);
100+
bytes memory encodedData = abi.encodePacked(_callAddress, _data);
101+
if (_token == address(0)) {
102+
(bool success,) = payable(_zetaChainCrossChainStorage().tss).call{value: _amount}(encodedData);
96103
require(success, "Failed to send message");
97104
} else {
98105
IERC20Custody(_zetaChainCrossChainStorage().erc20Custody).deposit(
99-
abi.encode(recipient), IERC20(token), value, encodedData
106+
abi.encode(_recipient), IERC20(_token), _amount, encodedData
100107
);
101108
}
102109
}

0 commit comments

Comments
 (0)