salt-sdk
    Preparing search index...

    Interface Account

    Represents an account creation process.

    interface Account {
        addListener<T extends keyof HuddleEvents>(
            event: T,
            fn: (
                ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
            ) => void,
            context?: any,
        ): this;
        emit<T extends keyof HuddleEvents>(
            event: T,
            ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
        ): boolean;
        eventNames(): (keyof HuddleEvents)[];
        getAccountId(): string;
        getSignersStatuses(): Record<string, SignerStatus>;
        init(): Promise<void>;
        listenerCount(event: keyof HuddleEvents): number;
        listeners<T extends keyof HuddleEvents>(
            event: T,
        ): (
            (
                ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
            ) => void
        )[];
        off<T extends keyof HuddleEvents>(
            event: T,
            fn?: (
                ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
            ) => void,
            context?: any,
            once?: boolean,
        ): this;
        on<T extends keyof HuddleEvents>(
            event: T,
            fn: (
                ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
            ) => void,
            context?: any,
        ): this;
        once<T extends keyof HuddleEvents>(
            event: T,
            fn: (
                ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
            ) => void,
            context?: any,
        ): this;
        removeAllListeners(event?: keyof HuddleEvents): this;
        removeListener<T extends keyof HuddleEvents>(
            event: T,
            fn?: (
                ...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>],
            ) => void,
            context?: any,
            once?: boolean,
        ): this;
        signalCompletion(): boolean;
        waitForCompletion(): Promise<void>;
    }

    Hierarchy

    Index

    Methods

    • Type Parameters

      Parameters

      Returns this

    • Return an array listing the events for which the emitter has registered listeners.

      Returns (keyof HuddleEvents)[]

    • Gets the account ID

      Returns string

      the account ID

    • gets the most up to date statuses of the signers

      Returns Record<string, SignerStatus>

      the signer statuses

    • Initialize the account creation process.

      Returns Promise<void>

      const accounts = nudgeListener.getAccounts();
      const account = accounts[0];
      await account.init();
    • Return the number of listeners listening to a given event.

      Parameters

      Returns number

    • Return the listeners registered for a given event.

      Type Parameters

      Parameters

      • event: T

      Returns ((...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>]) => void)[]

    • Type Parameters

      Parameters

      • event: T
      • Optionalfn: (...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>]) => void
      • Optionalcontext: any
      • Optionalonce: boolean

      Returns this

    • Add a listener for a given event.

      Type Parameters

      Parameters

      Returns this

    • Add a one-time listener for a given event.

      Type Parameters

      Parameters

      Returns this

    • Remove all listeners, or those of the specified event.

      Parameters

      • Optionalevent: keyof HuddleEvents

      Returns this

    • Remove the listeners of a given event.

      Type Parameters

      Parameters

      • event: T
      • Optionalfn: (...args: ArgumentMap<HuddleEvents>[Extract<T, keyof HuddleEvents>]) => void
      • Optionalcontext: any
      • Optionalonce: boolean

      Returns this

    • Signal work on this account is complete, can be called to terminate the huddle prematurely. The account state on the server is preserved, so the setup can be resumed later with Salt.resumeAccountSetup.

      Returns boolean

      true if the signal completion was successful, false otherwise

      const accounts = nudgeListener.getAccounts();
      const account = accounts[0];
      account.signalCompletion();
    • Wait for the account setup to complete.

      If this rejects with InsufficientGas, fund the wallet and then call Salt.resumeAccountSetup to retry the huddle.

      Returns Promise<void>

      a promise that resolves when the account setup is complete

      InsufficientGas if the signer does not have enough native currency on the orchestration chain to pay gas fees. This can happen immediately (pre-flight balance check) or during registration if the wallet runs out of funds.

      HuddleTimeout if the huddle does not complete within the configured timeout.

      const accounts = nudgeListener.getAccounts();
      const account = accounts[0];
      try {
      await account.waitForCompletion();
      } catch (error) {
      if (error instanceof InsufficientGas) {
      console.log(error.message); // human-readable description
      console.log(error.details); // \{ signerAddress, chainId \}
      }
      }