polytone-evm 0.3.0

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

import "./IRelay.sol";

// Reflect the CW Packet
struct Packet {
    string sender;
    Msg msg;
}

// Message called on the voice
struct Msg {
    MsgType msgType;
    // Requests on the voice (Exec / Query)
    bytes[] data;
}

// Type of voice message
enum MsgType {
    Execute
}
//    Query

// Type of message called on proxy contract
enum EvmMsgType {
    Call,
    DelegateCall
}

// Data to execute by proxy
struct CallMessage {
    address to;
    bool allowFailure;
    uint256 value;
    bytes data;
}

// Message called on the proxy contract
// Reflect EvmMsg<Address>
struct EvmMsg {
    EvmMsgType msgType;
    bytes message;
}

struct ExecuteResult {
    bool success;
    bytes data;
}

struct ExecuteResponsePacket {
    address executedBy;
    ExecuteResult[] result;
}