How to use the trezor-connect.on function in trezor-connect

To help you get started, we’ve selected a few trezor-connect examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github shapeshift / hdwallet / packages / hdwallet-trezor-connect / src / adapter.ts View on Github external
TrezorConnect.off(DEVICE_EVENT, connectHandler)

    for (const connectEvent of connectEvents)
      this.handleConnectTrezor(connectEvent)

    TrezorConnect.on(DEVICE_EVENT, (event: any) => {
      if (event.type === 'device-connect') {
        this.handleConnectTrezor(event)
      } else if (event.type === 'device-changed') {
        this.handleChangeTrezor(event)
      } else if (event.type === 'device-disconnect') {
        this.handleDisconnectTrezor(event)
      }
    })

    TrezorConnect.on(TRANSPORT_EVENT, (event) => {
      // Log TrezorConnect's event raw:
      try {
        let device_id = event.payload && event.payload.features
            ? event.payload.features.device_id
            : ''
        this.keyring.emit(['Trezor', device_id, event.type], event)
      } catch(e) {
        console.error('Could not emit Trezor transport event', event, e)
      }
    })

    TrezorConnect.on(UI.ADDRESS_VALIDATION, (event) => {
      console.log('Confirm on Trezor', event)
    })

    return true
github shapeshift / hdwallet / packages / hdwallet-trezor-connect / src / adapter.ts View on Github external
}
    })

    TrezorConnect.on(TRANSPORT_EVENT, (event) => {
      // Log TrezorConnect's event raw:
      try {
        let device_id = event.payload && event.payload.features
            ? event.payload.features.device_id
            : ''
        this.keyring.emit(['Trezor', device_id, event.type], event)
      } catch(e) {
        console.error('Could not emit Trezor transport event', event, e)
      }
    })

    TrezorConnect.on(UI.ADDRESS_VALIDATION, (event) => {
      console.log('Confirm on Trezor', event)
    })

    return true
  }
github shapeshift / hdwallet / packages / hdwallet-trezor-connect / src / adapter.ts View on Github external
private async connectInit (args: TrezorConnectArgs): Promise {
    // Collect connect events that happen during init, but don't handle them
    // until after init has resolved. This awkward sequence is needed because we
    // need TrezorConnect to be fully operational before we're able to process
    // the events.
    let connectEvents = []
    let connectHandler = (event: any) => {
      if (event.type === 'device-connect') {
        connectEvents.push(event)
      }
    }
    TrezorConnect.on(DEVICE_EVENT, connectHandler)

    // TODO: using this in electron will needs some more scaffolding:
    // https://github.com/szymonlesisz/trezor-connect-electron-boilerplate/blob/master/src/electron.js
    await TrezorConnect.init({
      ...args,
      popup: POPUP,
      lazyLoad: false
    })

    TrezorConnect.off(DEVICE_EVENT, connectHandler)

    for (const connectEvent of connectEvents)
      this.handleConnectTrezor(connectEvent)

    TrezorConnect.on(DEVICE_EVENT, (event: any) => {
      if (event.type === 'device-connect') {
github shapeshift / hdwallet / packages / hdwallet-trezor-connect / src / adapter.ts View on Github external
TrezorConnect.on(DEVICE_EVENT, connectHandler)

    // TODO: using this in electron will needs some more scaffolding:
    // https://github.com/szymonlesisz/trezor-connect-electron-boilerplate/blob/master/src/electron.js
    await TrezorConnect.init({
      ...args,
      popup: POPUP,
      lazyLoad: false
    })

    TrezorConnect.off(DEVICE_EVENT, connectHandler)

    for (const connectEvent of connectEvents)
      this.handleConnectTrezor(connectEvent)

    TrezorConnect.on(DEVICE_EVENT, (event: any) => {
      if (event.type === 'device-connect') {
        this.handleConnectTrezor(event)
      } else if (event.type === 'device-changed') {
        this.handleChangeTrezor(event)
      } else if (event.type === 'device-disconnect') {
        this.handleDisconnectTrezor(event)
      }
    })

    TrezorConnect.on(TRANSPORT_EVENT, (event) => {
      // Log TrezorConnect's event raw:
      try {
        let device_id = event.payload && event.payload.features
            ? event.payload.features.device_id
            : ''
        this.keyring.emit(['Trezor', device_id, event.type], event)
github AugurProject / augur / packages / augur-ui / src / modules / auth / components / trezor-connect / trezor-connect.tsx View on Github external
async connectWallet(derivationPath: string) {
    const { loginWithTrezor, logout } = this.props;
    const result = await TrezorConnect.ethereumGetAddress({
      path: derivationPath,
    });

    TrezorConnect.on(DEVICE_EVENT, (event: any) => {
      switch (event.type) {
        case DEVICE.DISCONNECT: {
          logout();
          break;
        }
        default:
          break;
      }
    });

    if (result.success) {
      const { address } = result.payload;

      if (address) {
        this.props.onSuccess();
github AugurProject / augur-ui / src / modules / auth / components / trezor-connect / trezor-connect.jsx View on Github external
async connectWallet(derivationPath) {
    const { loginWithTrezor, logout } = this.props;
    const result = await TrezorConnect.ethereumGetAddress({
      path: derivationPath
    });

    TrezorConnect.on(DEVICE_EVENT, event => {
      switch (event.type) {
        case DEVICE.DISCONNECT: {
          logout();
          break;
        }
        default:
          break;
      }
    });

    if (result.success) {
      const { address } = result.payload;

      if (address) {
        return loginWithTrezor(
          address.toLowerCase(),
github Emurgo / yoroi-frontend / app / stores / ada / TrezorConnectStore.js View on Github external
_addTrezorConnectEventListeners = (): void => {
    if (TrezorConnect) {
      TrezorConnect.on(DEVICE_EVENT, this._onTrezorDeviceEvent);
      TrezorConnect.on(UI_EVENT, this._onTrezorUIEvent);
    } else {
      Logger.error('TrezorConnectStore::_addTrezorConnectEventListeners:: TrezorConnect not installed');
    }
  };