Documentation
    Preparing search index...

    The WalletClient has to be used in the wallet. It handles all the logic related to connecting to beacon-compatible dapps and handling/responding to requests.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _beaconId: ExposedPromise<string>

    The beaconId is a public key that is used to identify one specific application (dapp or wallet). This is used inside a message to specify the sender, for example.

    _isConnected: ExposedPromise<boolean>

    Returns whether or not the transport is connected

    _keyPair: ExposedPromise<KeyPair>

    The local keypair that is used for the communication encryption

    _transport: ExposedPromise<Transport<any, any, any>>
    accountManager: AccountManager
    appUrl?: string

    The URL of the dApp.

    handleResponse: (
        _event: BeaconRequestMessage | BeaconMessageWrapper<BeaconBaseMessage>,
        connectionInfo: ConnectionContext,
    ) => void
    iconUrl?: string

    The URL of the dApp Icon. This can be used to display the icon of the dApp on in the wallet

    matrixNodes: NodeDistributions
    name: string

    The name of the client

    rateLimit: number

    How many requests can be sent after another

    rateLimitWindowInSeconds: number

    The time window in seconds in which the "rateLimit" is checked

    requestCounter: number[]

    Stores the times when requests have been made to determine if the rate limit has been reached

    storage: Storage

    Accessors

    • get beaconId(): Promise<string>

      Returns Promise<string>

    • get connectionStatus(): TransportStatus

      Returns the connection status of the Client

      Returns TransportStatus

    • get isConnected(): Promise<boolean>

      Returns Promise<boolean>

    • get keyPair(): Promise<KeyPair>

      Returns Promise<KeyPair>

    • get ready(): Promise<void>

      Returns whether or not the transaport is ready

      Returns Promise<void>

    • get transport(): Promise<Transport<any, any, any>>

      Returns Promise<Transport<any, any, any>>

    Methods

    • The method will attempt to initiate a connection using the active transport.

      Parameters

      • Optionalattempts: number

      Returns Promise<void>

    • Parameters

      Returns Promise<void>

    • Add a new peer to the known peers

      Parameters

      • peer: PeerInfo

        The new peer to add

      • OptionalsendPairingResponse: boolean

      Returns Promise<void>

    • Add a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit

      Returns Promise<boolean>

    • Returns Promise<void>

    • This method initiates a connection to the P2P network and registers a callback that will be called whenever a message is received.

      Parameters

      Returns Promise<void>

    • This resets the SDK. After using this method, this instance is no longer usable. You will have to instanciate a new client.

      Returns Promise<void>

    • Return the account by ID

      Parameters

      • accountIdentifier: string

        The ID of an account

      Returns Promise<undefined | AccountInfo>

    • Return all locally known accounts

      Returns Promise<AccountInfo[]>

    • Parameters

      • senderId: string

      Returns Promise<undefined | AppMetadata>

    • Returns Promise<AppMetadata[]>

    • Return all known peers

      Returns Promise<PeerInfo[]>

    • Parameters

      • accountIdentifier: string

      Returns Promise<undefined | PermissionInfo>

    • Parameters

      • backendUrl: string
      • accountPublicKey: string
      • OptionaloracleUrl: string

      Returns Promise<{ challenge: { id: string; timestamp: string }; payloadToSign: string }>

    • This method initializes the client. It will check if the connection should be established to a browser extension or if the P2P transport should be used.

      Returns Promise<TransportType>

    • This method initializes the SDK by setting some values in the storage and generating a keypair.

      Returns Promise<void>

    • Parameters

      • challenge: { id: string; timestamp: string }
      • signature: string
      • backendUrl: string
      • accountPublicKey: string
      • protocolIdentifier: string
      • deviceId: string
      • OptionaloracleUrl: string

      Returns Promise<PushToken>

    • Remove the account by ID

      Parameters

      • accountIdentifier: string

        The ID of an account

      Returns Promise<void>

    • Remove all locally stored accounts

      Returns Promise<void>

    • Returns Promise<void>

    • Parameters

      • OptionalsendDisconnectToPeers: boolean

      Returns Promise<void>

    • Returns Promise<void>

    • Parameters

      • senderId: string

      Returns Promise<void>

    • Parameters

      Returns Promise<void>

    • Parameters

      • accountIdentifier: string
      • senderId: string

      Returns Promise<void>

    • This method sends a response for a specific request back to the DApp

      Parameters

      Returns Promise<void>

    • A "setter" for when the transport needs to be changed.

      Parameters

      Returns Promise<void>