/** * Per-chain staking playbook — official links + i18n key map. * The panel never generates, uploads, or stores staking keys. */ import { type ValidatorChainId } from './validators.js'; export declare const STAKING_MODELS: readonly ["deposit-contract", "p-chain-nodeid", "cosmos-create-validator", "cardano-pool", "near-pool", "sol-vote", "polkadot-session", "sui-validator", "aptos-validator", "not-pos"]; export type StakingModel = (typeof STAKING_MODELS)[number]; export type StakingPlaybookLink = { label: string; href: string; }; export type StakingPlaybookMeta = { chain: ValidatorChainId; model: StakingModel; links: readonly StakingPlaybookLink[]; }; export declare const STAKING_PLAYBOOKS: readonly StakingPlaybookMeta[]; export declare function stakingPlaybookAnchor(chain: string): string; export declare function stakingPlaybookMeta(chain: string): StakingPlaybookMeta | undefined; export declare function isOfficialStakingHref(href: string): boolean; /** Every shipped chain has a playbook row (Bitcoin included as not-pos). */ export declare function stakingPlaybookCoversAllChains(): boolean; /** Official staking-pool factory — contract does not take a server IP. */ export declare const NEAR_STAKING_STORAGE_NEAR = 30; export declare const NEAR_STAKING_FEE: { readonly numerator: 5; readonly denominator: 100; }; export type NearStakingFactory = { factoryAccount: string; poolAccountSuffix: string; }; export type NearStakingIdentityDto = { stakePublicKey: string | null; accountId: string | null; publicAddr: string | null; factoryAccount: string; poolAccountSuffix: string; storageNear: number; createCommand: string; }; export declare function nearStakingFactory(network: string): NearStakingFactory; /** Pool prefix only — factory appends `.pool.f863973.m0` / `.poolv1.near`. */ export declare function isNearPoolSlug(value: string): boolean; export declare function isNearOwnerAccountId(value: string): boolean; export declare function resolveNearPoolAccountId(input: { network: string; poolSlug?: string | null; accountId?: string | null; }): { ok: true; poolSlug: string; accountId: string; } | { ok: false; }; /** Official near-cli form from near-nodes.io. Placeholders stay until pool / owner / key exist. */ export declare function buildNearCreateStakingPoolCommand(input: { network: string; stakePublicKey?: string | null; poolId?: string | null; ownerId?: string | null; }): string; export declare function emptyNearStakingIdentity(network: string): NearStakingIdentityDto; /** Matches compose `gaiad init` chain-id (ICS provider testnet, Hub mainnet). */ export declare function cosmosStakingChainId(network: string): string; export type CosmosStakingIdentityDto = { consensusPubkey: string | null; chainId: string; externalAddress: string | null; createCommand: string; /** gaiad v28 / SDK 0.53 body — save as validator.json; not the Hub docs flag form. */ createValidatorJson: string; }; export declare function cosmosConsensusPubkeyJson(input: { type?: string | null; value?: string | null; }): string | null; export declare function parseCosmosAmountUatom(raw?: string | null): string | null; /** Human ATOM amount for a parsed `Nuatom` string, or null. */ export declare function cosmosAmountAtomLabel(uatom: string): string | null; /** gaiad v28 JSON body. Hub docs still show flags — those fail on this node. */ export declare function buildCosmosCreateValidatorJson(input: { consensusPubkey?: string | null; amountUatom?: string | null; moniker?: string | null; }): string; export declare function buildCosmosCreateValidatorCommand(input: { network: string; consensusPubkey?: string | null; amountUatom?: string | null; moniker?: string | null; fromKey?: string | null; }): string; export declare function cosmosCreateValidatorFilled(input: { consensusPubkey?: string | null; amountUatom?: string | null; moniker?: string | null; fromKey?: string | null; }): boolean; /** * Copyable example only — this compose does not run a validator client. * Non-Lighthouse CLs: null (copy the beacon URL; do not invent a lighthouse command). */ export declare function ethValidatorClientCommand(input: { network: string; beaconUrl?: string | null; cl?: string | null; }): string | null; export declare function emptyCosmosStakingIdentity(network: string): CosmosStakingIdentityDto; export type SolStakingIdentityDto = { identityPubkey: string | null; }; export declare function ethLaunchpadHref(network: string): string | null; /** Instance page: only the launchpad that matches this network. */ export declare function stakingPlaybookLinksForInstance(chain: string, network: string): readonly StakingPlaybookLink[]; //# sourceMappingURL=staking-playbook.d.ts.map