ATS Data-Tables

ATS|Pairs

This table stores information about ATS-Pair Properties, containing exactly 23 distinct properties. Each entry is uniquely identified by the ATS-Pair ID.

  1. owner-konto:string – Stores the Standard or Smart Ouronet Account that owns the ATS-Pair, also known as the ATS-Pair Manager (ATSPM). Ownership must be verified to perform operations related to ATS-Pair properties.

  2. can-change-owner:bool – Indicates whether the ATS-Pair Manager (ATSPM) can be changed.

  3. parameter-lock:bool – Allows the ATS-Pair Manager (ATSPM) to permanently lock parameter settings once configured. When set to <true>, the parameters 7,8,9,11,12,13,14,15,16,17,18,19,20,21 cannot be changed. Modifying this parameters once <parameter-lock> is set to <true>, requires setting it back to <false>. However, this has special restrictions:

    1. Unlocking the <parameter-lock> has no limit on the number of times it can be performed. However, each successive unlock becomes progressively more expensive, making frequent modifications increasingly costly.

    2. The cost for each unlock is calculated as (1000IGNIS+10KDA)x(1+fee-unlocks). This formula ensures that each additional unlock costs more than the previous one, creating a financial deterrent against frequent changes.

    3. Additionally, every unlock imposes a mandatory secondary fee on Token Transactions. This fee is equal to the VTT multiplied by the number of times a fee unlock has been executed. These fees are collected for the Ouronet Custodians

  4. unlocks: integer – Tracks the number of times an ATS-Pair <parameter-lock> has been unlocked. Ideally, an ATS-Pair should have zero <unlocks>, signaling stability and careful management of parameter settings.

  5. pair-index-name:string – Stores the name of the Index that defines the pair. The index name also serves as the key for the table.

  6. index-decimals:integer – Specifies the decimal precision of the index. This value must be an integer between 2 and 24.

  7. syphon:decimal – Stores the syphon-index, which is the lowest value the ATS-Pair Index can drop when syphoning from the ATS-Pair.

  8. syphoning:bool – Determines whether the syphoning functionality is enabled or disabled for the ATS-Pair.

  9. reward-tokens:[object{Autostake.ATS|RewardTokenSchema}] – This field stores the IDs of the DPTF Token(s) designated as Reward Tokens. Only DPTF tokens can be added, and multiple tokens may be specified. The DPTF Reward Token the ATS-Pair was created with is termed the Primary Reward Token, while those added subsequently are termed Secondary Reward Tokens.

    1. While additional tokens can be included alongside the Primary Reward Token used when the ATS-Pair was first created, only the Secondary Reward Tokens added afterward can be removed.

    2. Upon removal, any pending Secondary Reward Tokens in the unbonding process are replaced with the Primary Reward Token.

  10. c-rbt:string – Or "Cold-Reward-Bearing-Token", this parameter stores the ID of the DPTF token that functions as the Cold Reward-Bearing Token. The term "cold" refers to the fact that this DPTF token is the one directly used in the Cold Recovery method.

  11. c-nfr:bool – Or "ColdRecovery-Native-Fee-Redirection" – When set to true, any native fee assigned to this token in its DPTF Properties will be redirected to boost the Index of the ATS-Pair it belongs to. If the token is linked to two ATS-Pairs, the fee will be evenly split (50/50) to increase the indices of both Autostake Pairs.

  12. c-positions:integer – Or "Cold-Recovery-Positions", defines the number of available positions for Cold Recovery. By default, it is set to -1, meaning there are unlimited recovery positions. However, if a limit is required, values between 1 and 7 can be specified.

  13. c-limits:[decimal] – This parameter defines a list of decimal values that serve as thresholds for different fee levels. These thresholds determine the applicable fees when a specific amount of Cold-Reward-Bearing-Token is used in the Cold Recovery process.

  14. c-array:[[decimals]] – This parameter defines an array (a list of lists) of fee values corresponding to each recovery position. The length of this array must match the number of Cold-Recovery-Positions.

    1. If Cold-Recovery-Positions is set to a specific number (e.g., 1-7), the array must contain exactly that many inner lists.

    2. If Cold-Recovery-Positions is set to -1 (meaning unlimited positions), the array must contain exactly one inner list, which will apply to all cold recoveries.

    Each inner list in the c-array must have the same number of elements as the Cold-Recovery-Fee-Thresholds (c-limits). For example, if there are two fee thresholds, each inner list must contain exactly two elements to maintain alignment.

    It is important to note that fees are computed in Reward Tokens.

  15. c-fr:bool – Or "ColdRecovery-Fee-Redirection", is a parameter that determines how the cold recovery fee, if applicable (non zero), is handled by the ATS-Pair.

    • When set to <true>, the recovery fee (calculated in Reward Tokens) is used to increase the ATS-Pair Index, strengthening the pool.

    • When set to <false>, any existing recovery fee (if non-zero) will result in the corresponding Reward Tokens being burned, reducing the token supply instead of contributing to the index.

    Additionally, if <c-fr> is set to <false>, activating Cold Recovery will require burning Rights to the Autostake Smart DALOS Account for the corresponding DPTF Token.

  16. c-duration:[integer] – Or "ColdRecovery-Duration", is a list parameter that consists of exactly 50 integers, each representing the mandatory waiting period (in hours) before a Cold Recovery can be completed.

    • These values are synchronized with the Demiourgos Elite Account, ensuring that recovery durations align with account tiers.

    • A default list is provided when the ATS-Pair is created, but if it doesn’t meet specific requirements, it can be customized using two integer input parameters and either a "soft" or "hard" method to generate a tailored list.

    In summary, the Cold Recovery Duration of an ATS-Pair is directly linked to the Demiourgos Elite Account Tiers, making these 50 predefined durations a fundamental aspect of the system.

  17. c-elite:bool When the <c-positions> (Parameter 12) is set to 7, this parameter can be activated (set to <true>). When enabled, it allows for the progressive usage of Cold-Recovery-Positions based on the Major Demiourgos Elite Account Tier. Specifically:

    • Only 1 position is available for Major Demiourgos Elite Tier 1.

    • 2 positions are available for Major Demiourgos Elite Tier 2, and so on, increasing the number of positions as the account tier advances.

    This feature ensures that clients with higher Elite Tiers have access to more Cold-Recovery-Positions, tying into the Major Demiourgos Elite Account Tier of the Client.

  18. h-rbt:string – Or "Hot-Reward-Bearing-Token," this parameter stores the ID of the DPMF token that serves as the reward-bearing token for the Hot Recovery method. The Hot-Reward-Bearing-Token is equivalent to the Cold-Reward-Bearing-Token on a 1:1 basis, but it exists as a Meta Fungible Token (DPMF) to capture the information needed in the redemption mechanism of the Hot Recovery, namely its minting date. The term "hot" indicates that this DPMF token is directly involved in the Hot Recovery process.

  19. h-promile:decimal – Stores the fee value used for Hot Recovery

  20. h-decay:integer – Stores the decay period in day, over which, the <h-promile> drops to zero (See Hot Recovery). After this period has elapsed, Hot Recovery can be finalized while incurring no fees.

  21. h-fr:bool – Or "HotRecovery-Fee-Redirection", is a parameter that determines how the cold recovery fee, if applicable (non zero), is handled by the ATS-Pair. Similar in functionality to Parameter 15, but for the Hot Recovery.

  22. cold-recovery:bool – The Cold Recovery feature for an ATS-Pair can only be activated when this parameter is set to true. Since all associated cold parameters of the ATS-Pair are securely managed, no additional validation is needed when enabling this setting. Once activated, the Cold Recovery feature is live for the ATS-Pair, and specific parameters (7 through 15) will become locked. These parameters cannot be modified until Cold Recovery is deactivated by setting this parameter back to false.

  23. hot-recovery:bool – This parameter works similarly to <cold-recovery>, but it controls the activation of the Hot Recovery mechanism. An Autostake Pair can have both recovery mechanisms (Cold and Hot) active simultaneously.

ATS|RewardTokenSchema

This Schema is used in the ATS|Pairs Table for its reward-tokens Parameter. It stores Data on the Reward Token(s) the ATS-Pair is setup with, and contains the following Parameters itself:

  1. token:string – Stores the DPTF Id of the Reward Token.

  2. nfr:bool – Or "Native-Fee-Redirection", is a parameter that determines how the RT fee, if applicable (non zero), is handled by the ATS-Pair.

    • When set to <true>, the RT fee is used to increase the ATS-Pair Index, strengthening the pool.

    • If set to <false>, the corresponding Reward Tokens will be burned, reducing the token supply instead of contributing to the index.

    • When it comes to the Primal RT, the property currently cannot be changed. For Secondary RTs, it can be changed by removing them and re-adding them with a different boolean parameter.

  3. resident:decimal – Represents the Amount of RT resident in the ATS-Pair (Pool).

  4. unbonding:decimal – Represents the Amount of RT in "unbonding", that is this amount is no longer resident, its not contributing to the ATS-Pair's Index, and is the total amounts Clients are waiting to collect via Cold-Recovery.

ATS|Ledger

This Table contains Client Data pertaining to the unboding amounts and periods for RTs to be recovered, via Cold-Recovery. Each Client that has RTs to collect, has an entry in this table. The Key is

<ATS-Pair-ID>|<OuronetAccount-ID> This ensures that there is only one record per ATS-Pair ID per Ouronet Account.

  • P0:[object{UtilityAts.Awo}] – Contains ATS-Pair Cold Recovery unstaking Data, when the ATS-Pair is set-up with unlimited Cold Recovery Positions. Since the 0 Positions can store multiple Cold-Recovery Events, a list is used.

  • P1:[object{UtilityAts.Awo}] – Contains ATS-Pair Cold Recovery unstaking Data, when the ATS-Pair is set-up with 1 through 7 Cold Recovery Positions, in this case the Data for Position 1. Since Positions 1 through 7, can only store a single Cold Recovery Event per position, no list is used.

  • P2:[object{UtilityAts.Awo}] – Similar to P1, representing Position 2

  • P3:[object{UtilityAts.Awo}] – Similar to P1, representing Position 3

  • P4:[object{UtilityAts.Awo}] – Similar to P1, representing Position 4

  • P5:[object{UtilityAts.Awo}] – Similar to P1, representing Position 5

  • P6:[object{UtilityAts.Awo}] – Similar to P1, representing Position 6

  • P7:[object{UtilityAts.Awo}] – Similar to P1, representing Position 7

UtilityAts.Awo Schema

Stores Unstaking Information pertaining to Cold-Recovery Unstaking Data, in the ATS|Ledger, and has the following Parameters

  1. reward-tokens:[decimal] – Stores the amount of RT(s) that are to be collected, when the cull-time expires. If the ATS-Pair has 3 RTs, then the list has 3 elements. If a secondary RT is removed by the ATS-Pair Owner, and clients exist that have said RT in such a recovery list, these lists are modified, replacing the removed RT with a similar value, but for the Principal RT. Important Note: If there are many clients existing that are to collect a given secondary RT, removing said RT might be expensive gas computation wise, and such an event might not fit in a single Tx of 150k gas, since an update must be made for all these Clients. Such a Scenario hasn't been tested, to see how expensive it might get.

  2. cull-time:time – Stores the time, when the RT(s) can be collected.

Last updated