@suzaku-network/suzaku-cli 1.0.2

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 (194) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +1080 -0
  3. package/bin/cli.js +3 -0
  4. package/defaults/.env.anvil +4 -0
  5. package/defaults/.env.dexalot +7 -0
  6. package/defaults/.env.fuji +4 -0
  7. package/defaults/.env.kiteai +2 -0
  8. package/defaults/.env.mainnet +4 -0
  9. package/defaults/.env.template +10 -0
  10. package/dist/abis/AccessControl.d.ts +176 -0
  11. package/dist/abis/AccessControl.js +230 -0
  12. package/dist/abis/AccessControl.js.map +1 -0
  13. package/dist/abis/BalancerValidatorManager.d.ts +1121 -0
  14. package/dist/abis/BalancerValidatorManager.js +1469 -0
  15. package/dist/abis/BalancerValidatorManager.js.map +1 -0
  16. package/dist/abis/DefaultCollateral.d.ts +620 -0
  17. package/dist/abis/DefaultCollateral.js +811 -0
  18. package/dist/abis/DefaultCollateral.js.map +1 -0
  19. package/dist/abis/ERC20.d.ts +635 -0
  20. package/dist/abis/ERC20.js +831 -0
  21. package/dist/abis/ERC20.js.map +1 -0
  22. package/dist/abis/IWarpMessenger.d.ts +104 -0
  23. package/dist/abis/IWarpMessenger.js +139 -0
  24. package/dist/abis/IWarpMessenger.js.map +1 -0
  25. package/dist/abis/KiteStakingManager.d.ts +1459 -0
  26. package/dist/abis/KiteStakingManager.js +1886 -0
  27. package/dist/abis/KiteStakingManager.js.map +1 -0
  28. package/dist/abis/L1Middleware.d.ts +1712 -0
  29. package/dist/abis/L1Middleware.js +2242 -0
  30. package/dist/abis/L1Middleware.js.map +1 -0
  31. package/dist/abis/L1Registry.d.ts +415 -0
  32. package/dist/abis/L1Registry.js +544 -0
  33. package/dist/abis/L1Registry.js.map +1 -0
  34. package/dist/abis/L1RestakeDelegator.d.ts +865 -0
  35. package/dist/abis/L1RestakeDelegator.js +1118 -0
  36. package/dist/abis/L1RestakeDelegator.js.map +1 -0
  37. package/dist/abis/OperatorL1OptInService.d.ts +288 -0
  38. package/dist/abis/OperatorL1OptInService.js +374 -0
  39. package/dist/abis/OperatorL1OptInService.js.map +1 -0
  40. package/dist/abis/OperatorRegistry.d.ts +125 -0
  41. package/dist/abis/OperatorRegistry.js +166 -0
  42. package/dist/abis/OperatorRegistry.js.map +1 -0
  43. package/dist/abis/OperatorVaultOptInService.d.ts +288 -0
  44. package/dist/abis/OperatorVaultOptInService.js +374 -0
  45. package/dist/abis/OperatorVaultOptInService.js.map +1 -0
  46. package/dist/abis/Ownable.d.ts +59 -0
  47. package/dist/abis/Ownable.js +79 -0
  48. package/dist/abis/Ownable.js.map +1 -0
  49. package/dist/abis/PoASecurityModule.d.ts +225 -0
  50. package/dist/abis/PoASecurityModule.js +299 -0
  51. package/dist/abis/PoASecurityModule.js.map +1 -0
  52. package/dist/abis/RewardsNativeToken.d.ts +1334 -0
  53. package/dist/abis/RewardsNativeToken.js +1749 -0
  54. package/dist/abis/RewardsNativeToken.js.map +1 -0
  55. package/dist/abis/StakingVault.d.ts +2913 -0
  56. package/dist/abis/StakingVault.js +3780 -0
  57. package/dist/abis/StakingVault.js.map +1 -0
  58. package/dist/abis/StakingVaultOperations.d.ts +980 -0
  59. package/dist/abis/StakingVaultOperations.js +1270 -0
  60. package/dist/abis/StakingVaultOperations.js.map +1 -0
  61. package/dist/abis/UptimeTracker.d.ts +300 -0
  62. package/dist/abis/UptimeTracker.js +397 -0
  63. package/dist/abis/UptimeTracker.js.map +1 -0
  64. package/dist/abis/ValidatorManager.d.ts +842 -0
  65. package/dist/abis/ValidatorManager.js +1101 -0
  66. package/dist/abis/ValidatorManager.js.map +1 -0
  67. package/dist/abis/VaultFactory.d.ts +288 -0
  68. package/dist/abis/VaultFactory.js +378 -0
  69. package/dist/abis/VaultFactory.js.map +1 -0
  70. package/dist/abis/VaultManager.d.ts +519 -0
  71. package/dist/abis/VaultManager.js +678 -0
  72. package/dist/abis/VaultManager.js.map +1 -0
  73. package/dist/abis/VaultTokenized.d.ts +1626 -0
  74. package/dist/abis/VaultTokenized.js +2114 -0
  75. package/dist/abis/VaultTokenized.js.map +1 -0
  76. package/dist/abis/abi-selectors.json +700 -0
  77. package/dist/abis/index.d.ts +18356 -0
  78. package/dist/abis/index.js +58 -0
  79. package/dist/abis/index.js.map +1 -0
  80. package/dist/accessControl.d.ts +15 -0
  81. package/dist/accessControl.js +36 -0
  82. package/dist/accessControl.js.map +1 -0
  83. package/dist/balancer.d.ts +25 -0
  84. package/dist/balancer.js +42 -0
  85. package/dist/balancer.js.map +1 -0
  86. package/dist/cli.d.mts +1 -0
  87. package/dist/cli.d.ts +2 -0
  88. package/dist/cli.js +3183 -0
  89. package/dist/cli.js.map +1 -0
  90. package/dist/cli.mjs +31343 -0
  91. package/dist/cli.mjs.map +1 -0
  92. package/dist/client.d.ts +34 -0
  93. package/dist/client.js +76 -0
  94. package/dist/client.js.map +1 -0
  95. package/dist/config.d.ts +10 -0
  96. package/dist/config.js +63 -0
  97. package/dist/config.js.map +1 -0
  98. package/dist/delegator.d.ts +4 -0
  99. package/dist/delegator.js +16 -0
  100. package/dist/delegator.js.map +1 -0
  101. package/dist/index.d.mts +19770 -0
  102. package/dist/index.d.ts +7 -0
  103. package/dist/index.js +24 -0
  104. package/dist/index.js.map +1 -0
  105. package/dist/index.mjs +27451 -0
  106. package/dist/index.mjs.map +1 -0
  107. package/dist/keyStore.d.ts +3 -0
  108. package/dist/keyStore.js +105 -0
  109. package/dist/keyStore.js.map +1 -0
  110. package/dist/kiteStaking.d.ts +91 -0
  111. package/dist/kiteStaking.js +731 -0
  112. package/dist/kiteStaking.js.map +1 -0
  113. package/dist/l1.d.ts +5 -0
  114. package/dist/l1.js +22 -0
  115. package/dist/l1.js.map +1 -0
  116. package/dist/lib/autoCompletion.d.ts +3 -0
  117. package/dist/lib/autoCompletion.js +55 -0
  118. package/dist/lib/autoCompletion.js.map +1 -0
  119. package/dist/lib/cChainUtils.d.ts +42 -0
  120. package/dist/lib/cChainUtils.js +271 -0
  121. package/dist/lib/cChainUtils.js.map +1 -0
  122. package/dist/lib/castUtils.d.ts +18 -0
  123. package/dist/lib/castUtils.js +81 -0
  124. package/dist/lib/castUtils.js.map +1 -0
  125. package/dist/lib/chainList.d.ts +5 -0
  126. package/dist/lib/chainList.js +86 -0
  127. package/dist/lib/chainList.js.map +1 -0
  128. package/dist/lib/cliParser.d.ts +27 -0
  129. package/dist/lib/cliParser.js +167 -0
  130. package/dist/lib/cliParser.js.map +1 -0
  131. package/dist/lib/commandUtils.d.ts +13 -0
  132. package/dist/lib/commandUtils.js +38 -0
  133. package/dist/lib/commandUtils.js.map +1 -0
  134. package/dist/lib/coreWalletUtils.d.ts +3 -0
  135. package/dist/lib/coreWalletUtils.js +74 -0
  136. package/dist/lib/coreWalletUtils.js.map +1 -0
  137. package/dist/lib/justification.d.ts +90 -0
  138. package/dist/lib/justification.js +577 -0
  139. package/dist/lib/justification.js.map +1 -0
  140. package/dist/lib/ledgerUtils.d.ts +4 -0
  141. package/dist/lib/ledgerUtils.js +258 -0
  142. package/dist/lib/ledgerUtils.js.map +1 -0
  143. package/dist/lib/logger.d.ts +46 -0
  144. package/dist/lib/logger.js +226 -0
  145. package/dist/lib/logger.js.map +1 -0
  146. package/dist/lib/pChainUtils.d.ts +128 -0
  147. package/dist/lib/pChainUtils.js +436 -0
  148. package/dist/lib/pChainUtils.js.map +1 -0
  149. package/dist/lib/pass.d.ts +81 -0
  150. package/dist/lib/pass.js +353 -0
  151. package/dist/lib/pass.js.map +1 -0
  152. package/dist/lib/safeUtils.d.ts +25 -0
  153. package/dist/lib/safeUtils.js +93 -0
  154. package/dist/lib/safeUtils.js.map +1 -0
  155. package/dist/lib/transferUtils.d.ts +643 -0
  156. package/dist/lib/transferUtils.js +141 -0
  157. package/dist/lib/transferUtils.js.map +1 -0
  158. package/dist/lib/utils.d.ts +28 -0
  159. package/dist/lib/utils.js +166 -0
  160. package/dist/lib/utils.js.map +1 -0
  161. package/dist/lib/viemUtils.d.ts +80 -0
  162. package/dist/lib/viemUtils.js +317 -0
  163. package/dist/lib/viemUtils.js.map +1 -0
  164. package/dist/lib/warpUtils.d.ts +76 -0
  165. package/dist/lib/warpUtils.js +448 -0
  166. package/dist/lib/warpUtils.js.map +1 -0
  167. package/dist/middleware.d.ts +75 -0
  168. package/dist/middleware.js +430 -0
  169. package/dist/middleware.js.map +1 -0
  170. package/dist/operator.d.ts +4 -0
  171. package/dist/operator.js +22 -0
  172. package/dist/operator.js.map +1 -0
  173. package/dist/operatorOptIn.d.ts +8 -0
  174. package/dist/operatorOptIn.js +39 -0
  175. package/dist/operatorOptIn.js.map +1 -0
  176. package/dist/rewards.d.ts +116 -0
  177. package/dist/rewards.js +244 -0
  178. package/dist/rewards.js.map +1 -0
  179. package/dist/securityModule.d.ts +8 -0
  180. package/dist/securityModule.js +305 -0
  181. package/dist/securityModule.js.map +1 -0
  182. package/dist/stakingVault.d.ts +184 -0
  183. package/dist/stakingVault.js +1224 -0
  184. package/dist/stakingVault.js.map +1 -0
  185. package/dist/uptime.d.ts +54 -0
  186. package/dist/uptime.js +246 -0
  187. package/dist/uptime.js.map +1 -0
  188. package/dist/vault.d.ts +16 -0
  189. package/dist/vault.js +131 -0
  190. package/dist/vault.js.map +1 -0
  191. package/dist/vaultManager.d.ts +8 -0
  192. package/dist/vaultManager.js +40 -0
  193. package/dist/vaultManager.js.map +1 -0
  194. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakingVault.js","sourceRoot":"","sources":["../src/stakingVault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { Hex } from 'viem';
2
+ import { SafeSuzakuContract, SuzakuContract } from './lib/viemUtils';
3
+ import { ExtendedClient } from "./client";
4
+ export declare function getCurrentValidatorsFromNode(rpcUrl: string): Promise<{
5
+ validationID: string;
6
+ nodeID: string;
7
+ weight: number;
8
+ startTimestamp: number;
9
+ isActive: boolean;
10
+ isL1Validator: boolean;
11
+ isConnected: boolean;
12
+ uptimePercentage: number;
13
+ uptimeSeconds: number;
14
+ }[]>;
15
+ export declare function getValidationUptimeMessage(client: ExtendedClient, rpcUrl: string, nodeId: string, networkID: number, sourceChainID: string): Promise<`0x${string}`>;
16
+ export declare function computeValidatorUptime(uptimeTracker: SafeSuzakuContract['UptimeTracker'], signedUptimeHex: Hex): Promise<`0x${string}`>;
17
+ export declare function reportAndSubmitValidatorUptime(client: ExtendedClient, rpcUrl: string, nodeId: string, sourceChainID: string, // The chain ID for which uptime is being reported
18
+ uptimeTracker: SafeSuzakuContract['UptimeTracker']): Promise<`0x${string}`>;
19
+ /**
20
+ * Compute uptime for an operator at a specific epoch
21
+ */
22
+ export declare function computeOperatorUptimeAtEpoch(uptimeTracker: SafeSuzakuContract['UptimeTracker'], operator: Hex, epoch: number): Promise<`0x${string}`>;
23
+ /**
24
+ * Compute uptime for an operator across multiple epochs
25
+ */
26
+ export declare function computeOperatorUptimeForEpochs(uptimeTracker: SafeSuzakuContract['UptimeTracker'], operator: Hex, startEpoch: number, endEpoch: number, initialNonce?: number): Promise<void>;
27
+ /**
28
+ * Get validator uptime for a specific epoch
29
+ */
30
+ export declare function getValidatorUptimeForEpoch(uptimeTracker: SuzakuContract['UptimeTracker'], validationID: Hex, epoch: number): Promise<bigint>;
31
+ /**
32
+ * Check if validator uptime is set for a specific epoch
33
+ */
34
+ export declare function isValidatorUptimeSetForEpoch(uptimeTracker: SuzakuContract['UptimeTracker'], validationID: Hex, epoch: number): Promise<boolean>;
35
+ /**
36
+ * Get operator uptime for a specific epoch
37
+ */
38
+ export declare function getOperatorUptimeForEpoch(uptimeTracker: SuzakuContract['UptimeTracker'], operator: Hex, epoch: number): Promise<bigint>;
39
+ /**
40
+ * Check if operator uptime is set for a specific epoch
41
+ */
42
+ export declare function isOperatorUptimeSetForEpoch(uptimeTracker: SuzakuContract['UptimeTracker'], operator: Hex, epoch: number): Promise<boolean>;
43
+ /**
44
+ * Get last uptime checkpoint for a validator
45
+ */
46
+ export declare function getLastUptimeCheckpoint(uptimeTracker: SuzakuContract['UptimeTracker'], validationID: Hex): Promise<{
47
+ remainingUptime: bigint;
48
+ attributedUptime: bigint;
49
+ timestamp: bigint;
50
+ }>;
51
+ /**
52
+ * Check if all alive validators from all operators have reported its uptime for the epoch and then check if all operators have reported their uptime for each epoch in the last 50 epochs (or since genesis if less than 50 epochs have passed). If not, report the uptime for the operators that haven't reported yet.
53
+ */
54
+ export declare function uptimeSync(client: ExtendedClient, uptimeTracker: SafeSuzakuContract['UptimeTracker'], middleware: SafeSuzakuContract['L1Middleware'], rpcUrl: string, sourceChainID: string): Promise<void>;
package/dist/uptime.js ADDED
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentValidatorsFromNode = getCurrentValidatorsFromNode;
4
+ exports.getValidationUptimeMessage = getValidationUptimeMessage;
5
+ exports.computeValidatorUptime = computeValidatorUptime;
6
+ exports.reportAndSubmitValidatorUptime = reportAndSubmitValidatorUptime;
7
+ exports.computeOperatorUptimeAtEpoch = computeOperatorUptimeAtEpoch;
8
+ exports.computeOperatorUptimeForEpochs = computeOperatorUptimeForEpochs;
9
+ exports.getValidatorUptimeForEpoch = getValidatorUptimeForEpoch;
10
+ exports.isValidatorUptimeSetForEpoch = isValidatorUptimeSetForEpoch;
11
+ exports.getOperatorUptimeForEpoch = getOperatorUptimeForEpoch;
12
+ exports.isOperatorUptimeSetForEpoch = isOperatorUptimeSetForEpoch;
13
+ exports.getLastUptimeCheckpoint = getLastUptimeCheckpoint;
14
+ exports.uptimeSync = uptimeSync;
15
+ const warpUtils_1 = require("./lib/warpUtils");
16
+ const utils_1 = require("@noble/hashes/utils");
17
+ const viem_1 = require("viem");
18
+ const logger_1 = require("./lib/logger");
19
+ const pChainUtils_1 = require("./lib/pChainUtils");
20
+ const utils_2 = require("./lib/utils");
21
+ async function getCurrentValidatorsFromNode(rpcUrl) {
22
+ const headers = {
23
+ "Content-Type": "application/json",
24
+ };
25
+ if (process.env.RPC_BYPASS_TOKEN) {
26
+ logger_1.logger.log("Using RPC bypass token");
27
+ headers["x-rpc-bypass-token"] = process.env.RPC_BYPASS_TOKEN;
28
+ }
29
+ const response = await fetch(rpcUrl + "/validators", {
30
+ method: "POST",
31
+ headers,
32
+ body: JSON.stringify({
33
+ jsonrpc: "2.0",
34
+ method: "validators.getCurrentValidators",
35
+ params: {
36
+ nodeIDs: [],
37
+ },
38
+ id: 1,
39
+ }),
40
+ });
41
+ const data = await response.json();
42
+ if (data.error)
43
+ logger_1.logger.exitError(["Error from validators.getCurrentValidators:", data.error]);
44
+ return data.result.validators;
45
+ }
46
+ async function getValidationUptimeMessage(client, rpcUrl, nodeId, networkID, sourceChainID) {
47
+ // Perform a POST request to rpcUrl/validators, payload is {jsonrpc: "2.0", method: "validators.getCurrentValidators", params: { nodeIDs: [...] }, id: 1}
48
+ const validators = await getCurrentValidatorsFromNode(rpcUrl);
49
+ const validator = validators.find(v => v.nodeID === nodeId);
50
+ if (!validator)
51
+ throw new Error("Validator not found for nodeID: " + nodeId);
52
+ const validationID = validator.validationID;
53
+ const uptimeSeconds = validator.uptimeSeconds;
54
+ logger_1.logger.log(`Validator ${nodeId} has validationID ${validationID} and uptimeSeconds ${uptimeSeconds} on network ${networkID} for source chain ${sourceChainID}`);
55
+ const unsignedValidationUptimeMessage = (0, warpUtils_1.packValidationUptimeMessage)(validationID, uptimeSeconds, networkID, sourceChainID);
56
+ const unsignedValidationUptimeMessageHex = (0, utils_1.bytesToHex)(unsignedValidationUptimeMessage);
57
+ logger_1.logger.log("Unsigned Validation Uptime Message: ", unsignedValidationUptimeMessageHex);
58
+ const signingSubnetId = await (0, pChainUtils_1.validatedBy)(client, sourceChainID);
59
+ const signedValidationUptimeMessage = await (0, warpUtils_1.collectSignatures)({ network: client.network, message: unsignedValidationUptimeMessageHex, signingSubnetId });
60
+ logger_1.logger.log("Signed Validation Uptime Message: ", signedValidationUptimeMessage);
61
+ return signedValidationUptimeMessage;
62
+ }
63
+ async function computeValidatorUptime(uptimeTracker, signedUptimeHex) {
64
+ // 2) Convert aggregator signature => bytes => accessList
65
+ const warpBytes = (0, viem_1.hexToBytes)(signedUptimeHex);
66
+ const accessList = (0, warpUtils_1.packWarpIntoAccessList)(warpBytes);
67
+ const txHash = await uptimeTracker.write.computeValidatorUptime([0], { accessList, chain: null });
68
+ logger_1.logger.log("computeValidatorUptime done, tx hash:", txHash);
69
+ return txHash;
70
+ }
71
+ // New orchestrator function
72
+ async function reportAndSubmitValidatorUptime(
73
+ // Parameters for getting the uptime message
74
+ client, rpcUrl, nodeId, sourceChainID, // The chain ID for which uptime is being reported
75
+ // Parameters for submitting to the contract
76
+ uptimeTracker) {
77
+ logger_1.logger.log(`Starting validator uptime report for NodeID: ${nodeId} on source chain ${sourceChainID} via RPC ${rpcUrl}`);
78
+ logger_1.logger.log(`Target UptimeTracker: ${uptimeTracker.address}`);
79
+ const warpNetworkID = client.network === 'mainnet' ? 1 : 5; // Mainnet or Fuji
80
+ // Step 1: Get the signed validation uptime message
81
+ let signedUptimeHex = await getValidationUptimeMessage(client, rpcUrl, nodeId, warpNetworkID, sourceChainID);
82
+ logger_1.logger.log(`Raw Signed Uptime Message from getValidationUptimeMessage: ${signedUptimeHex}`); // Log raw value for debugging
83
+ // Ensure signedUptimeHex is a string and normalize it to have "0x" prefix
84
+ if (typeof signedUptimeHex === 'string') {
85
+ if (!signedUptimeHex.startsWith('0x')) {
86
+ signedUptimeHex = `0x${signedUptimeHex}`; // Prepend "0x" if missing
87
+ }
88
+ }
89
+ else {
90
+ // If it's not a string at all (e.g., undefined, null from a failed collectSignatures)
91
+ logger_1.logger.error("getValidationUptimeMessage did not return a string for the signed message.");
92
+ throw new Error("Failed to obtain a valid signed uptime hex message (not a string).");
93
+ }
94
+ // Now the check should pass if it was only about the "0x" prefix
95
+ if (!signedUptimeHex || typeof signedUptimeHex !== 'string' || !signedUptimeHex.startsWith('0x') || signedUptimeHex.length <= 2) { // Added length check
96
+ // This error should ideally not be hit if the above normalization works
97
+ // and if getValidationUptimeMessage returns a non-empty hex string.
98
+ logger_1.logger.error(`Problematic signedUptimeHex after normalization: '${signedUptimeHex}'`);
99
+ throw new Error("Failed to obtain a valid signed uptime hex message (post-normalization check failed).");
100
+ }
101
+ logger_1.logger.log(`\nStep 1 complete. Normalized Signed Uptime Hex: ${signedUptimeHex}`);
102
+ // Step 2: Submit this message to the UptimeTracker contract
103
+ logger_1.logger.log("\nStep 2: Submitting uptime to the UptimeTracker contract...");
104
+ const txHash = await computeValidatorUptime(uptimeTracker, signedUptimeHex);
105
+ logger_1.logger.log("\nValidator uptime report and submission complete.");
106
+ logger_1.logger.log("Final Transaction Hash:", txHash);
107
+ return txHash;
108
+ }
109
+ /**
110
+ * Compute uptime for an operator at a specific epoch
111
+ */
112
+ async function computeOperatorUptimeAtEpoch(uptimeTracker, operator, epoch) {
113
+ const txHash = await uptimeTracker.safeWrite.computeOperatorUptimeAt([operator, epoch]);
114
+ logger_1.logger.log(`computeOperatorUptimeAt for epoch ${epoch} done, tx hash: ${txHash}`);
115
+ return txHash;
116
+ }
117
+ /**
118
+ * Compute uptime for an operator across multiple epochs
119
+ */
120
+ async function computeOperatorUptimeForEpochs(uptimeTracker, operator, startEpoch, endEpoch, initialNonce) {
121
+ let currentNonce = initialNonce ?? 0;
122
+ for (let epoch = startEpoch; epoch <= endEpoch; epoch++) {
123
+ await uptimeTracker.safeWrite.computeOperatorUptimeAt([operator, epoch]);
124
+ currentNonce++;
125
+ }
126
+ }
127
+ /**
128
+ * Get validator uptime for a specific epoch
129
+ */
130
+ async function getValidatorUptimeForEpoch(uptimeTracker, validationID, epoch) {
131
+ return await uptimeTracker.read.validatorUptimePerEpoch([epoch, validationID]);
132
+ }
133
+ /**
134
+ * Check if validator uptime is set for a specific epoch
135
+ */
136
+ async function isValidatorUptimeSetForEpoch(uptimeTracker, validationID, epoch) {
137
+ return await uptimeTracker.read.isValidatorUptimeSet([epoch, validationID]);
138
+ }
139
+ /**
140
+ * Get operator uptime for a specific epoch
141
+ */
142
+ async function getOperatorUptimeForEpoch(uptimeTracker, operator, epoch) {
143
+ return await uptimeTracker.read.operatorUptimePerEpoch([epoch, operator]);
144
+ }
145
+ /**
146
+ * Check if operator uptime is set for a specific epoch
147
+ */
148
+ async function isOperatorUptimeSetForEpoch(uptimeTracker, operator, epoch) {
149
+ return await uptimeTracker.read.isOperatorUptimeSet([epoch, operator]);
150
+ }
151
+ /**
152
+ * Get last uptime checkpoint for a validator
153
+ */
154
+ async function getLastUptimeCheckpoint(uptimeTracker, validationID) {
155
+ return await uptimeTracker.read.getLastUptimeCheckpoint([validationID]);
156
+ }
157
+ /**
158
+ * Check if all alive validators from all operators have reported its uptime for the epoch and then check if all operators have reported their uptime for each epoch in the last 50 epochs (or since genesis if less than 50 epochs have passed). If not, report the uptime for the operators that haven't reported yet.
159
+ */
160
+ async function uptimeSync(client, uptimeTracker, middleware, rpcUrl, sourceChainID) {
161
+ const targetEpoch = Number(await middleware.read.getCurrentEpoch());
162
+ logger_1.logger.log(`Checking uptime status for epoch ${targetEpoch}...`);
163
+ const operators = await middleware.read.getAllOperators();
164
+ if (operators.length === 0) {
165
+ logger_1.logger.log("No operators found.");
166
+ return;
167
+ }
168
+ let currentValidators = await getCurrentValidatorsFromNode(rpcUrl + `/ext/bc/${sourceChainID}`);
169
+ if (currentValidators.length === 0) {
170
+ logger_1.logger.log("No validators found for any operator.");
171
+ return;
172
+ }
173
+ // filter PoA validators
174
+ const allValidationIDs = (await middleware.multicall(operators.map(op => ({ name: "getOperatorValidationIDs", args: [op] })))).flat();
175
+ currentValidators = currentValidators.filter(v => allValidationIDs.includes((0, utils_2.cb58ToHex)(v.validationID)));
176
+ // Check uptime status and get validator details in parallel structure
177
+ const uptimeStatus = await uptimeTracker.multicall(currentValidators.map(v => ({ name: 'isValidatorUptimeSet', args: [targetEpoch, (0, utils_2.cb58ToHex)(v.validationID)] })));
178
+ const signingSubnetId = await (0, pChainUtils_1.validatedBy)(client, sourceChainID);
179
+ const networkID = client.network === 'mainnet' ? 1 : 5;
180
+ for (const [index, validator] of currentValidators.entries()) {
181
+ const { validationID, nodeID, uptimeSeconds } = validator;
182
+ const status = uptimeStatus[index];
183
+ if (!status) {
184
+ // get validator uptime
185
+ logger_1.logger.log(`Reporting uptime for validator ${validationID} (${nodeID})...`);
186
+ const unsignedValidationUptimeMessage = (0, warpUtils_1.packValidationUptimeMessage)(validationID, uptimeSeconds, networkID, sourceChainID);
187
+ const unsignedValidationUptimeMessageHex = (0, utils_1.bytesToHex)(unsignedValidationUptimeMessage);
188
+ let signedUptimeHex = await (0, warpUtils_1.collectSignatures)({ network: client.network, message: unsignedValidationUptimeMessageHex, signingSubnetId });
189
+ // compute validator uptime
190
+ // Ensure signedUptimeHex is a string and normalize it to have "0x" prefix
191
+ if (typeof signedUptimeHex === 'string') {
192
+ if (!signedUptimeHex.startsWith('0x')) {
193
+ signedUptimeHex = `0x${signedUptimeHex}`; // Prepend "0x" if missing
194
+ }
195
+ }
196
+ else {
197
+ // If it's not a string at all (e.g., undefined, null from a failed collectSignatures)
198
+ logger_1.logger.error("getValidationUptimeMessage did not return a string for the signed message.");
199
+ throw new Error("Failed to obtain a valid signed uptime hex message (not a string).");
200
+ }
201
+ // Now the check should pass if it was only about the "0x" prefix
202
+ if (!signedUptimeHex || typeof signedUptimeHex !== 'string' || !signedUptimeHex.startsWith('0x') || signedUptimeHex.length <= 2) { // Added length check
203
+ // This error should ideally not be hit if the above normalization works
204
+ // and if getValidationUptimeMessage returns a non-empty hex string.
205
+ logger_1.logger.error(`Problematic signedUptimeHex after normalization: '${signedUptimeHex}'`);
206
+ throw new Error("Failed to obtain a valid signed uptime hex message (post-normalization check failed).");
207
+ }
208
+ const warpBytes = (0, viem_1.hexToBytes)(signedUptimeHex);
209
+ const accessList = (0, warpUtils_1.packWarpIntoAccessList)(warpBytes);
210
+ const txHash = await uptimeTracker.safeWrite.computeValidatorUptime([0], { accessList, chain: null });
211
+ logger_1.logger.log(`computeValidatorUptime done, tx hash: ${txHash}`);
212
+ logger_1.logger.addData('computeValidatorUptime', { validationID, nodeID, txHash });
213
+ }
214
+ }
215
+ ;
216
+ logger_1.logger.log("All validators have reported their uptime for epoch " + targetEpoch);
217
+ // Report all operators uptime status for each epoch (check if it's needed)
218
+ // build an indexing of operators status upon 50 epochs (except if the targetEpoch is less than 50.
219
+ const epochsToCheck = targetEpoch < 50 ? targetEpoch : 50;
220
+ const epochRange = Array.from({ length: epochsToCheck }, (_, i) => targetEpoch - i - 1);
221
+ let operatorUptimeStatus = await uptimeTracker.multicall(operators.flatMap(op => epochRange.map(epoch => ({ name: 'isOperatorUptimeSet', args: [epoch, op] }))));
222
+ // If the operator had no validator for that epoch, we consider uptime as "set" to avoid reverting on `UptimeTracker__NoValidators`
223
+ const operatorHadValidator = await middleware.multicall(operators.flatMap(op => epochRange.map(epoch => ({ name: 'getActiveNodesForEpoch', args: [op, epoch] }))));
224
+ operatorUptimeStatus = operatorUptimeStatus.map((activeNodes, index) => operatorHadValidator[index].length > 0 ? activeNodes : true);
225
+ // scan all epoch for all operator and report the uptime for each epoch the operator has uptime set to false
226
+ for (const [index, operator] of operators.entries()) {
227
+ const operatorEpochStatus = operatorUptimeStatus.slice(index * epochsToCheck, (index + 1) * epochsToCheck);
228
+ const operatorEpochsWithoutUptime = epochRange.filter((_, i) => !operatorEpochStatus[i]);
229
+ if (operatorEpochsWithoutUptime.length > 0) {
230
+ logger_1.logger.log(`Operator ${operator} has missing uptime reports`);
231
+ try {
232
+ for (const epoch of operatorEpochsWithoutUptime) {
233
+ await uptimeTracker.safeWrite.computeOperatorUptimeAt([operator, epoch]);
234
+ }
235
+ }
236
+ catch (error) {
237
+ logger_1.logger.error(`Error computing uptime for operator ${operator}:`, error);
238
+ }
239
+ }
240
+ else {
241
+ logger_1.logger.log(`Operator ${operator} has uptime reports for all of the last ${epochsToCheck} epochs.`);
242
+ }
243
+ }
244
+ logger_1.logger.log("All operators have their uptime reported for the last " + epochsToCheck + " epochs from " + targetEpoch + ".");
245
+ }
246
+ //# sourceMappingURL=uptime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uptime.js","sourceRoot":"","sources":["../src/uptime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ExtendedWalletClient } from './client';
2
+ import { Config } from './config';
3
+ import { SafeSuzakuContract, SuzakuContract } from './lib/viemUtils';
4
+ import { type Hex } from 'viem';
5
+ export declare function depositVault(config: Config<ExtendedWalletClient>, vaultAddress: Hex, onBehalfOf: Hex, amount: string): Promise<void>;
6
+ export declare function withdrawVault(vault: SafeSuzakuContract['VaultTokenized'], claimer: Hex, amountWei: bigint): Promise<void>;
7
+ export declare function claimVault(vault: SafeSuzakuContract['VaultTokenized'], recipient: Hex, epoch: bigint): Promise<void>;
8
+ export declare function getVaultDelegator(vault: SuzakuContract['VaultTokenized']): Promise<string>;
9
+ export declare function getStake(delegator: SafeSuzakuContract['L1RestakeDelegator'], l1Address: Hex, collateralClass: bigint, operatorAddress: Hex): Promise<bigint>;
10
+ export declare function getVaultCollateral(vault: SuzakuContract['VaultTokenized']): Promise<string>;
11
+ export declare function getVaultBalanceOf(vault: SuzakuContract['VaultTokenized'], account: Hex): Promise<bigint>;
12
+ export declare function getVaultActiveBalanceOf(vault: SuzakuContract['VaultTokenized'], account: Hex): Promise<bigint>;
13
+ export declare function getVaultTotalSupply(vault: SuzakuContract['VaultTokenized']): Promise<bigint>;
14
+ export declare function getVaultWithdrawalSharesOf(vault: SuzakuContract['VaultTokenized'], epoch: bigint, account: Hex): Promise<bigint>;
15
+ export declare function getVaultWithdrawalsOf(vault: SuzakuContract['VaultTokenized'], epoch: bigint, account: Hex): Promise<bigint>;
16
+ export declare function approveAndDepositCollateral(config: Config<ExtendedWalletClient>, collateralAddress: Hex, amount: string): Promise<void>;
package/dist/vault.js ADDED
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.depositVault = depositVault;
4
+ exports.withdrawVault = withdrawVault;
5
+ exports.claimVault = claimVault;
6
+ exports.getVaultDelegator = getVaultDelegator;
7
+ exports.getStake = getStake;
8
+ exports.getVaultCollateral = getVaultCollateral;
9
+ exports.getVaultBalanceOf = getVaultBalanceOf;
10
+ exports.getVaultActiveBalanceOf = getVaultActiveBalanceOf;
11
+ exports.getVaultTotalSupply = getVaultTotalSupply;
12
+ exports.getVaultWithdrawalSharesOf = getVaultWithdrawalSharesOf;
13
+ exports.getVaultWithdrawalsOf = getVaultWithdrawalsOf;
14
+ exports.approveAndDepositCollateral = approveAndDepositCollateral;
15
+ const viem_1 = require("viem");
16
+ const logger_1 = require("./lib/logger");
17
+ // deposit
18
+ async function depositVault(config, vaultAddress, onBehalfOf, amount) {
19
+ logger_1.logger.log("Depositing...");
20
+ const client = config.client;
21
+ // Get the collateral token address
22
+ const vault = await config.contracts.VaultTokenized(vaultAddress);
23
+ const collateralAddress = await vault.read.collateral();
24
+ const collateral = await config.contracts.DefaultCollateral(collateralAddress);
25
+ const decimals = await collateral.read.decimals();
26
+ // Calculate human-readable amount
27
+ const amountWei = (0, viem_1.parseUnits)(amount, decimals);
28
+ logger_1.logger.log("\n=== Deposit Details ===");
29
+ logger_1.logger.log("Amount:", amount, "tokens");
30
+ logger_1.logger.log("Amount in wei:", amountWei.toString());
31
+ logger_1.logger.log("Decimals used:", decimals);
32
+ logger_1.logger.log("Collateral address:", collateralAddress);
33
+ logger_1.logger.log("Vault address:", vault.address);
34
+ // Approve the vault to spend collateral tokens
35
+ logger_1.logger.log("\n=== Collateral Approval ===");
36
+ logger_1.logger.log("Approving:", amount, "tokens");
37
+ logger_1.logger.log("Approval amount in wei:", amountWei.toString());
38
+ logger_1.logger.log("Spender (vault):", vault.address);
39
+ const approveTx = await collateral.safeWrite.approve([vault.address, amountWei]);
40
+ logger_1.logger.log("Approval tx hash:", approveTx);
41
+ // Wait for the approval transaction to be mined
42
+ logger_1.logger.log("Waiting for approval confirmation...");
43
+ const approvalReceipt = await client.waitForTransactionReceipt({ hash: approveTx });
44
+ logger_1.logger.log("Approval confirmed in block:", approvalReceipt.blockNumber);
45
+ // === Existing deposit code (unchanged) ===
46
+ logger_1.logger.log("\n=== Executing Deposit ===");
47
+ logger_1.logger.log("Depositing:", amount, "tokens");
48
+ logger_1.logger.log("Deposit amount in wei:", amountWei.toString());
49
+ logger_1.logger.log("On behalf of:", onBehalfOf);
50
+ const hash = await vault.safeWrite.deposit([onBehalfOf, amountWei]);
51
+ logger_1.logger.log("Deposit tx hash:", hash);
52
+ // Wait for deposit confirmation
53
+ logger_1.logger.log("Waiting for deposit confirmation...");
54
+ const depositReceipt = await client.waitForTransactionReceipt({ hash: hash });
55
+ logger_1.logger.log("Deposit confirmed in block:", depositReceipt.blockNumber);
56
+ logger_1.logger.log("✅ Deposit completed successfully!");
57
+ }
58
+ async function withdrawVault(vault, claimer, amountWei) {
59
+ logger_1.logger.log("Withdrawing...");
60
+ const hash = await vault.safeWrite.withdraw([claimer, amountWei]);
61
+ logger_1.logger.log("Withdraw done, tx hash:", hash);
62
+ logger_1.logger.log("✅ Withdrawal completed successfully!");
63
+ }
64
+ // claim
65
+ async function claimVault(vault, recipient, epoch) {
66
+ logger_1.logger.log("Claiming...");
67
+ const hash = await vault.safeWrite.claim([recipient, epoch]);
68
+ logger_1.logger.log("Claim done, tx hash:", hash);
69
+ logger_1.logger.log("✅ Claim completed successfully!");
70
+ }
71
+ async function getVaultDelegator(vault) {
72
+ return await vault.read.delegator();
73
+ }
74
+ async function getStake(delegator, l1Address, collateralClass, operatorAddress) {
75
+ return await delegator.read.stake([l1Address, collateralClass, operatorAddress]);
76
+ }
77
+ // New read functions for vault information
78
+ async function getVaultCollateral(vault) {
79
+ logger_1.logger.log("Reading vault collateral...");
80
+ const collateral = await vault.read.collateral();
81
+ logger_1.logger.log("Collateral token:", collateral);
82
+ return collateral;
83
+ }
84
+ async function getVaultBalanceOf(vault, account) {
85
+ logger_1.logger.log(`Reading vault balance for ${account}...`);
86
+ const balance = await vault.read.balanceOf([account]);
87
+ logger_1.logger.log("Vault token balance:", balance.toString());
88
+ return balance;
89
+ }
90
+ async function getVaultActiveBalanceOf(vault, account) {
91
+ logger_1.logger.log(`Reading active vault balance for ${account}...`);
92
+ const activeBalance = await vault.read.activeBalanceOf([account]);
93
+ logger_1.logger.log("Active vault balance:", activeBalance.toString());
94
+ return activeBalance;
95
+ }
96
+ async function getVaultTotalSupply(vault) {
97
+ logger_1.logger.log("Reading vault total supply...");
98
+ const totalSupply = await vault.read.totalSupply();
99
+ logger_1.logger.log("Total supply:", totalSupply.toString());
100
+ return totalSupply;
101
+ }
102
+ async function getVaultWithdrawalSharesOf(vault, epoch, account) {
103
+ logger_1.logger.log(`Reading withdrawal shares for ${account} at epoch ${epoch}...`);
104
+ const shares = await vault.read.withdrawalSharesOf([epoch, account]);
105
+ logger_1.logger.log("Withdrawal shares:", shares.toString());
106
+ return shares;
107
+ }
108
+ async function getVaultWithdrawalsOf(vault, epoch, account) {
109
+ logger_1.logger.log(`Reading withdrawals for ${account} at epoch ${epoch}...`);
110
+ const withdrawalAmount = await vault.read.withdrawalsOf([epoch, account]);
111
+ logger_1.logger.log("Withdrawal amount:", withdrawalAmount.toString());
112
+ return withdrawalAmount;
113
+ }
114
+ // Staker approve collateral and deposit tokens to collateral contract
115
+ async function approveAndDepositCollateral(config, collateralAddress, amount) {
116
+ const client = config.client;
117
+ logger_1.logger.log("Approving collateral...");
118
+ const account = client.account;
119
+ const collateral = await config.contracts.DefaultCollateral(collateralAddress);
120
+ const rewardTokenAddress = await collateral.read.asset();
121
+ const rewardToken = await config.contracts.ERC20(rewardTokenAddress);
122
+ const decimals = await collateral.read.decimals();
123
+ const amountWei = (0, viem_1.parseUnits)(amount, decimals);
124
+ const hash = await rewardToken.safeWrite.approve([collateralAddress, amountWei]);
125
+ await client.waitForTransactionReceipt({ hash });
126
+ logger_1.logger.log("Approval done, tx hash:", hash);
127
+ const depositTx = await collateral.safeWrite.deposit([account.address, amountWei]);
128
+ await client.waitForTransactionReceipt({ hash: depositTx });
129
+ logger_1.logger.log("Deposit to collateral done, tx hash:", depositTx);
130
+ }
131
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { SafeSuzakuContract, SuzakuContract } from './lib/viemUtils';
2
+ import type { Hex, Account } from 'viem';
3
+ export declare function registerVaultL1(vaultManager: SafeSuzakuContract['VaultManager'], vaultAddress: Hex, collateralClass: bigint, maxLimit: bigint, account: Account): Promise<void>;
4
+ export declare function updateVaultMaxL1Limit(vaultManager: SafeSuzakuContract['VaultManager'], vaultAddress: Hex, collateralClass: bigint, maxLimit: bigint, account: Account): Promise<void>;
5
+ export declare function removeVault(vaultManager: SafeSuzakuContract['VaultManager'], vaultAddress: Hex, account: Account): Promise<void>;
6
+ export declare function getVaultCount(vaultManager: SuzakuContract['VaultManager']): Promise<void>;
7
+ export declare function getVaultAtWithTimes(vaultManager: SuzakuContract['VaultManager'], index: bigint): Promise<void>;
8
+ export declare function getVaultCollateralClass(vaultManager: SuzakuContract['VaultManager'], vaultAddress: Hex): Promise<void>;