Caravan Documentation
    Preparing search index...

    Function validateBIP32Index

    • Validate a given BIP32 index string.

      • Path segments are validated numerically as well as statically (the value of 2^33 is an invalid path segment).

      • By default, 0-4294967295 and 0'-2147483647' are valid.

      • The mode option can be pass to validate index is hardened unhardened paths.

      • hardened paths include 0'-2147483647' and 2147483648-4294967295

      • unharded paths include 0-2147483647

      Parameters

      • indexString: any

        BIP32 index string

      • Optionaloptions: any

        additional options

      Returns
          | ""
          | "BIP32 index cannot be blank."
          | "BIP32 index is invalid."
          | "Invalid BIP32 index."
          | "BIP32 index is too high."
          | "BIP32 index must be hardened."
          | "BIP32 index cannot be hardened."

      empty if valid or corresponding validation message if not

      import {validateBIP32Path} from "@caravan/bitcoin";
      console.log(validateBIP32Path("")); // "BIP32 index cannot be blank."
      console.log(validateBIP32Path("foo")); // "BIP32 index is invalid."
      console.log(validateBIP32Path("//45")); // "BIP32 index is invalid."
      console.log(validateBIP32Path("/45/")); // "BIP32 index is invalid."
      console.log(validateBIP32Index("4294967296")); // "BIP32 index is too high."
      console.log(validateBIP32Index("2147483648'")); // "BIP32 index is too high."
      console.log(validateBIP32Index("45", { mode: "hardened" })); // "BIP32 index must be hardened."
      console.log(validateBIP32Index("45'", { mode: "unhardened" })); // "BIP32 index cannot be hardened."
      console.log(validateBIP32Index("2147483648", {mode: "unhardened"})); // "BIP32 index cannot be hardened."
      console.log(validateBIP32Index("45")); // ""
      console.log(validateBIP32Index("45'")); // ""
      console.log(validateBIP32Index("0")); // ""
      console.log(validateBIP32Index("0'")); // ""
      console.log(validateBIP32Index("4294967295")); // ""
      console.log(validateBIP32Index("2147483647")); // ""
      console.log(validateBIP32Index("2147483647'")); // ""