aries_cloudagent.ledger.multiple_ledger package

Submodules

aries_cloudagent.ledger.multiple_ledger.base_manager module

Manager for multiple ledger.

class aries_cloudagent.ledger.multiple_ledger.base_manager.BaseMultipleLedgerManager(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: abc.ABC

Base class for handling multiple ledger support.

extract_did_from_identifier(identifier: str) → str[source]

Return did from record identifier (REV_REG_ID, CRED_DEF_ID, SCHEMA_ID).

get_nonprod_ledgers() → Mapping[source]

Return configured non production ledgers.

get_prod_ledgers() → Mapping[source]

Return configured production ledgers.

get_write_ledger() → Tuple[str, aries_cloudagent.ledger.base.BaseLedger][source]

Return write ledger.

lookup_did_in_configured_ledgers(did: str, cache_did: bool) → Tuple[str, aries_cloudagent.ledger.base.BaseLedger][source]

Lookup given DID in configured ledgers in parallel.

exception aries_cloudagent.ledger.multiple_ledger.base_manager.MultipleLedgerManagerError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Generic multiledger error.

aries_cloudagent.ledger.multiple_ledger.indy_manager module

Multiple IndySdkLedger Manager.

class aries_cloudagent.ledger.multiple_ledger.indy_manager.MultiIndyLedgerManager(profile: aries_cloudagent.core.profile.Profile, production_ledgers: collections.OrderedDict = {}, non_production_ledgers: collections.OrderedDict = {}, write_ledger_info: Tuple[str, aries_cloudagent.ledger.indy.IndySdkLedger] = None, cache_ttl: int = None)[source]

Bases: aries_cloudagent.ledger.multiple_ledger.base_manager.BaseMultipleLedgerManager

Multiple Indy SDK Ledger Manager.

get_nonprod_ledgers() → Mapping[source]

Return non_production ledgers mapping.

get_prod_ledgers() → Mapping[source]

Return production ledgers mapping.

get_write_ledger() → Optional[Tuple[str, aries_cloudagent.ledger.indy.IndySdkLedger]][source]

Return the write IndySdkLedger instance.

lookup_did_in_configured_ledgers(did: str, cache_did: bool = True) → Tuple[str, aries_cloudagent.ledger.indy.IndySdkLedger][source]

Lookup given DID in configured ledgers in parallel.

aries_cloudagent.ledger.multiple_ledger.indy_vdr_manager module

Multiple IndyVdrLedger Manager.

class aries_cloudagent.ledger.multiple_ledger.indy_vdr_manager.MultiIndyVDRLedgerManager(profile: aries_cloudagent.core.profile.Profile, production_ledgers: collections.OrderedDict = {}, non_production_ledgers: collections.OrderedDict = {}, write_ledger_info: Tuple[str, aries_cloudagent.ledger.indy_vdr.IndyVdrLedger] = None, cache_ttl: int = None)[source]

Bases: aries_cloudagent.ledger.multiple_ledger.base_manager.BaseMultipleLedgerManager

Multiple Indy VDR Ledger Manager.

get_nonprod_ledgers() → Mapping[source]

Return non_production ledgers mapping.

get_prod_ledgers() → Mapping[source]

Return production ledgers mapping.

get_write_ledger() → Optional[Tuple[str, aries_cloudagent.ledger.indy_vdr.IndyVdrLedger]][source]

Return the write IndyVdrLedger instance.

lookup_did_in_configured_ledgers(did: str, cache_did: bool = True) → Tuple[str, aries_cloudagent.ledger.indy_vdr.IndyVdrLedger][source]

Lookup given DID in configured ledgers in parallel.

aries_cloudagent.ledger.multiple_ledger.ledger_config_schema module

Schema for configuring multiple ledgers.

class aries_cloudagent.ledger.multiple_ledger.ledger_config_schema.LedgerConfigInstance(*, id: str = None, is_production: str = True, genesis_transactions: str = None, genesis_file: str = None, genesis_url: str = None)[source]

Bases: aries_cloudagent.messaging.models.base.BaseModel

describes each LedgerConfigInstance for multiple ledger support.

class Meta[source]

Bases: object

LedgerConfigInstance metadata.

schema_class = 'LedgerConfigInstanceSchema'
class aries_cloudagent.ledger.multiple_ledger.ledger_config_schema.LedgerConfigInstanceSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.base.BaseModelSchema

Single LedgerConfigInstance Schema.

class Meta[source]

Bases: object

LedgerConfigInstanceSchema metadata.

model_class

alias of LedgerConfigInstance

unknown

Used by autodoc_mock_imports.

genesis_file

Used by autodoc_mock_imports.

genesis_transactions

Used by autodoc_mock_imports.

genesis_url

Used by autodoc_mock_imports.

id

Used by autodoc_mock_imports.

is_production

Used by autodoc_mock_imports.

validate_id(data, **kwargs)[source]

Check if id is present, if not then set to UUID4.

class aries_cloudagent.ledger.multiple_ledger.ledger_config_schema.LedgerConfigListSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Schema for Ledger Config List.

ledger_config_list

Used by autodoc_mock_imports.

class aries_cloudagent.ledger.multiple_ledger.ledger_config_schema.MultipleLedgerModuleResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Schema for the multiple ledger modules endpoint.

class aries_cloudagent.ledger.multiple_ledger.ledger_config_schema.WriteLedgerRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Schema for setting/getting ledger_id for the write ledger.

ledger_id

Used by autodoc_mock_imports.

aries_cloudagent.ledger.multiple_ledger.ledger_requests_executor module

Ledger Request Executor.

class aries_cloudagent.ledger.multiple_ledger.ledger_requests_executor.IndyLedgerRequestsExecutor(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: object

Executes Ledger Requests based on multiple ledger config, if set.

get_ledger_for_identifier(identifier: str, txn_record_type: int) → Tuple[Optional[str], Optional[aries_cloudagent.ledger.base.BaseLedger]][source]

Return ledger info given the record identifier.

aries_cloudagent.ledger.multiple_ledger.manager_provider module

Profile manager for multiple Indy ledger support.

class aries_cloudagent.ledger.multiple_ledger.manager_provider.MultiIndyLedgerManagerProvider(root_profile)[source]

Bases: aries_cloudagent.config.base.BaseProvider

Multiple Indy ledger support manager provider.

LEDGER_TYPES = {'askar-profile': {'ledger': <aries_cloudagent.utils.classloader.DeferLoad object>, 'pool': <aries_cloudagent.utils.classloader.DeferLoad object>}, 'basic': {'ledger': <aries_cloudagent.utils.classloader.DeferLoad object>, 'pool': <aries_cloudagent.utils.classloader.DeferLoad object>}}
MANAGER_TYPES = {'askar-profile': <aries_cloudagent.utils.classloader.DeferLoad object>, 'basic': <aries_cloudagent.utils.classloader.DeferLoad object>}
provide(settings: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]

Create the multiple Indy ledger manager instance.