I have this struct:

struct Amendment {
    string text;
    uint24 textColor;
    bool isRadialGradient;
    uint8[2] radialGradientCenterPct;
    uint16 linearGradientAngleDeg;
    uint24[2][11] gradientColors;
    uint messageId;
    uint inReplyToMessageId;
    address sender;
    address recipient;
    uint sentAt;

This mapping:

mapping(uint => Amendment) public amendmentMapping;

and this function:

function getAmendment(uint tokenId) public view returns (Amendment memory amendment) {
    return amendmentMapping[tokenId];

When I retrieve an Amendment via this function it works correctly. However, when I get an Amendment via the amendmentMapping directly the response does not include the arrays radialGradientCenterPct and gradientColors.

Ideally I would not have a separate getter, so I am curious whether this is a real limitation or whether I'm making a mistake.

1 Answer 1


It depends on your Solidity version, so sharing this might help. There are a couple questions with answers around this that might help:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.