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;
}

TokenMinHoldTime

**** Token Min Hold Time ****

struct TokenMinHoldTime {
    uint32 minHoldTime;
}