autobahn.xbr._gui


Module Contents

Classes

ApplicationWindow

Main application window which provides UI for the following functions:

ApplicationClient

WAMP application session for Twisted-based applications.

Application

Main XBR member application.

Functions

main(reactor, url, realm, profile)

Load the named user profile (or create a new one), overriding URL/realm,

_main()

GUI entry point, parsing command line arguments and then starting the

Attributes

LOGO_RESOURCE

autobahn.xbr._gui.LOGO_RESOURCE
class autobahn.xbr._gui.ApplicationWindow(reactor, session, config, config_path, profile, profile_name)

Bases: gi.repository.Gtk.Assistant

Main application window which provides UI for the following functions:

    1. New account

    1. Recover account:

    • R1) Backup cloud device in account enabled => download encrypted account data

      from cloud backup device, requires email (and 2FA) verification and password

    • R2) At least one device left in account and at hand => synchronize with existing device,

      direct device-to-device encrypted account data transfer

    • R3) Only cold storage recovery seed phrase left => account from seed-phrase full

      recovery, including new email and 2FA verification.

See also: * https://python-gtk-3-tutorial.readthedocs.io/en/latest/ * https://twistedmatrix.com/documents/current/core/howto/choosing-reactor.html

log
SELECTED_NONE = 0
SELECTED_NEW = 1
SELECTED_SYNCRONIZE = 2
SELECTED_RECOVER = 3
start()
on_complete_toggled(checkbutton)
_setup_page1()

Setup page shown when no config/profile could be found. Allows to select from:

  • new account

  • synchronize device

  • recover account

_setup_page2()

Setup page shown to generate a new seed phrase.

_setup_page3()
Returns

_setup_page4()

Page shown when member registration request was submitted, a verification email sent, and the verification request ID returned. The user now should check the email inbox for the received verification code, and continue verifying the code.

Returns

_setup_page5()

Page shown for a user (private eth key) that already is member.

Returns

class autobahn.xbr._gui.ApplicationClient(config=None)

Bases: autobahn.xbr._cli.Client

WAMP application session for Twisted-based applications.

Implements:

async onJoin(details)
get_status()
get_member(ethadr_raw)
class autobahn.xbr._gui.Application

Bases: object

Main XBR member application.

log
DOTDIR
DOTFILE = config.ini
async start(reactor, url=None, realm=None, profile=None)

Start main application. This will read the user configuration, potentially asking for a user password.

Parameters
  • reactor – Twisted reactor to use.

  • url – Optionally override network URL as defined in profile.

  • realm – Optionally override network URL as defined in profile.

  • profile – User profile name to load.

Returns

async autobahn.xbr._gui.main(reactor, url, realm, profile)

Load the named user profile (or create a new one), overriding URL/realm, connect to a network node, and start the network member on-boarding.

If the user credentials are already for a member, fetch member information and display member page.

Parameters
  • reactor – Twisted reactor to use.

  • url – Override network URL from user profile with this value.

  • realm – Override network realm from user profile with this value.

  • profile – Name of user profile within user configuration to load (eg from $HOME/.xbrnetwork/config.ini)

autobahn.xbr._gui._main()

GUI entry point, parsing command line arguments and then starting the actual main GUI program with parsed parameters.

To use, run:

xbrnetwork-ui --profile default --url ws://localhost:8090/ws --realm xbrnetwork

This will load the user profile "default" from the user configuration, but overriding any network URL and realm found therin.