polytone-evm 0.3.0

Core interfaces for Polytone Interchain accounts and queries.
Documentation
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.24;

import "./IBCTypes.sol";

struct LocalToken {
    address denom;
    uint128 amount;
}

interface IRelay {
    event DenomCreated(uint64 indexed packetSequence, string channelId, string denom, address token);
    event Received(
        uint64 packetSequence,
        string channelId,
        string sender,
        address indexed receiver,
        string denom,
        address indexed token,
        uint256 amount
    );
    event Sent(
        uint64 packetSequence,
        string channelId,
        address indexed sender,
        string receiver,
        string denom,
        address indexed token,
        uint256 amount
    );
    event Refunded(
        uint64 packetSequence,
        string channelId,
        address indexed sender,
        string receiver,
        string denom,
        address indexed token,
        uint256 amount
    );

    function send(
        string calldata sourceChannel,
        bytes calldata receiver,
        LocalToken[] calldata tokens,
        string calldata extension,
        IbcCoreClientV1Height.IbcCoreClientV1HeightData calldata timeoutHeight,
        uint64 timeoutTimestamp
    ) external;
}