Algorand constructor
Algorand({
- AlgorandOptions? options,
Implementation
factory Algorand({
AlgorandOptions? options,
}) {
final _options = options ?? AlgorandOptions();
final api = AlgorandApi();
final nodeRepository = NodeRepository(
service: NodeService(_options.algodClient.client),
);
final transactionRepository = TransactionRepository(
nodeService: NodeService(_options.algodClient.client),
transactionService: TransactionService(_options.algodClient.client),
);
final applicationRepository = ApplicationRepository(
applicationService: ApplicationService(_options.algodClient.client),
);
final blocksAlgodApi = BlocksAlgodApi(
api: api,
service: BlockAlgodService(_options.algodClient.client),
);
final accountsApi = AccountsAlgodApi(
api: api,
service: AccountAlgodService(_options.algodClient.client),
);
final boxesApi = BoxesAlgodApi(
api: api,
service: BoxAlgodService(_options.algodClient.client),
);
/// ------ Indexer APIs------ //
final assetsApi = AssetsIndexerApi(
api: api,
service: AssetIndexerService(_options.indexerClient.client),
);
final applicationsApi = ApplicationsIndexerApi(
api: api,
service: ApplicationIndexerService(_options.indexerClient.client),
);
final indexer = AlgorandIndexer(
indexerRepository: IndexerRepository(
indexerService: IndexerService(_options.indexerClient.client),
accountService: AccountService(_options.indexerClient.client),
assetService: AssetService(_options.indexerClient.client),
applicationService: ApplicationService(_options.indexerClient.client),
),
blocksApi: BlocksIndexerApi(
api: api,
service: BlockIndexerService(_options.indexerClient.client),
),
accountsApi: AccountsIndexerApi(
api: api,
service: AccountIndexerService(_options.indexerClient.client),
),
assetsApi: AssetsIndexerApi(
api: api,
service: AssetIndexerService(_options.indexerClient.client),
),
applicationsApi: ApplicationsIndexerApi(
api: api,
service: ApplicationIndexerService(_options.indexerClient.client),
),
boxesApi: BoxesIndexerApi(
api: api,
service: BoxIndexerService(_options.indexerClient.client),
),
);
return Algorand._(
options: _options,
nodeRepo: nodeRepository,
transactionRepo: transactionRepository,
applicationRepo: applicationRepository,
indexer: indexer,
blocksApi: blocksAlgodApi,
accountsApi: accountsApi,
assetsApi: assetsApi,
applicationsApi: applicationsApi,
boxesApi: boxesApi,
);
}