@moonwell-fi/moonwell-sdk
Version:
TypeScript Interface for Moonwell
28 lines • 1.7 kB
TypeScript
import { type Address } from "viem";
import type { MoonwellClient } from "../../client/createMoonwellClient.js";
import type { OptionalNetworkParameterType } from "../../common/types.js";
import type { Chain, GovernanceToken } from "../../environments/index.js";
import type { UserVotingPowers } from "../../types/userVotingPowers.js";
export type GetUserVotingPowersParameters<environments, network extends Chain | undefined> = OptionalNetworkParameterType<environments, network> & {
/** Governance token */
governanceToken: GovernanceToken;
/** User address*/
userAddress: Address;
/**
* Block number to read voting power at. Applied to every queried chain — only safe
* for single-chain governance tokens. For cross-chain tokens (e.g. WELL) prefer
* `snapshotTimestamp`, which resolves a correct per-chain block.
*/
blockNumber?: bigint;
/**
* Unix timestamp (seconds) at which to read voting power. When set, the SDK looks up
* the block on each queried chain whose timestamp is the latest one ≤ this value, and
* uses that per-chain block. Use this for cross-chain governance tokens; supplying a
* single block number across heterogeneous chains is unsafe because chain heights
* diverge. Takes priority over `blockNumber` when both are provided.
*/
snapshotTimestamp?: number;
};
export type GetUserVotingPowersReturnType = Promise<UserVotingPowers[]>;
export declare function getUserVotingPowers<environments, Network extends Chain | undefined>(client: MoonwellClient, args: GetUserVotingPowersParameters<environments, Network>): GetUserVotingPowersReturnType;
//# sourceMappingURL=getUserVotingPowers.d.ts.map