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_endorser_info_for_ledger(ledger_id: str) → Optional[Tuple[str, str]][source]

Return endorser alias, did tuple for provided ledger, if available.

get_ledger_id_by_ledger_pool_name(pool_name: str) → str[source]

Return ledger_id by ledger pool name.

get_ledger_inst_by_id(ledger_id: str) → Optional[aries_cloudagent.ledger.base.BaseLedger][source]

Return ledger instance by identifier.

get_nonprod_ledgers() → Mapping[source]

Return configured non production ledgers.

get_prod_ledgers() → Mapping[source]

Return configured production ledgers.

get_write_ledgers() → List[str][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.

set_profile_write_ledger(ledger_id: str, profile: aries_cloudagent.core.profile.Profile) → str[source]

Set the write ledger for the profile.

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 = {}, writable_ledgers: set = {}, endorser_map: dict = {}, cache_ttl: int = None)[source]

Bases: aries_cloudagent.ledger.multiple_ledger.base_manager.BaseMultipleLedgerManager

Multiple Indy SDK Ledger Manager.

get_endorser_info_for_ledger(ledger_id: str) → Optional[Tuple[str, str]][source]

Return endorser alias, did tuple for provided ledger, if available.

get_ledger_id_by_ledger_pool_name(pool_name: str) → str[source]

Return ledger_id by ledger pool name.

get_ledger_inst_by_id(ledger_id: str) → Optional[aries_cloudagent.ledger.base.BaseLedger][source]

Return BaseLedger instance.

get_nonprod_ledgers() → Mapping[source]

Return non_production ledgers mapping.

get_prod_ledgers() → Mapping[source]

Return production ledgers mapping.

get_write_ledgers() → List[str][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 = {}, writable_ledgers: set = {}, endorser_map: dict = {}, cache_ttl: int = None)[source]

Bases: aries_cloudagent.ledger.multiple_ledger.base_manager.BaseMultipleLedgerManager

Multiple Indy VDR Ledger Manager.

get_endorser_info_for_ledger(ledger_id: str) → Optional[Tuple[str, str]][source]

Return endorser alias, did tuple for provided ledger, if available.

get_ledger_id_by_ledger_pool_name(pool_name: str) → str[source]

Return ledger_id by ledger pool name.

get_ledger_inst_by_id(ledger_id: str) → Optional[aries_cloudagent.ledger.base.BaseLedger][source]

Return BaseLedger instance.

get_nonprod_ledgers() → Mapping[source]

Return non_production ledgers mapping.

get_prod_ledgers() → Mapping[source]

Return production ledgers mapping.

get_write_ledgers() → List[str][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.ConfigurableWriteLedgersSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Schema for list of configurable write ledger.

write_ledgers

Used by autodoc_mock_imports.

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.WriteLedgerSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Schema for 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.

get_ledger_inst(ledger_id: str) → Optional[aries_cloudagent.ledger.base.BaseLedger][source]

Return ledger instance from ledger_id set in config.

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.