Caravan Documentation
    Preparing search index...

    Class LedgerV2SignMultisigTransaction

    A base class for any interactions that need to interact with a registered wallet by providing a base constructor that will generate the key origins and the policy from a given braid as well as methods for registering and returning a policy hmac

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    appName?: string
    appVersion?: string
    direct: boolean
    environment: Parser
    isLegacySupported: false

    Whether or not the interaction is supported in legacy versions of the Ledger App (<=v2.0.6)

    isV2Supported: true

    Whether or not the interaction is supported in non-legacy versions of the Ledger App (>=v2.1.0)

    policyId?: Buffer
    progressCallback?: () => void
    walletPolicy: MultisigWalletPolicy

    Accessors

    Methods

    • Inheriting classes should set properties this.isLegacySupported and this.isV2Supported to indicate whether a given interaction has support for a given interaction. This method can then be called to check the version of the app being called and return whether or not the interaction is supported based on that version

      Returns Promise<boolean>

    • Subclasses can override this method to indicate they are not supported.

      This method has access to whatever options may have been passed in by the constructor as well as the ability to interact with this.environment to determine whether the functionality is supported. See the Bowser documentation for more details: https://github.com/lancedikson/bowser

      Returns boolean

      isSupported() {
      return this.environment.satisfies({
      * declare browsers per OS
      windows: {
      "internet explorer": ">10",
      },
      macos: {
      safari: ">10.1"
      },

      * per platform (mobile, desktop or tablet)
      mobile: {
      safari: '>=9',
      'android browser': '>3.10'
      },

      * or in general
      chrome: "~20.1.1432",
      firefox: ">31",
      opera: ">=22",

      * also supports equality operator
      chrome: "=20.1.1432", * will match particular build only

      * and loose-equality operator
      chrome: "~20", * will match any 20.* sub-version
      chrome: "~20.1" * will match any 20.1.* sub-version (20.1.19 as well as 20.1.12.42-alpha.1)
      });
      }
    • Return messages filtered by the given options.

      Multiple options can be given at once to filter along multiple dimensions.

      Parameters

      • __namedParameters: MessageMethodArgs

      Returns Message[]

      import {PENDING, ACTIVE} from "@caravan/bitcoin";
      // Create any interaction instance
      interaction.messages().forEach(msg => console.log(msg));
      { code: "device.connect", state: "pending", level: "info", text: "Please plug in your device."}
      { code: "device.active", state: "active", level: "info", text: "Communicating with your device..."}
      { code: "device.active.warning", state: "active", level: "warning", text: "Your device will warn you about...", version: "2.x"}
      interaction.messagesFor({state: PENDING}).forEach(msg => console.log(msg));
      { code: "device.connect", state: "pending", level: "info", text: "Please plug in your device."}
      interaction.messagesFor({code: ACTIVE}).forEach(msg => console.log(msg));
      { code: "device.active", state: "active", level: "info", text: "Communicating with your device..."}
      { code: "device.active.warning", state: "active", level: "warning", text: "Your device will warn you about...", version: "2.x"}
      interaction.messagesFor({version: /^2/}).forEach(msg => console.log(msg));
      { code: "device.active", state: "active", level: "warning", text: "Your device will warn you about...", version: "2.x"}
    • Inheriting classes should call the super.run() as well as set the properties of support before calling their run in order to check support before calling the actual interaction run

      The return type has to remain any to get inheritance typing to work.

      Returns Promise<null | string | string[]>