Skip to content

enhancement: add indexed parameters to ERC-6123 events for off-chain log filtering #127

@MASDXI

Description

@MASDXI

@cfries,The current ERC-6123 interface defines trade lifecycle events containing incepted, confirmed, termination, and settled, however none of the event parameters are indexed. Adding indexed to key parameters allows off-chain systems like block explorers and event indexers to filter and search for relevant events.

// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0 <0.8.0;

interface IERC6123 {

    /// ... skipping function section.
    
    event TradeIncepted(address initiator, string tradeId, string tradeData);     
    // change to `TradeIncepted(address indexed  initiator, string tradeId, string tradeData)`
    
    event TradeConfirmed(address confirmer, string tradeId);
    // change to `TradeConfirmed(address indexed confirmer, string tradeId)` 

    event TradeCanceled(address initiator, string tradeId);
    // change to `TradeCanceled(address indexed initiator, string tradeId)`

    event TradeActivated(string tradeId);
    
    event TradeTerminationRequest(address initiator, string tradeId, int256 terminationPayment, string terminationTerms);
    // change to `TradeTerminationRequest(address indexed initiator, string tradeId, int256 terminationPayment, string terminationTerms)`

    event TradeTerminationConfirmed(address confirmer, string tradeId, int256 terminationPayment, string terminationTerms);
    // change to `TradeTerminationConfirmed(address indexed confirmer, string tradeId, int256 terminationPayment, string terminationTerms)` 

    event TradeTerminationCanceled(address initiator, string tradeId, string terminationTerms);
    // change to `TradeTerminationCanceled(address indexed initiator, string tradeId, string terminationTerms)`

    event TradeTerminated(string cause);
    
    event SettlementRequested(address initiator, string tradeData, string lastSettlementData);
    // change to `SettlementRequested(address indexed initiator, string tradeData, string lastSettlementData)`

    event SettlementDetermined(address initiator, int256 settlementAmount, string settlementData);
    // change to `SettlementDetermined(address indexed initiator, int256 settlementAmount, string settlementData)`

    event SettlementTransferred(string transactionData);
    event SettlementFailed(string transactionData);
}

Metadata

Metadata

Assignees

No one assigned

    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