UNPKG

@test-org122/hypernet-core

Version:

Hypernet Core. Represents the SDK for running the Hypernet Protocol.

58 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccountService = void 0; const neverthrow_1 = require("neverthrow"); /** * */ class AccountService { constructor(accountRepository, contextProvider, logUtils) { this.accountRepository = accountRepository; this.contextProvider = contextProvider; this.logUtils = logUtils; } getPublicIdentifier() { return this.accountRepository.getPublicIdentifier(); } getAccounts() { return this.accountRepository.getAccounts(); } getBalances() { return this.accountRepository.getBalances(); } depositFunds(assetAddress, amount) { this.logUtils.log(`HypernetCore:depositFunds: assetAddress: ${assetAddress}`); let context; return this.contextProvider .getContext() .andThen((contextVal) => { context = contextVal; return this.accountRepository.depositFunds(assetAddress, amount); }) .andThen(() => { return this.accountRepository.getBalances(); }) .andThen((balances) => { context.onBalancesChanged.next(balances); return neverthrow_1.okAsync(balances); }); } withdrawFunds(assetAddress, amount, destinationAddress) { let context; return this.contextProvider .getInitializedContext() .andThen((contextVal) => { context = contextVal; return this.accountRepository.withdrawFunds(assetAddress, amount, destinationAddress); }) .andThen(() => { return this.accountRepository.getBalances(); }) .andThen((balances) => { context.onBalancesChanged.next(balances); return neverthrow_1.okAsync(balances); }); } } exports.AccountService = AccountService; //# sourceMappingURL=AccountService.js.map