@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.
- package/LICENSE +96 -0
- package/README.md +1080 -0
- package/bin/cli.js +3 -0
- package/defaults/.env.anvil +4 -0
- package/defaults/.env.dexalot +7 -0
- package/defaults/.env.fuji +4 -0
- package/defaults/.env.kiteai +2 -0
- package/defaults/.env.mainnet +4 -0
- package/defaults/.env.template +10 -0
- package/dist/abis/AccessControl.d.ts +176 -0
- package/dist/abis/AccessControl.js +230 -0
- package/dist/abis/AccessControl.js.map +1 -0
- package/dist/abis/BalancerValidatorManager.d.ts +1121 -0
- package/dist/abis/BalancerValidatorManager.js +1469 -0
- package/dist/abis/BalancerValidatorManager.js.map +1 -0
- package/dist/abis/DefaultCollateral.d.ts +620 -0
- package/dist/abis/DefaultCollateral.js +811 -0
- package/dist/abis/DefaultCollateral.js.map +1 -0
- package/dist/abis/ERC20.d.ts +635 -0
- package/dist/abis/ERC20.js +831 -0
- package/dist/abis/ERC20.js.map +1 -0
- package/dist/abis/IWarpMessenger.d.ts +104 -0
- package/dist/abis/IWarpMessenger.js +139 -0
- package/dist/abis/IWarpMessenger.js.map +1 -0
- package/dist/abis/KiteStakingManager.d.ts +1459 -0
- package/dist/abis/KiteStakingManager.js +1886 -0
- package/dist/abis/KiteStakingManager.js.map +1 -0
- package/dist/abis/L1Middleware.d.ts +1712 -0
- package/dist/abis/L1Middleware.js +2242 -0
- package/dist/abis/L1Middleware.js.map +1 -0
- package/dist/abis/L1Registry.d.ts +415 -0
- package/dist/abis/L1Registry.js +544 -0
- package/dist/abis/L1Registry.js.map +1 -0
- package/dist/abis/L1RestakeDelegator.d.ts +865 -0
- package/dist/abis/L1RestakeDelegator.js +1118 -0
- package/dist/abis/L1RestakeDelegator.js.map +1 -0
- package/dist/abis/OperatorL1OptInService.d.ts +288 -0
- package/dist/abis/OperatorL1OptInService.js +374 -0
- package/dist/abis/OperatorL1OptInService.js.map +1 -0
- package/dist/abis/OperatorRegistry.d.ts +125 -0
- package/dist/abis/OperatorRegistry.js +166 -0
- package/dist/abis/OperatorRegistry.js.map +1 -0
- package/dist/abis/OperatorVaultOptInService.d.ts +288 -0
- package/dist/abis/OperatorVaultOptInService.js +374 -0
- package/dist/abis/OperatorVaultOptInService.js.map +1 -0
- package/dist/abis/Ownable.d.ts +59 -0
- package/dist/abis/Ownable.js +79 -0
- package/dist/abis/Ownable.js.map +1 -0
- package/dist/abis/PoASecurityModule.d.ts +225 -0
- package/dist/abis/PoASecurityModule.js +299 -0
- package/dist/abis/PoASecurityModule.js.map +1 -0
- package/dist/abis/RewardsNativeToken.d.ts +1334 -0
- package/dist/abis/RewardsNativeToken.js +1749 -0
- package/dist/abis/RewardsNativeToken.js.map +1 -0
- package/dist/abis/StakingVault.d.ts +2913 -0
- package/dist/abis/StakingVault.js +3780 -0
- package/dist/abis/StakingVault.js.map +1 -0
- package/dist/abis/StakingVaultOperations.d.ts +980 -0
- package/dist/abis/StakingVaultOperations.js +1270 -0
- package/dist/abis/StakingVaultOperations.js.map +1 -0
- package/dist/abis/UptimeTracker.d.ts +300 -0
- package/dist/abis/UptimeTracker.js +397 -0
- package/dist/abis/UptimeTracker.js.map +1 -0
- package/dist/abis/ValidatorManager.d.ts +842 -0
- package/dist/abis/ValidatorManager.js +1101 -0
- package/dist/abis/ValidatorManager.js.map +1 -0
- package/dist/abis/VaultFactory.d.ts +288 -0
- package/dist/abis/VaultFactory.js +378 -0
- package/dist/abis/VaultFactory.js.map +1 -0
- package/dist/abis/VaultManager.d.ts +519 -0
- package/dist/abis/VaultManager.js +678 -0
- package/dist/abis/VaultManager.js.map +1 -0
- package/dist/abis/VaultTokenized.d.ts +1626 -0
- package/dist/abis/VaultTokenized.js +2114 -0
- package/dist/abis/VaultTokenized.js.map +1 -0
- package/dist/abis/abi-selectors.json +700 -0
- package/dist/abis/index.d.ts +18356 -0
- package/dist/abis/index.js +58 -0
- package/dist/abis/index.js.map +1 -0
- package/dist/accessControl.d.ts +15 -0
- package/dist/accessControl.js +36 -0
- package/dist/accessControl.js.map +1 -0
- package/dist/balancer.d.ts +25 -0
- package/dist/balancer.js +42 -0
- package/dist/balancer.js.map +1 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +3183 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.mjs +31343 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.js +76 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +10 -0
- package/dist/config.js +63 -0
- package/dist/config.js.map +1 -0
- package/dist/delegator.d.ts +4 -0
- package/dist/delegator.js +16 -0
- package/dist/delegator.js.map +1 -0
- package/dist/index.d.mts +19770 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +27451 -0
- package/dist/index.mjs.map +1 -0
- package/dist/keyStore.d.ts +3 -0
- package/dist/keyStore.js +105 -0
- package/dist/keyStore.js.map +1 -0
- package/dist/kiteStaking.d.ts +91 -0
- package/dist/kiteStaking.js +731 -0
- package/dist/kiteStaking.js.map +1 -0
- package/dist/l1.d.ts +5 -0
- package/dist/l1.js +22 -0
- package/dist/l1.js.map +1 -0
- package/dist/lib/autoCompletion.d.ts +3 -0
- package/dist/lib/autoCompletion.js +55 -0
- package/dist/lib/autoCompletion.js.map +1 -0
- package/dist/lib/cChainUtils.d.ts +42 -0
- package/dist/lib/cChainUtils.js +271 -0
- package/dist/lib/cChainUtils.js.map +1 -0
- package/dist/lib/castUtils.d.ts +18 -0
- package/dist/lib/castUtils.js +81 -0
- package/dist/lib/castUtils.js.map +1 -0
- package/dist/lib/chainList.d.ts +5 -0
- package/dist/lib/chainList.js +86 -0
- package/dist/lib/chainList.js.map +1 -0
- package/dist/lib/cliParser.d.ts +27 -0
- package/dist/lib/cliParser.js +167 -0
- package/dist/lib/cliParser.js.map +1 -0
- package/dist/lib/commandUtils.d.ts +13 -0
- package/dist/lib/commandUtils.js +38 -0
- package/dist/lib/commandUtils.js.map +1 -0
- package/dist/lib/coreWalletUtils.d.ts +3 -0
- package/dist/lib/coreWalletUtils.js +74 -0
- package/dist/lib/coreWalletUtils.js.map +1 -0
- package/dist/lib/justification.d.ts +90 -0
- package/dist/lib/justification.js +577 -0
- package/dist/lib/justification.js.map +1 -0
- package/dist/lib/ledgerUtils.d.ts +4 -0
- package/dist/lib/ledgerUtils.js +258 -0
- package/dist/lib/ledgerUtils.js.map +1 -0
- package/dist/lib/logger.d.ts +46 -0
- package/dist/lib/logger.js +226 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/pChainUtils.d.ts +128 -0
- package/dist/lib/pChainUtils.js +436 -0
- package/dist/lib/pChainUtils.js.map +1 -0
- package/dist/lib/pass.d.ts +81 -0
- package/dist/lib/pass.js +353 -0
- package/dist/lib/pass.js.map +1 -0
- package/dist/lib/safeUtils.d.ts +25 -0
- package/dist/lib/safeUtils.js +93 -0
- package/dist/lib/safeUtils.js.map +1 -0
- package/dist/lib/transferUtils.d.ts +643 -0
- package/dist/lib/transferUtils.js +141 -0
- package/dist/lib/transferUtils.js.map +1 -0
- package/dist/lib/utils.d.ts +28 -0
- package/dist/lib/utils.js +166 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/viemUtils.d.ts +80 -0
- package/dist/lib/viemUtils.js +317 -0
- package/dist/lib/viemUtils.js.map +1 -0
- package/dist/lib/warpUtils.d.ts +76 -0
- package/dist/lib/warpUtils.js +448 -0
- package/dist/lib/warpUtils.js.map +1 -0
- package/dist/middleware.d.ts +75 -0
- package/dist/middleware.js +430 -0
- package/dist/middleware.js.map +1 -0
- package/dist/operator.d.ts +4 -0
- package/dist/operator.js +22 -0
- package/dist/operator.js.map +1 -0
- package/dist/operatorOptIn.d.ts +8 -0
- package/dist/operatorOptIn.js +39 -0
- package/dist/operatorOptIn.js.map +1 -0
- package/dist/rewards.d.ts +116 -0
- package/dist/rewards.js +244 -0
- package/dist/rewards.js.map +1 -0
- package/dist/securityModule.d.ts +8 -0
- package/dist/securityModule.js +305 -0
- package/dist/securityModule.js.map +1 -0
- package/dist/stakingVault.d.ts +184 -0
- package/dist/stakingVault.js +1224 -0
- package/dist/stakingVault.js.map +1 -0
- package/dist/uptime.d.ts +54 -0
- package/dist/uptime.js +246 -0
- package/dist/uptime.js.map +1 -0
- package/dist/vault.d.ts +16 -0
- package/dist/vault.js +131 -0
- package/dist/vault.js.map +1 -0
- package/dist/vaultManager.d.ts +8 -0
- package/dist/vaultManager.js +40 -0
- package/dist/vaultManager.js.map +1 -0
- 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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"}
|
package/dist/uptime.d.ts
ADDED
|
@@ -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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"}
|
package/dist/vault.d.ts
ADDED
|
@@ -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>;
|