Git Source Author: @ShaneDuncan602 @oscarsernarosero @TJ-Everett data structures of each rule in the protocol, grouped by rule subset (NonTagged Rules, Tagged rules, AccessLevel rules, Risk rules, and Fee rules)

Structs

TokenMinTxSize

**** Token Min Tx Size Rules ****
struct TokenMinTxSize {
    uint256 minSize;
}

TokenMaxBuySellVolume

**** Token Max Buy Sell Volume Rules ****
struct TokenMaxBuySellVolume {
    uint16 tokenPercentage;
    uint16 period;
    uint256 totalSupply;
    uint64 startTime;
}

TokenPurchaseFeeByVolume

**** Token Purchase Fee By Volume Rules ****
struct TokenPurchaseFeeByVolume {
    uint256 volume;
    uint16 rateIncreased;
}

TokenMaxPriceVolatility

**** Token Max Price Volatility ****
struct TokenMaxPriceVolatility {
    uint16 max;
    uint16 period;
    uint16 hoursFrozen;
    uint256 totalSupply;
}

TokenMaxTradingVolume

**** Token Max Trading Volume ****
struct TokenMaxTradingVolume {
    uint24 max;
    uint16 period;
    uint64 startTime;
    uint256 totalSupply;
}

TokenMaxSupplyVolatility

**** Supply Volatility ****
struct TokenMaxSupplyVolatility {
    uint16 max;
    uint16 period;
    uint64 startTime;
    uint256 totalSupply;
}

AccountApproveDenyOracle

**** Account Approve/Deny Oracle ****
struct AccountApproveDenyOracle {
    uint8 oracleType;
    address oracleAddress;
}

AccountApproveDenyOracleFlexible

**** Account Approve/Deny Oracle ****
struct AccountApproveDenyOracleFlexible {
    uint8 oracleType;
    uint8 addressToggle;
    address oracleAddress;
}

TokenMinHoldTime

**** Token Min Hold Time ****
struct TokenMinHoldTime {
    uint32 minHoldTime;
}