aftermath-ts-sdk 1.2.51 → 1.2.52-perps.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +62 -28
  2. package/dist/general/apiHelpers/eventsApiHelpers.d.ts +1 -1
  3. package/dist/general/apiHelpers/eventsApiHelpers.d.ts.map +1 -1
  4. package/dist/general/apiHelpers/eventsApiHelpers.js +4 -1
  5. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +6 -0
  6. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
  7. package/dist/general/apiHelpers/transactionsApiHelpers.js +46 -0
  8. package/dist/general/dynamicGas/dynamicGas.d.ts +34 -0
  9. package/dist/general/dynamicGas/dynamicGas.d.ts.map +1 -1
  10. package/dist/general/dynamicGas/dynamicGas.js +34 -0
  11. package/dist/general/dynamicGas/dynamicGasTypes.d.ts +25 -0
  12. package/dist/general/dynamicGas/dynamicGasTypes.d.ts.map +1 -1
  13. package/dist/general/prices/coinGeckoTypes.d.ts +2 -0
  14. package/dist/general/prices/coinGeckoTypes.d.ts.map +1 -1
  15. package/dist/general/prices/prices.d.ts +73 -0
  16. package/dist/general/prices/prices.d.ts.map +1 -1
  17. package/dist/general/prices/prices.js +73 -0
  18. package/dist/general/providers/aftermath.d.ts +107 -27
  19. package/dist/general/providers/aftermath.d.ts.map +1 -1
  20. package/dist/general/providers/aftermath.js +110 -30
  21. package/dist/general/providers/aftermathApi.d.ts +128 -10
  22. package/dist/general/providers/aftermathApi.d.ts.map +1 -1
  23. package/dist/general/providers/aftermathApi.js +133 -14
  24. package/dist/general/types/castingTypes.d.ts +15 -7
  25. package/dist/general/types/castingTypes.d.ts.map +1 -1
  26. package/dist/general/types/castingTypes.js +6 -0
  27. package/dist/general/types/configTypes.d.ts +14 -8
  28. package/dist/general/types/configTypes.d.ts.map +1 -1
  29. package/dist/general/types/generalTypes.d.ts +229 -7
  30. package/dist/general/types/generalTypes.d.ts.map +1 -1
  31. package/dist/general/types/moveErrorsInterface.d.ts +1 -1
  32. package/dist/general/types/moveErrorsInterface.d.ts.map +1 -1
  33. package/dist/general/types/suiTypes.d.ts +0 -16
  34. package/dist/general/types/suiTypes.d.ts.map +1 -1
  35. package/dist/general/types/suiTypes.js +3 -25
  36. package/dist/general/utils/caller.d.ts +6 -3
  37. package/dist/general/utils/caller.d.ts.map +1 -1
  38. package/dist/general/utils/caller.js +22 -4
  39. package/dist/general/utils/casting.d.ts +156 -5
  40. package/dist/general/utils/casting.d.ts.map +1 -1
  41. package/dist/general/utils/casting.js +159 -18
  42. package/dist/general/utils/fixedUtils.d.ts +89 -2
  43. package/dist/general/utils/fixedUtils.d.ts.map +1 -1
  44. package/dist/general/utils/fixedUtils.js +81 -4
  45. package/dist/general/utils/helpers.d.ts +327 -10
  46. package/dist/general/utils/helpers.d.ts.map +1 -1
  47. package/dist/general/utils/helpers.js +409 -91
  48. package/dist/general/utils/iFixedUtils.d.ts +64 -0
  49. package/dist/general/utils/iFixedUtils.d.ts.map +1 -1
  50. package/dist/general/utils/iFixedUtils.js +64 -0
  51. package/dist/general/wallet/wallet.d.ts +76 -1
  52. package/dist/general/wallet/wallet.d.ts.map +1 -1
  53. package/dist/general/wallet/wallet.js +75 -5
  54. package/dist/packages/auth/auth.d.ts +113 -4
  55. package/dist/packages/auth/auth.d.ts.map +1 -1
  56. package/dist/packages/auth/auth.js +190 -59
  57. package/dist/packages/auth/authTypes.d.ts +66 -0
  58. package/dist/packages/auth/authTypes.d.ts.map +1 -1
  59. package/dist/packages/coin/api/coinApi.d.ts.map +1 -1
  60. package/dist/packages/coin/api/coinApi.js +29 -20
  61. package/dist/packages/coin/coin.d.ts +256 -1
  62. package/dist/packages/coin/coin.d.ts.map +1 -1
  63. package/dist/packages/coin/coin.js +246 -15
  64. package/dist/packages/coin/coinTypes.d.ts +95 -0
  65. package/dist/packages/coin/coinTypes.d.ts.map +1 -1
  66. package/dist/packages/dca/api/dcaApi.d.ts +2 -0
  67. package/dist/packages/dca/api/dcaApi.d.ts.map +1 -1
  68. package/dist/packages/dca/api/dcaApi.js +6 -3
  69. package/dist/packages/dca/dca.d.ts +125 -35
  70. package/dist/packages/dca/dca.d.ts.map +1 -1
  71. package/dist/packages/dca/dca.js +135 -43
  72. package/dist/packages/dca/dcaTypes.d.ts +217 -42
  73. package/dist/packages/dca/dcaTypes.d.ts.map +1 -1
  74. package/dist/packages/farms/api/farmsApi.d.ts +725 -58
  75. package/dist/packages/farms/api/farmsApi.d.ts.map +1 -1
  76. package/dist/packages/farms/api/farmsApi.js +1149 -153
  77. package/dist/packages/farms/api/farmsApiCasting.d.ts +34 -18
  78. package/dist/packages/farms/api/farmsApiCasting.d.ts.map +1 -1
  79. package/dist/packages/farms/api/farmsApiCasting.js +218 -17
  80. package/dist/packages/farms/api/farmsApiCastingTypes.d.ts +117 -21
  81. package/dist/packages/farms/api/farmsApiCastingTypes.d.ts.map +1 -1
  82. package/dist/packages/farms/farms.d.ts +200 -12
  83. package/dist/packages/farms/farms.d.ts.map +1 -1
  84. package/dist/packages/farms/farms.js +204 -50
  85. package/dist/packages/farms/farmsStakedPosition.d.ts +143 -8
  86. package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -1
  87. package/dist/packages/farms/farmsStakedPosition.js +243 -137
  88. package/dist/packages/farms/farmsStakingPool.d.ts +171 -3
  89. package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -1
  90. package/dist/packages/farms/farmsStakingPool.js +233 -73
  91. package/dist/packages/farms/farmsTypes.d.ts +310 -2
  92. package/dist/packages/farms/farmsTypes.d.ts.map +1 -1
  93. package/dist/packages/farms/farmsTypes.js +47 -0
  94. package/dist/packages/faucet/api/faucetApi.d.ts +9 -17
  95. package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
  96. package/dist/packages/faucet/api/faucetApi.js +44 -49
  97. package/dist/packages/faucet/api/faucetApiCasting.d.ts.map +1 -1
  98. package/dist/packages/faucet/api/faucetApiCasting.js +8 -5
  99. package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts +1 -4
  100. package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts.map +1 -1
  101. package/dist/packages/faucet/faucet.d.ts +1 -1
  102. package/dist/packages/faucet/faucet.d.ts.map +1 -1
  103. package/dist/packages/faucet/faucet.js +1 -1
  104. package/dist/packages/faucet/faucetTypes.d.ts +2 -3
  105. package/dist/packages/faucet/faucetTypes.d.ts.map +1 -1
  106. package/dist/packages/limitOrders/api/limitOrdersApi.d.ts +12 -0
  107. package/dist/packages/limitOrders/api/limitOrdersApi.d.ts.map +1 -0
  108. package/dist/packages/limitOrders/api/limitOrdersApi.js +25 -0
  109. package/dist/packages/limitOrders/index.d.ts +2 -0
  110. package/dist/packages/limitOrders/index.d.ts.map +1 -0
  111. package/dist/packages/limitOrders/index.js +17 -0
  112. package/dist/packages/limitOrders/limitOrders.d.ts +143 -0
  113. package/dist/packages/limitOrders/limitOrders.d.ts.map +1 -0
  114. package/dist/packages/limitOrders/limitOrders.js +190 -0
  115. package/dist/packages/limitOrders/limitOrdersTypes.d.ts +211 -0
  116. package/dist/packages/limitOrders/limitOrdersTypes.d.ts.map +1 -0
  117. package/dist/packages/multisig/multisig.d.ts +34 -5
  118. package/dist/packages/multisig/multisig.d.ts.map +1 -1
  119. package/dist/packages/multisig/multisig.js +33 -4
  120. package/dist/packages/multisig/multisigTypes.d.ts +17 -0
  121. package/dist/packages/multisig/multisigTypes.d.ts.map +1 -1
  122. package/dist/packages/nftAmm/nftAmm.d.ts +1 -1
  123. package/dist/packages/nftAmm/nftAmm.d.ts.map +1 -1
  124. package/dist/packages/perpetuals/api/perpetualsApi.d.ts +38 -23
  125. package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
  126. package/dist/packages/perpetuals/api/perpetualsApi.js +740 -299
  127. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +10 -6
  128. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
  129. package/dist/packages/perpetuals/api/perpetualsApiCasting.js +112 -42
  130. package/dist/packages/perpetuals/perpetuals.d.ts +33 -4
  131. package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
  132. package/dist/packages/perpetuals/perpetuals.js +105 -18
  133. package/dist/packages/perpetuals/perpetualsAccount.d.ts +107 -33
  134. package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
  135. package/dist/packages/perpetuals/perpetualsAccount.js +569 -68
  136. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +104 -25
  137. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
  138. package/dist/packages/perpetuals/perpetualsMarket.d.ts +31 -9
  139. package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
  140. package/dist/packages/perpetuals/perpetualsMarket.js +85 -77
  141. package/dist/packages/perpetuals/perpetualsTypes.d.ts +348 -380
  142. package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
  143. package/dist/packages/perpetuals/perpetualsTypes.js +43 -113
  144. package/dist/packages/pools/api/poolsApiCasting.d.ts.map +1 -1
  145. package/dist/packages/pools/api/poolsApiCasting.js +0 -1
  146. package/dist/packages/pools/pool.d.ts +333 -106
  147. package/dist/packages/pools/pool.d.ts.map +1 -1
  148. package/dist/packages/pools/pool.js +347 -119
  149. package/dist/packages/pools/pools.d.ts +307 -39
  150. package/dist/packages/pools/pools.d.ts.map +1 -1
  151. package/dist/packages/pools/pools.js +323 -54
  152. package/dist/packages/pools/poolsTypes.d.ts +267 -2
  153. package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
  154. package/dist/packages/referralVault/referralVault.d.ts +38 -1
  155. package/dist/packages/referralVault/referralVault.d.ts.map +1 -1
  156. package/dist/packages/referralVault/referralVault.js +37 -0
  157. package/dist/packages/router/api/routerApi.d.ts +2 -2
  158. package/dist/packages/router/api/routerApi.d.ts.map +1 -1
  159. package/dist/packages/router/api/routerApi.js +19 -11
  160. package/dist/packages/router/router.d.ts +214 -18
  161. package/dist/packages/router/router.d.ts.map +1 -1
  162. package/dist/packages/router/router.js +216 -20
  163. package/dist/packages/router/routerTypes.d.ts +202 -17
  164. package/dist/packages/router/routerTypes.d.ts.map +1 -1
  165. package/dist/packages/staking/staking.d.ts +306 -45
  166. package/dist/packages/staking/staking.d.ts.map +1 -1
  167. package/dist/packages/staking/staking.js +313 -51
  168. package/dist/packages/staking/stakingTypes.d.ts +431 -6
  169. package/dist/packages/staking/stakingTypes.d.ts.map +1 -1
  170. package/dist/packages/staking/stakingTypes.js +19 -0
  171. package/dist/packages/sui/sui.d.ts +40 -1
  172. package/dist/packages/sui/sui.d.ts.map +1 -1
  173. package/dist/packages/sui/sui.js +39 -0
  174. package/dist/packages/suiFrens/stakedSuiFren.d.ts +1 -1
  175. package/dist/packages/suiFrens/stakedSuiFren.d.ts.map +1 -1
  176. package/dist/packages/suiFrens/suiFren.d.ts +1 -1
  177. package/dist/packages/suiFrens/suiFren.d.ts.map +1 -1
  178. package/dist/packages/suiFrens/suiFrens.d.ts +1 -1
  179. package/dist/packages/suiFrens/suiFrens.d.ts.map +1 -1
  180. package/dist/packages/userData/api/userDataApi.d.ts +6 -0
  181. package/dist/packages/userData/api/userDataApi.d.ts.map +1 -0
  182. package/dist/packages/userData/api/userDataApi.js +12 -0
  183. package/dist/packages/userData/index.d.ts +2 -0
  184. package/dist/packages/userData/index.d.ts.map +1 -0
  185. package/dist/packages/userData/index.js +17 -0
  186. package/dist/packages/userData/userData.d.ts +89 -0
  187. package/dist/packages/userData/userData.d.ts.map +1 -0
  188. package/dist/packages/userData/userData.js +119 -0
  189. package/dist/packages/userData/userDataTypes.d.ts +29 -0
  190. package/dist/packages/userData/userDataTypes.d.ts.map +1 -0
  191. package/dist/types.d.ts.map +1 -1
  192. package/dist/types.js +0 -1
  193. package/package.json +1 -1
  194. package/dist/general/historicalData/historicalData.d.ts +0 -15
  195. package/dist/general/historicalData/historicalData.d.ts.map +0 -1
  196. package/dist/general/historicalData/historicalData.js +0 -45
  197. package/dist/general/historicalData/historicalDataTypes.d.ts +0 -10
  198. package/dist/general/historicalData/historicalDataTypes.d.ts.map +0 -1
  199. package/dist/packages/dca/api/dcaApiCasting.d.ts +0 -11
  200. package/dist/packages/dca/api/dcaApiCasting.d.ts.map +0 -1
  201. package/dist/packages/dca/api/dcaApiCasting.js +0 -186
  202. package/dist/packages/dca/api/dcaApiCastingTypes.d.ts +0 -142
  203. package/dist/packages/dca/api/dcaApiCastingTypes.d.ts.map +0 -1
  204. package/dist/packages/oracle/api/oracleApi.d.ts +0 -13
  205. package/dist/packages/oracle/api/oracleApi.d.ts.map +0 -1
  206. package/dist/packages/oracle/api/oracleApi.js +0 -35
  207. package/dist/packages/oracle/oracle.d.ts +0 -15
  208. package/dist/packages/oracle/oracle.d.ts.map +0 -1
  209. package/dist/packages/oracle/oracle.js +0 -46
  210. package/dist/packages/oracle/oracleTypes.d.ts +0 -2
  211. package/dist/packages/oracle/oracleTypes.d.ts.map +0 -1
  212. package/dist/packages/oracle/oracleTypes.js +0 -2
  213. /package/dist/{general/historicalData/historicalDataTypes.js → packages/limitOrders/limitOrdersTypes.js} +0 -0
  214. /package/dist/packages/{dca/api/dcaApiCastingTypes.js → userData/userDataTypes.js} +0 -0
@@ -1,150 +1,575 @@
1
1
  import { CoinType } from "../..";
2
- import { ApiEventsBody, Balance, Event, Object, Percentage, Timestamp, ObjectId, SuiAddress, TransactionDigest, ExternalFee } from "../../general/types/generalTypes";
3
- export interface ValidatorConfigObject extends Object {
2
+ import { ApiEventsBody, Balance, Event, Object as SuiObject, Percentage, Timestamp, ObjectId, SuiAddress, TransactionDigest, ExternalFee } from "../../general/types/generalTypes";
3
+ /**
4
+ * Represents a validator's configuration object, including its Sui address,
5
+ * operation cap ID, and fee percentage.
6
+ */
7
+ export interface ValidatorConfigObject extends SuiObject {
8
+ /**
9
+ * The Sui address of the validator.
10
+ */
4
11
  suiAddress: SuiAddress;
12
+ /**
13
+ * The on-chain object ID referencing this validator's operation cap.
14
+ */
5
15
  operationCapId: ObjectId;
16
+ /**
17
+ * The current fee percentage for this validator (0.01 = 1%).
18
+ */
6
19
  fee: Percentage;
7
20
  }
8
- export interface ValidatorOperationCapObject extends Object {
21
+ /**
22
+ * Represents a validator's operation cap object, which authorizes changes to
23
+ * validator settings like fees.
24
+ */
25
+ export interface ValidatorOperationCapObject extends SuiObject {
26
+ /**
27
+ * The validator address authorized by this operation cap.
28
+ */
9
29
  authorizerValidatorAddress: SuiAddress;
10
30
  }
11
- export interface StakedSuiVaultStateObject extends Object {
31
+ /**
32
+ * Represents the on-chain state of the stakedSui vault, which tracks liquidity
33
+ * for atomic unstakes, total SUI amounts, rewards, and fees.
34
+ */
35
+ export interface StakedSuiVaultStateObject extends SuiObject {
36
+ /**
37
+ * The target size for atomic unstake SUI reserves.
38
+ */
12
39
  atomicUnstakeSuiReservesTargetValue: Balance;
40
+ /**
41
+ * The current size of the SUI reserves for atomic unstakes.
42
+ */
13
43
  atomicUnstakeSuiReserves: Balance;
44
+ /**
45
+ * The minimum fee for atomic unstakes, expressed as a BigInt-based percentage
46
+ * (e.g., 50000000n = 5% if using 1e9-based decimals).
47
+ */
14
48
  minAtomicUnstakeFee: bigint;
49
+ /**
50
+ * The maximum fee for atomic unstakes.
51
+ */
15
52
  maxAtomicUnstakeFee: bigint;
53
+ /**
54
+ * The total amount of SUI rewards accumulated in the vault.
55
+ */
16
56
  totalRewardsAmount: Balance;
57
+ /**
58
+ * The total amount of SUI staked in the vault.
59
+ */
17
60
  totalSuiAmount: Balance;
61
+ /**
62
+ * The current epoch number, as a BigInt.
63
+ */
18
64
  activeEpoch: bigint;
19
65
  }
66
+ /**
67
+ * Represents a dynamic field holding a stake balance. Useful for tracking
68
+ * on-chain data related to a specific stake or delegator.
69
+ */
20
70
  export interface StakeBalanceDynamicField {
71
+ /**
72
+ * The on-chain object ID of this stake balance record.
73
+ */
21
74
  objectId: ObjectId;
75
+ /**
76
+ * The amount of SUI (or afSUI) represented by this field, expressed as a bigint.
77
+ */
22
78
  value: Balance;
23
79
  }
80
+ /**
81
+ * Enumerates the possible states of a delegated stake on the Sui network.
82
+ *
83
+ * - **Active**: The stake is actively earning rewards.
84
+ * - **Pending**: The stake has been requested but not yet activated.
85
+ * - **Unstaked**: The stake has been removed or the SUI is no longer earning rewards.
86
+ */
24
87
  export type SuiDelegatedStakeState = "Active" | "Pending" | "Unstaked";
88
+ /**
89
+ * Represents a delegated stake object in the Sui network. Unlike local
90
+ * Aftermath-specific stake positions, this is a more general Sui system stake
91
+ * that can earn protocol-level rewards.
92
+ */
25
93
  export interface SuiDelegatedStake {
94
+ /**
95
+ * The current state of the delegated stake (e.g., Active, Pending, Unstaked).
96
+ */
26
97
  status: SuiDelegatedStakeState;
98
+ /**
99
+ * The on-chain ID representing this stake position.
100
+ */
27
101
  stakedSuiId: ObjectId;
102
+ /**
103
+ * The epoch in which this stake request was made.
104
+ */
28
105
  stakeRequestEpoch: bigint;
106
+ /**
107
+ * The epoch in which this stake became (or will become) active.
108
+ */
29
109
  stakeActiveEpoch: bigint;
110
+ /**
111
+ * The principal amount of SUI delegated.
112
+ */
30
113
  principal: Balance;
114
+ /**
115
+ * The estimated rewards accumulated for this stake, if available.
116
+ */
31
117
  estimatedReward?: Balance | undefined;
118
+ /**
119
+ * The validator to which this stake is delegated.
120
+ */
32
121
  validatorAddress: SuiAddress;
122
+ /**
123
+ * The staking pool on-chain object that manages this stake.
124
+ */
33
125
  stakingPool: SuiAddress;
34
126
  }
127
+ /**
128
+ * A type guard utility function to check if a position is a native Sui delegated stake
129
+ * (`SuiDelegatedStake`) rather than an Aftermath-specific `StakingPosition`.
130
+ *
131
+ * @param stake - An object that could be either a `StakingPosition` or a `SuiDelegatedStake`.
132
+ * @returns True if the object matches the shape of `SuiDelegatedStake`; otherwise, false.
133
+ */
35
134
  export declare const isSuiDelegatedStake: (stake: StakingPosition | SuiDelegatedStake) => stake is SuiDelegatedStake;
36
- export type StakeEvent = StakedEvent;
37
- export type UnstakeEvent = UnstakeRequestedEvent | UnstakedEvent;
135
+ /**
136
+ * Represents a single entry in the historical APY data, including a Unix
137
+ * timestamp and an APY value.
138
+ */
139
+ export interface StakingApyDataPoint {
140
+ /**
141
+ * The Unix timestamp (in milliseconds or seconds) of the data point.
142
+ */
143
+ timestamp: Timestamp;
144
+ /**
145
+ * The APY value recorded at that time (e.g., 0.045 = 4.5%).
146
+ */
147
+ apy: number;
148
+ }
149
+ /**
150
+ * Enumerates the timeframes available for retrieving historical APY data,
151
+ * such as `"1W"`, `"1M"`, `"1Y"`, etc.
152
+ */
153
+ export type StakingApyTimeframeKey = "1W" | "1M" | "3M" | "6M" | "1Y" | "ALL";
154
+ /**
155
+ * Represents an event when SUI has been staked, either newly or restaked.
156
+ */
38
157
  export interface StakedEvent extends Event {
158
+ /**
159
+ * The on-chain object ID referencing the newly created staked SUI object.
160
+ */
39
161
  stakedSuiId: ObjectId;
162
+ /**
163
+ * The original SUI coin ID used for staking.
164
+ */
40
165
  suiId: ObjectId;
166
+ /**
167
+ * The address of the user who performed the staking.
168
+ */
41
169
  staker: SuiAddress;
170
+ /**
171
+ * The validator address to which the user staked.
172
+ */
42
173
  validatorAddress: SuiAddress;
174
+ /**
175
+ * The epoch in which staking took place.
176
+ */
43
177
  epoch: bigint;
178
+ /**
179
+ * The amount of SUI staked.
180
+ */
44
181
  suiStakeAmount: Balance;
182
+ /**
183
+ * The validator fee percentage for this stake (0.01 = 1%).
184
+ */
45
185
  validatorFee: number;
186
+ /**
187
+ * Indicates whether this stake is a restake of an already staked position.
188
+ */
46
189
  isRestaked: boolean;
190
+ /**
191
+ * The on-chain ID of the afSUI object received in exchange for staking.
192
+ */
47
193
  afSuiId: ObjectId;
194
+ /**
195
+ * The amount of afSUI received.
196
+ */
48
197
  afSuiAmount: Balance;
198
+ /**
199
+ * (Optional) Referrer address for the stake.
200
+ */
49
201
  referrer?: SuiAddress;
50
202
  }
203
+ /**
204
+ * Represents an event when a user initiates an unstake request, converting
205
+ * afSUI back into SUI.
206
+ */
51
207
  export interface UnstakeRequestedEvent extends Event {
208
+ /**
209
+ * The afSUI ID being provided to unstake.
210
+ */
52
211
  afSuiId: ObjectId;
212
+ /**
213
+ * The amount of afSUI provided by the user.
214
+ */
53
215
  providedAfSuiAmount: Balance;
216
+ /**
217
+ * The address requesting the unstake.
218
+ */
54
219
  requester: SuiAddress;
220
+ /**
221
+ * The epoch in which the unstake was requested.
222
+ */
55
223
  epoch: bigint;
56
224
  }
225
+ /**
226
+ * Represents an event after an unstake has fully processed and SUI has
227
+ * been returned to the user.
228
+ */
57
229
  export interface UnstakedEvent extends Event {
230
+ /**
231
+ * The afSUI ID that was burned or converted during the unstake.
232
+ */
58
233
  afSuiId: ObjectId;
234
+ /**
235
+ * The amount of afSUI provided.
236
+ */
59
237
  providedAfSuiAmount: Balance;
238
+ /**
239
+ * The resulting SUI coin ID received by the user.
240
+ */
60
241
  suiId: ObjectId;
242
+ /**
243
+ * The amount of SUI returned.
244
+ */
61
245
  returnedSuiAmount: Balance;
246
+ /**
247
+ * The address that initiated the unstake.
248
+ */
62
249
  requester: SuiAddress;
250
+ /**
251
+ * The epoch in which the unstake finalized.
252
+ */
63
253
  epoch: bigint;
64
254
  }
255
+ /**
256
+ * Represents a union type covering all possible unstake events, either
257
+ * requested or finalized.
258
+ */
259
+ export type UnstakeEvent = UnstakeRequestedEvent | UnstakedEvent;
260
+ /**
261
+ * Type guard to check if an event is a `StakedEvent`.
262
+ */
65
263
  export declare const isStakeEvent: (event: StakeEvent | UnstakeEvent) => event is StakedEvent;
264
+ /**
265
+ * Type guard to check if an event is an `UnstakeEvent`.
266
+ */
66
267
  export declare const isUnstakeEvent: (event: StakeEvent | UnstakeEvent) => event is UnstakeEvent;
268
+ /**
269
+ * Represents an event that indicates the epoch has changed, generally used
270
+ * for distributing rewards and updating positions.
271
+ */
67
272
  export interface EpochWasChangedEvent extends Event {
273
+ /**
274
+ * The new active epoch as a BigInt.
275
+ */
68
276
  activeEpoch: bigint;
277
+ /**
278
+ * The total amount of afSUI in circulation.
279
+ */
69
280
  totalAfSuiSupply: Balance;
281
+ /**
282
+ * The total amount of SUI rewards accrued in the system.
283
+ */
70
284
  totalSuiRewardsAmount: Balance;
285
+ /**
286
+ * The total amount of SUI staked in the system.
287
+ */
71
288
  totalSuiAmount: Balance;
72
289
  }
290
+ /**
291
+ * Union type for stake events, which can represent any variant of staking.
292
+ */
293
+ export type StakeEvent = StakedEvent;
294
+ /**
295
+ * Represents a user's staking position, which could be either a `StakePosition`
296
+ * or an `UnstakePosition`.
297
+ */
73
298
  export type StakingPosition = StakePosition | UnstakePosition;
299
+ /**
300
+ * Indicates a stake position, typically representing active or restaked SUI,
301
+ * along with its associated `afSuiAmount`.
302
+ */
74
303
  export interface StakePosition {
304
+ /**
305
+ * The staked SUI object ID referencing this position.
306
+ */
75
307
  stakedSuiId: ObjectId;
308
+ /**
309
+ * The original SUI coin ID.
310
+ */
76
311
  suiId: ObjectId;
312
+ /**
313
+ * The address of the staker.
314
+ */
77
315
  staker: SuiAddress;
316
+ /**
317
+ * The address of the validator to which SUI was staked.
318
+ */
78
319
  validatorAddress: SuiAddress;
320
+ /**
321
+ * The epoch in which the stake was established.
322
+ */
79
323
  epoch: bigint;
324
+ /**
325
+ * The amount of SUI staked.
326
+ */
80
327
  suiStakeAmount: Balance;
328
+ /**
329
+ * The validator fee percentage (0.01 = 1%).
330
+ */
81
331
  validatorFee: number;
332
+ /**
333
+ * Indicates if this stake is a restake operation.
334
+ */
82
335
  isRestaked: boolean;
336
+ /**
337
+ * The afSUI object ID generated from staking.
338
+ */
83
339
  afSuiId: ObjectId;
340
+ /**
341
+ * The amount of afSUI issued to the user.
342
+ */
84
343
  afSuiAmount: Balance;
344
+ /**
345
+ * The timestamp when the stake was recorded.
346
+ */
85
347
  timestamp: Timestamp | undefined;
348
+ /**
349
+ * The transaction digest where the stake operation occurred.
350
+ */
86
351
  txnDigest: TransactionDigest;
87
352
  }
353
+ /**
354
+ * Indicates a position related to an unstake operation, either requested or
355
+ * finalized, with optional references to the returned SUI coin and amount.
356
+ */
88
357
  export interface UnstakePosition {
358
+ /**
359
+ * The state of the unstake operation: `REQUEST` (in progress) or
360
+ * `SUI_MINTED` (finalized).
361
+ */
89
362
  state: UnstakePositionState;
363
+ /**
364
+ * The afSUI object ID being burned or converted.
365
+ */
90
366
  afSuiId: ObjectId;
367
+ /**
368
+ * The amount of afSUI used to initiate the unstake.
369
+ */
91
370
  providedAfSuiAmount: Balance;
371
+ /**
372
+ * The address of the requester.
373
+ */
92
374
  requester: SuiAddress;
375
+ /**
376
+ * The epoch in which the unstake was requested or finalized.
377
+ */
93
378
  epoch: bigint;
379
+ /**
380
+ * The SUI object ID returned to the user, if unstake has finalized.
381
+ */
94
382
  suiId?: ObjectId;
383
+ /**
384
+ * The amount of SUI returned to the user, if unstake has finalized.
385
+ */
95
386
  returnedSuiAmount?: Balance;
387
+ /**
388
+ * The timestamp when the unstake request was recorded or completed.
389
+ */
96
390
  timestamp: Timestamp | undefined;
391
+ /**
392
+ * The transaction digest where the unstake operation occurred.
393
+ */
97
394
  txnDigest: TransactionDigest;
98
395
  }
396
+ /**
397
+ * Enumerates the possible states of an unstake operation.
398
+ */
99
399
  export type UnstakePositionState = "REQUEST" | "SUI_MINTED";
400
+ /**
401
+ * Type guard that checks whether a given `StakingPosition` is a stake position.
402
+ */
100
403
  export declare const isStakePosition: (position: StakingPosition) => position is StakePosition;
404
+ /**
405
+ * Type guard that checks whether a given `StakingPosition` is an unstake position.
406
+ */
101
407
  export declare const isUnstakePosition: (position: StakingPosition) => position is UnstakePosition;
408
+ /**
409
+ * Body payload for staking SUI.
410
+ */
102
411
  export interface ApiStakeBody {
412
+ /**
413
+ * The address performing the stake.
414
+ */
103
415
  walletAddress: SuiAddress;
416
+ /**
417
+ * The amount of SUI to be staked.
418
+ */
104
419
  suiStakeAmount: Balance;
420
+ /**
421
+ * The validator address to stake with.
422
+ */
105
423
  validatorAddress: SuiAddress;
424
+ /**
425
+ * Optional address indicating a referrer.
426
+ */
106
427
  referrer?: SuiAddress;
428
+ /**
429
+ * Optional external fee object. Must not exceed `maxExternalFeePercentage`.
430
+ */
107
431
  externalFee?: ExternalFee;
432
+ /**
433
+ * Indicates whether the transaction should be sponsored.
434
+ */
108
435
  isSponsoredTx?: boolean;
109
436
  }
437
+ /**
438
+ * Body payload for unstaking SUI (afSUI -> SUI).
439
+ */
110
440
  export interface ApiUnstakeBody {
441
+ /**
442
+ * The address performing the unstake.
443
+ */
111
444
  walletAddress: SuiAddress;
445
+ /**
446
+ * The amount of afSUI to be unstaked.
447
+ */
112
448
  afSuiUnstakeAmount: Balance;
449
+ /**
450
+ * If true, the unstake is done atomically if possible, using liquidity reserves.
451
+ */
113
452
  isAtomic: boolean;
453
+ /**
454
+ * Optional address indicating a referrer.
455
+ */
114
456
  referrer?: SuiAddress;
457
+ /**
458
+ * Optional external fee object. Must not exceed `maxExternalFeePercentage`.
459
+ */
115
460
  externalFee?: ExternalFee;
461
+ /**
462
+ * Indicates whether the transaction should be sponsored.
463
+ */
116
464
  isSponsoredTx?: boolean;
117
465
  }
466
+ /**
467
+ * Body payload for staking stakedSUI objects (re-staking).
468
+ */
118
469
  export interface ApiStakeStakedSuiBody {
470
+ /**
471
+ * The address performing the re-stake.
472
+ */
119
473
  walletAddress: SuiAddress;
474
+ /**
475
+ * An array of stakedSui object IDs to re-stake.
476
+ */
120
477
  stakedSuiIds: ObjectId[];
478
+ /**
479
+ * The validator address to stake with.
480
+ */
121
481
  validatorAddress: SuiAddress;
482
+ /**
483
+ * Optional address indicating a referrer.
484
+ */
122
485
  referrer?: SuiAddress;
486
+ /**
487
+ * Indicates whether the transaction should be sponsored.
488
+ */
123
489
  isSponsoredTx?: boolean;
124
490
  }
491
+ /**
492
+ * Body payload for updating a validator's fee settings.
493
+ */
125
494
  export interface ApiUpdateValidatorFeeBody {
495
+ /**
496
+ * The address submitting the update transaction.
497
+ */
126
498
  walletAddress: SuiAddress;
499
+ /**
500
+ * The operation cap object ID that authorizes changes to this validator.
501
+ */
127
502
  validatorOperationCapId: ObjectId;
503
+ /**
504
+ * The new fee percentage to be set (0.01 = 1%).
505
+ */
128
506
  newFeePercentage: Percentage;
507
+ /**
508
+ * Indicates whether the transaction should be sponsored.
509
+ */
129
510
  isSponsoredTx?: boolean;
130
511
  }
512
+ /**
513
+ * Body payload for retrieving staking positions, including pagination.
514
+ */
131
515
  export interface ApiStakingPositionsBody {
516
+ /**
517
+ * The address whose staking positions are being queried.
518
+ */
132
519
  walletAddress: SuiAddress;
520
+ /**
521
+ * Optional cursor for pagination.
522
+ */
133
523
  cursor?: number;
524
+ /**
525
+ * Optional limit on the number of positions returned.
526
+ */
134
527
  limit?: number;
135
528
  }
529
+ /**
530
+ * Body payload for retrieving delegated stakes, given a wallet address.
531
+ */
136
532
  export interface ApiDelegatedStakesBody {
533
+ /**
534
+ * The address whose delegated stakes are being queried.
535
+ */
137
536
  walletAddress: SuiAddress;
138
537
  }
538
+ /**
539
+ * Body payload for retrieving validator operation caps, given a wallet address.
540
+ */
139
541
  export interface ApiValidatorOperationCapsBody {
542
+ /**
543
+ * The address whose validator operation caps are being queried.
544
+ */
140
545
  walletAddress: SuiAddress;
141
546
  }
547
+ /**
548
+ * Body payload for retrieving staking-related events, including pagination.
549
+ */
142
550
  export type ApiStakingEventsBody = ApiEventsBody & {
551
+ /**
552
+ * The address whose events are being queried.
553
+ */
143
554
  walletAddress: SuiAddress;
144
555
  };
556
+ /**
557
+ * Extends the `StakedSuiVaultStateObject` with additional fields relevant
558
+ * to the router pool. This includes the coin type for afSUI, the configured
559
+ * validator address, and the current exchange rate.
560
+ */
145
561
  export type AfSuiRouterPoolObject = StakedSuiVaultStateObject & {
562
+ /**
563
+ * The coin type string for afSUI (e.g., "0x<package>::afSUI::AFSUI").
564
+ */
146
565
  afSuiCoinType: CoinType;
566
+ /**
567
+ * The official Aftermath validator address.
568
+ */
147
569
  aftermathValidatorAddress: SuiAddress;
570
+ /**
571
+ * The current exchange rate from afSUI to SUI.
572
+ */
148
573
  afSuiToSuiExchangeRate: number;
149
574
  };
150
575
  //# sourceMappingURL=stakingTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stakingTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/staking/stakingTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stakingTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/staking/stakingTypes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isUnstakePosition = exports.isStakePosition = exports.isUnstakeEvent = exports.isStakeEvent = exports.isSuiDelegatedStake = void 0;
4
+ /**
5
+ * A type guard utility function to check if a position is a native Sui delegated stake
6
+ * (`SuiDelegatedStake`) rather than an Aftermath-specific `StakingPosition`.
7
+ *
8
+ * @param stake - An object that could be either a `StakingPosition` or a `SuiDelegatedStake`.
9
+ * @returns True if the object matches the shape of `SuiDelegatedStake`; otherwise, false.
10
+ */
4
11
  const isSuiDelegatedStake = (stake) => {
5
12
  return ("stakeRequestEpoch" in stake &&
6
13
  "stakeActiveEpoch" in stake &&
@@ -8,18 +15,30 @@ const isSuiDelegatedStake = (stake) => {
8
15
  "stakingPool" in stake);
9
16
  };
10
17
  exports.isSuiDelegatedStake = isSuiDelegatedStake;
18
+ /**
19
+ * Type guard to check if an event is a `StakedEvent`.
20
+ */
11
21
  const isStakeEvent = (event) => {
12
22
  return "staker" in event;
13
23
  };
14
24
  exports.isStakeEvent = isStakeEvent;
25
+ /**
26
+ * Type guard to check if an event is an `UnstakeEvent`.
27
+ */
15
28
  const isUnstakeEvent = (event) => {
16
29
  return !(0, exports.isStakeEvent)(event);
17
30
  };
18
31
  exports.isUnstakeEvent = isUnstakeEvent;
32
+ /**
33
+ * Type guard that checks whether a given `StakingPosition` is a stake position.
34
+ */
19
35
  const isStakePosition = (position) => {
20
36
  return "stakedSuiId" in position;
21
37
  };
22
38
  exports.isStakePosition = isStakePosition;
39
+ /**
40
+ * Type guard that checks whether a given `StakingPosition` is an unstake position.
41
+ */
23
42
  const isUnstakePosition = (position) => {
24
43
  return !(0, exports.isStakePosition)(position);
25
44
  };