autobahn.xbr._interfaces


Module Contents

Classes

IMarketMaker

XBR Market Maker interface.

IProvider

XBR Provider interface.

IConsumer

XBR Consumer interface.

ISeller

XBR Seller interface.

IBuyer

XBR Buyer interface.

IDelegate

XBR Delegate interface.

class autobahn.xbr._interfaces.IMarketMaker[source]

Bases: abc.ABC

XBR Market Maker interface.

abstract status(details)[source]
Parameters:

details

Returns:

abstract offer(key_id, price, details)[source]
Parameters:
  • key_id

  • price

  • details

Returns:

abstract revoke(key_id, details)[source]
Parameters:
  • key_id

  • details

Returns:

abstract quote(key_id, details)[source]
Parameters:
  • key_id

  • details

Returns:

abstract buy(channel_id, channel_seq, buyer_pubkey, datakey_id, amount, balance, signature, details)[source]
Parameters:
  • channel_id

  • channel_seq

  • buyer_pubkey

  • datakey_id

  • amount

  • balance

  • signature

  • details

Returns:

abstract get_payment_channels(address, details)[source]
Parameters:
  • address

  • details

Returns:

abstract get_payment_channel(channel_id, details)[source]
Parameters:
  • channel_id

  • details

Returns:

class autobahn.xbr._interfaces.IProvider[source]

Bases: abc.ABC

XBR Provider interface.

abstract sell(key_id, buyer_pubkey, amount_paid, post_balance, signature, details)[source]
Parameters:
  • key_id

  • buyer_pubkey

  • amount_paid

  • post_balance

  • signature

  • details

Returns:

class autobahn.xbr._interfaces.IConsumer[source]

Bases: abc.ABC

XBR Consumer interface.

class autobahn.xbr._interfaces.ISeller[source]

Bases: abc.ABC

XBR Seller interface.

abstract async start(session)[source]
Parameters:

session

Returns:

abstract async wrap(uri, payload)[source]
Parameters:
  • uri

  • payload

Returns:

class autobahn.xbr._interfaces.IBuyer[source]

Bases: abc.ABC

XBR Buyer interface.

abstract async start(session)[source]

Start buying keys over the provided session.

Parameters:

session – WAMP session that allows to talk to the XBR Market Maker.

abstract async unwrap(key_id, enc_ser, ciphertext)[source]

Decrypt and deserialize received XBR payload.

Parameters:
  • key_id (bytes) – The ID of the datakey the payload is encrypted with.

  • enc_ser (str) – The serializer that was used for serializing the payload. One of cbor, json, msgpack, ubjson.

  • ciphertext (bytes) – The encrypted payload to unwrap.

Returns:

The unwrapped application payload.

Return type:

object

class autobahn.xbr._interfaces.IDelegate[source]

Bases: ISeller, IBuyer

XBR Delegate interface.