xbr._interfaces

Classes

IBuyer

XBR Buyer interface.

IConsumer

XBR Consumer interface.

IDelegate

XBR Delegate interface.

IMarketMaker

XBR Market Maker interface.

IProvider

XBR Provider interface.

ISeller

XBR Seller interface.

Module Contents

class IBuyer[source]

Bases: abc.ABC

XBR Buyer interface.

abstractmethod start(session)[source]
Async:

Start buying keys over the provided session.

Parameters:

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

abstractmethod unwrap(key_id, enc_ser, ciphertext)[source]
Async:

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 IConsumer[source]

Bases: abc.ABC

XBR Consumer interface.

class IDelegate[source]

Bases: ISeller, IBuyer

XBR Delegate interface.

class IMarketMaker[source]

Bases: abc.ABC

XBR Market Maker interface.

abstractmethod 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:

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

  • details

Returns:

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

  • details

Returns:

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

  • price

  • details

Returns:

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

  • details

Returns:

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

  • details

Returns:

abstractmethod status(details)[source]
Parameters:

details

Returns:

class IProvider[source]

Bases: abc.ABC

XBR Provider interface.

abstractmethod 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 ISeller[source]

Bases: abc.ABC

XBR Seller interface.

abstractmethod start(session)[source]
Async:

Parameters:

session

Returns:

abstractmethod wrap(uri, payload)[source]
Async:

Parameters:
  • uri

  • payload

Returns: