Defender Sentinel event/function matching rules for struct type

After setting up a Sentinel for my contract, I was not able to monitor event and function call with struct type parameter, specifically I cannot access the parameter by it's name or index.

:computer: Environment

:memo:Details

:1234: Code to reproduce

// struct
struct TransferInfo {
    IERC20 token;
    address receiver;
    uint256 amount;
}

// event
event Transfer(TransferInfo transferInfo, bytes data);

// function
function transfer(TransferInfo calldata transferInfo, bytes calldata data) external {
    emit Transfer(transferInfo, data);
}

When trying to access transferInfo param, I was met with Undefined symbol transferInfo if I try to access it's name and Undefined symbol $0 if I try to access it by index.

Get first param transferInfo failed:


Get second param data worked:


Hi @NIC619,

Struct params are not yet supported in sentinel function conditions, though this is something we do plan on adding. When it is available I will let you know!

2 Likes

Thanks a lot! @dylkil This would be really helpful.