• Preparing search index...
  • The search index is not available
@kynesyslabs/demosdk
  • @kynesyslabs/demosdk
  • websdk
  • createValidatorNamespace

Function createValidatorNamespace

  • createValidatorNamespace(ctx): {
        exit: ((opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>);
        stake: ((amount: string, connectionUrl: string, opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>);
        unstake: ((opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>);
    }
  • Validator staking lifecycle as one-call programmatic transactions.

    Collapses the classic build → confirm → broadcast flow for the validator stake, unstake and exit operations into a single call that auto-broadcasts within the configured fee ceiling.

    Parameters

    • ctx: ProgrammaticContext

    Returns {
        exit: ((opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>);
        stake: ((amount: string, connectionUrl: string, opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>);
        unstake: ((opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>);
    }

    • exit: ((opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>)

      Complete validator exit, end to end. Only accepted by the network once the unstake timelock has elapsed (unstake_available_at <= currentBlock).

      Example

      await demos.run.validator.exit()
      
        • (opts?): Promise<ProgrammaticTxResult>
        • Parameters

          • Optionalopts: ProgrammaticTxOptions

            Fee ceiling / confirmation strategy / wait behaviour.

          Returns Promise<ProgrammaticTxResult>

    • stake: ((amount: string, connectionUrl: string, opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>)

      Stake toward validator registration, or top up an existing stake, end to end.

      Example

      import { denomination } from "@kynesyslabs/demosdk"
      // register + auto-broadcast within the 5 DEM fee cap:
      await demos.run.validator.stake(
      denomination.demToOs(1000).toString(),
      "https://my-validator.example",
      )
      // build + confirm only, broadcast later yourself:
      const r = await demos.run.validator.stake(
      "1000000000",
      "https://my-validator.example",
      { confirm: "manual" },
      )
      await demos.broadcast(r.validityData)
        • (amount, connectionUrl, opts?): Promise<ProgrammaticTxResult>
        • Parameters

          • amount: string

            Stake amount as a non-negative bigint-encoded string (OS).

          • connectionUrl: string

            Validator's public endpoint (required on first stake; used to reach the node).

          • Optionalopts: ProgrammaticTxOptions

            Fee ceiling / confirmation strategy / wait behaviour.

          Returns Promise<ProgrammaticTxResult>

    • unstake: ((opts?: ProgrammaticTxOptions) => Promise<ProgrammaticTxResult>)

      Arm the unstake lock, end to end. Starts the timelock after which exit becomes accepted by the network.

      Example

      await demos.run.validator.unstake()
      
        • (opts?): Promise<ProgrammaticTxResult>
        • Parameters

          • Optionalopts: ProgrammaticTxOptions

            Fee ceiling / confirmation strategy / wait behaviour.

          Returns Promise<ProgrammaticTxResult>

    • Defined in src/websdk/programmatic/validator.ts:11

Settings

Member Visibility
@kynesyslabs/demosdk
  • Loading...

Generated using TypeDoc