@cardano-sdk/wallet 0.49.2 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/cjs/Wallets/BaseWallet.d.ts +6 -7
  2. package/dist/cjs/Wallets/BaseWallet.d.ts.map +1 -1
  3. package/dist/cjs/Wallets/BaseWallet.js +14 -24
  4. package/dist/cjs/Wallets/BaseWallet.js.map +1 -1
  5. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +1 -0
  6. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -1
  7. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.js +6 -0
  8. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -1
  9. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts +4 -2
  10. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -1
  11. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js +10 -6
  12. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -1
  13. package/dist/cjs/persistence/pouchDbStores/PouchDbDocumentStore.d.ts +1 -0
  14. package/dist/cjs/persistence/pouchDbStores/PouchDbDocumentStore.d.ts.map +1 -1
  15. package/dist/cjs/persistence/pouchDbStores/PouchDbDocumentStore.js +11 -0
  16. package/dist/cjs/persistence/pouchDbStores/PouchDbDocumentStore.js.map +1 -1
  17. package/dist/cjs/persistence/pouchDbStores/PouchDbStore.d.ts +1 -1
  18. package/dist/cjs/persistence/pouchDbStores/PouchDbStore.d.ts.map +1 -1
  19. package/dist/cjs/persistence/pouchDbStores/PouchDbStore.js +5 -12
  20. package/dist/cjs/persistence/pouchDbStores/PouchDbStore.js.map +1 -1
  21. package/dist/cjs/persistence/pouchDbStores/pouchDbWalletStores.d.ts +4 -2
  22. package/dist/cjs/persistence/pouchDbStores/pouchDbWalletStores.d.ts.map +1 -1
  23. package/dist/cjs/persistence/pouchDbStores/pouchDbWalletStores.js +11 -7
  24. package/dist/cjs/persistence/pouchDbStores/pouchDbWalletStores.js.map +1 -1
  25. package/dist/cjs/persistence/types.d.ts +3 -1
  26. package/dist/cjs/persistence/types.d.ts.map +1 -1
  27. package/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.d.ts.map +1 -1
  28. package/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.js +2 -4
  29. package/dist/cjs/services/ChangeAddress/DynamicChangeAddressResolver.js.map +1 -1
  30. package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts +18 -16
  31. package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts.map +1 -1
  32. package/dist/cjs/services/DelegationTracker/DelegationTracker.js +51 -29
  33. package/dist/cjs/services/DelegationTracker/DelegationTracker.js.map +1 -1
  34. package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts +17 -51
  35. package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts.map +1 -1
  36. package/dist/cjs/services/DelegationTracker/RewardAccounts.js +65 -173
  37. package/dist/cjs/services/DelegationTracker/RewardAccounts.js.map +1 -1
  38. package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts +2 -4
  39. package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts.map +1 -1
  40. package/dist/cjs/services/DelegationTracker/RewardsHistory.js +6 -10
  41. package/dist/cjs/services/DelegationTracker/RewardsHistory.js.map +1 -1
  42. package/dist/cjs/services/DelegationTracker/transactionCertificates.d.ts.map +1 -1
  43. package/dist/cjs/services/DelegationTracker/transactionCertificates.js +1 -27
  44. package/dist/cjs/services/DelegationTracker/transactionCertificates.js.map +1 -1
  45. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts +3 -5
  46. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -1
  47. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js +2 -4
  48. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js.map +1 -1
  49. package/dist/cjs/services/ProviderTracker/TrackedRewardAccountInfoProvider.d.ts +18 -0
  50. package/dist/cjs/services/ProviderTracker/TrackedRewardAccountInfoProvider.d.ts.map +1 -0
  51. package/dist/cjs/services/ProviderTracker/TrackedRewardAccountInfoProvider.js +34 -0
  52. package/dist/cjs/services/ProviderTracker/TrackedRewardAccountInfoProvider.js.map +1 -0
  53. package/dist/cjs/services/ProviderTracker/index.d.ts +1 -0
  54. package/dist/cjs/services/ProviderTracker/index.d.ts.map +1 -1
  55. package/dist/cjs/services/ProviderTracker/index.js +1 -0
  56. package/dist/cjs/services/ProviderTracker/index.js.map +1 -1
  57. package/dist/cjs/services/TransactionsTracker.d.ts +3 -1
  58. package/dist/cjs/services/TransactionsTracker.d.ts.map +1 -1
  59. package/dist/cjs/services/TransactionsTracker.js +39 -19
  60. package/dist/cjs/services/TransactionsTracker.js.map +1 -1
  61. package/dist/cjs/services/WalletUtil.d.ts.map +1 -1
  62. package/dist/cjs/services/WalletUtil.js.map +1 -1
  63. package/dist/cjs/services/types.d.ts +1 -0
  64. package/dist/cjs/services/types.d.ts.map +1 -1
  65. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  66. package/dist/esm/Wallets/BaseWallet.d.ts +6 -7
  67. package/dist/esm/Wallets/BaseWallet.d.ts.map +1 -1
  68. package/dist/esm/Wallets/BaseWallet.js +15 -25
  69. package/dist/esm/Wallets/BaseWallet.js.map +1 -1
  70. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +1 -0
  71. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -1
  72. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js +6 -0
  73. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -1
  74. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts +4 -2
  75. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -1
  76. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js +7 -4
  77. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -1
  78. package/dist/esm/persistence/pouchDbStores/PouchDbDocumentStore.d.ts +1 -0
  79. package/dist/esm/persistence/pouchDbStores/PouchDbDocumentStore.d.ts.map +1 -1
  80. package/dist/esm/persistence/pouchDbStores/PouchDbDocumentStore.js +12 -1
  81. package/dist/esm/persistence/pouchDbStores/PouchDbDocumentStore.js.map +1 -1
  82. package/dist/esm/persistence/pouchDbStores/PouchDbStore.d.ts +1 -1
  83. package/dist/esm/persistence/pouchDbStores/PouchDbStore.d.ts.map +1 -1
  84. package/dist/esm/persistence/pouchDbStores/PouchDbStore.js +5 -12
  85. package/dist/esm/persistence/pouchDbStores/PouchDbStore.js.map +1 -1
  86. package/dist/esm/persistence/pouchDbStores/pouchDbWalletStores.d.ts +4 -2
  87. package/dist/esm/persistence/pouchDbStores/pouchDbWalletStores.d.ts.map +1 -1
  88. package/dist/esm/persistence/pouchDbStores/pouchDbWalletStores.js +8 -5
  89. package/dist/esm/persistence/pouchDbStores/pouchDbWalletStores.js.map +1 -1
  90. package/dist/esm/persistence/types.d.ts +3 -1
  91. package/dist/esm/persistence/types.d.ts.map +1 -1
  92. package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.d.ts.map +1 -1
  93. package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.js +2 -4
  94. package/dist/esm/services/ChangeAddress/DynamicChangeAddressResolver.js.map +1 -1
  95. package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts +18 -16
  96. package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts.map +1 -1
  97. package/dist/esm/services/DelegationTracker/DelegationTracker.js +54 -30
  98. package/dist/esm/services/DelegationTracker/DelegationTracker.js.map +1 -1
  99. package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts +17 -51
  100. package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts.map +1 -1
  101. package/dist/esm/services/DelegationTracker/RewardAccounts.js +63 -161
  102. package/dist/esm/services/DelegationTracker/RewardAccounts.js.map +1 -1
  103. package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts +2 -4
  104. package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts.map +1 -1
  105. package/dist/esm/services/DelegationTracker/RewardsHistory.js +8 -11
  106. package/dist/esm/services/DelegationTracker/RewardsHistory.js.map +1 -1
  107. package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts.map +1 -1
  108. package/dist/esm/services/DelegationTracker/transactionCertificates.js +1 -4
  109. package/dist/esm/services/DelegationTracker/transactionCertificates.js.map +1 -1
  110. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts +3 -5
  111. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -1
  112. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js +2 -4
  113. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js.map +1 -1
  114. package/dist/esm/services/ProviderTracker/TrackedRewardAccountInfoProvider.d.ts +18 -0
  115. package/dist/esm/services/ProviderTracker/TrackedRewardAccountInfoProvider.d.ts.map +1 -0
  116. package/dist/esm/services/ProviderTracker/TrackedRewardAccountInfoProvider.js +29 -0
  117. package/dist/esm/services/ProviderTracker/TrackedRewardAccountInfoProvider.js.map +1 -0
  118. package/dist/esm/services/ProviderTracker/index.d.ts +1 -0
  119. package/dist/esm/services/ProviderTracker/index.d.ts.map +1 -1
  120. package/dist/esm/services/ProviderTracker/index.js +1 -0
  121. package/dist/esm/services/ProviderTracker/index.js.map +1 -1
  122. package/dist/esm/services/TransactionsTracker.d.ts +3 -1
  123. package/dist/esm/services/TransactionsTracker.d.ts.map +1 -1
  124. package/dist/esm/services/TransactionsTracker.js +39 -19
  125. package/dist/esm/services/TransactionsTracker.js.map +1 -1
  126. package/dist/esm/services/WalletUtil.d.ts.map +1 -1
  127. package/dist/esm/services/WalletUtil.js.map +1 -1
  128. package/dist/esm/services/types.d.ts +1 -0
  129. package/dist/esm/services/types.d.ts.map +1 -1
  130. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  131. package/package.json +14 -14
@@ -1,171 +1,73 @@
1
- import { BigIntMath, deepEquals, isNotNil } from '@cardano-sdk/util';
2
1
  import { Cardano } from '@cardano-sdk/core';
3
- import { EMPTY, combineLatest, concat, distinctUntilChanged, filter, map, merge, mergeMap, of, pairwise, startWith, switchMap, tap } from 'rxjs';
4
- import { PAGE_SIZE } from '../TransactionsTracker.js';
5
- import { drepsToDelegatees, drepsToDrepIds } from '../DrepInfoTracker.js';
6
- import { lastStakeKeyCertOfType } from './transactionCertificates.js';
2
+ import { EMPTY, combineLatest, concat, distinctUntilChanged, filter, firstValueFrom, map, merge, mergeMap, of, startWith, switchMap, tap } from 'rxjs';
3
+ import { blockingWithLatestFrom } from '@cardano-sdk/util-rxjs';
7
4
  import { pollProvider } from '../util/index.js';
8
- import findLast from 'lodash/findLast.js';
9
5
  import isEqual from 'lodash/isEqual.js';
10
- import uniq from 'lodash/uniq.js';
11
- const allStakePoolsByPoolIds = async (stakePoolProvider, { poolIds }) => {
12
- let startAt = 0;
13
- let response = [];
14
- let pageResults = [];
15
- do {
16
- pageResults = (await stakePoolProvider.queryStakePools({
17
- filters: { identifier: { values: poolIds.map((poolId) => ({ id: poolId })) } },
18
- pagination: { limit: PAGE_SIZE, startAt }
19
- })).pageResults;
20
- startAt += PAGE_SIZE;
21
- response = [...response, ...pageResults];
22
- } while (pageResults.length === PAGE_SIZE);
23
- return response;
6
+ const affectsRewardAccount = (rewardAccount) => (tx) => {
7
+ const stakeCredentialHash = Cardano.RewardAccount.toHash(rewardAccount);
8
+ const hasRelevantStakeKeyCertificate = Cardano.stakeKeyCertificates(tx.body.certificates).some((cert) => cert.stakeCredential.hash === stakeCredentialHash);
9
+ const hasRelevantCertificate = hasRelevantStakeKeyCertificate ||
10
+ tx.body.certificates?.some((cert) => ((cert.__typename === Cardano.CertificateType.MIR ||
11
+ cert.__typename === Cardano.CertificateType.StakeDelegation ||
12
+ cert.__typename === Cardano.CertificateType.StakeVoteDelegation ||
13
+ cert.__typename === Cardano.CertificateType.VoteDelegation) &&
14
+ cert.stakeCredential?.hash === stakeCredentialHash) ||
15
+ (cert.__typename === Cardano.CertificateType.PoolRegistration &&
16
+ cert.poolParameters.rewardAccount === rewardAccount) ||
17
+ cert.__typename === Cardano.CertificateType.PoolRetirement ||
18
+ ((cert.__typename === Cardano.CertificateType.RegisterDelegateRepresentative ||
19
+ cert.__typename === Cardano.CertificateType.UnregisterDelegateRepresentative) &&
20
+ cert.dRepCredential.hash === stakeCredentialHash) ||
21
+ (cert.__typename === Cardano.CertificateType.StakeVoteDelegation &&
22
+ cert.stakeCredential.hash === stakeCredentialHash));
23
+ return (hasRelevantCertificate ||
24
+ tx.body.withdrawals?.some((withdrawal) => withdrawal.stakeAddress === rewardAccount) ||
25
+ false);
24
26
  };
25
- export const createQueryStakePoolsProvider = (stakePoolProvider, store, retryBackoffConfig, logger) => (poolIds) => {
26
- if (poolIds.length === 0) {
27
- stakePoolProvider.setStatInitialized(stakePoolProvider.stats.queryStakePools$);
28
- return of([]);
29
- }
30
- return merge(store.getValues(poolIds), pollProvider({
31
- logger,
32
- retryBackoffConfig,
33
- sample: () => allStakePoolsByPoolIds(stakePoolProvider, { poolIds })
34
- }).pipe(tap((pageResults) => {
35
- for (const stakePool of pageResults) {
36
- store.setValue(stakePool.id, stakePool);
37
- }
38
- })));
39
- };
40
- const getWithdrawalQuantity = (withdrawals, rewardAccount) => BigIntMath.sum(withdrawals?.map(({ quantity, stakeAddress }) => (stakeAddress === rewardAccount ? quantity : 0n)) || []);
41
- export const fetchRewardsTrigger$ = (epoch$, txOnChain$, rewardAccount) => merge(epoch$, txOnChain$.pipe(map(({ body: { withdrawals } }) => getWithdrawalQuantity(withdrawals, rewardAccount)), filter((withdrawalQty) => withdrawalQty > 0n)));
42
- export const createRewardsProvider = (epoch$, txOnChain$, rewardsProvider, retryBackoffConfig, logger) => (rewardAccounts, equals = isEqual) => combineLatest(rewardAccounts.map((rewardAccount) => pollProvider({
43
- equals,
27
+ export const createRewardAccountInfoProvider = ({ epoch$, externalTrigger$, rewardAccountInfoProvider, retryBackoffConfig, logger }) => (rewardAccount) => pollProvider({
28
+ equals: isEqual,
44
29
  logger,
45
30
  retryBackoffConfig,
46
- sample: () => rewardsProvider.rewardAccountBalance({ rewardAccount }),
47
- trigger$: fetchRewardsTrigger$(epoch$, txOnChain$, rewardAccount)
48
- })));
49
- const getAccountsCredentialStatus = (addresses) => ([transactions, transactionsInFlight]) => {
50
- const certificatesInFlight = transactionsInFlight.map(({ body: { certificates } }) => certificates || []);
51
- return addresses.map((address) => {
52
- const regCert = lastStakeKeyCertOfType(transactions.map(({ tx: { body: { certificates } } }) => certificates || []), Cardano.StakeRegistrationCertificateTypes, address);
53
- let deposit;
54
- if (regCert && Cardano.isCertType(regCert, Cardano.PostConwayStakeRegistrationCertificateTypes)) {
55
- deposit = regCert.deposit;
56
- }
57
- const isRegistering = !!lastStakeKeyCertOfType(certificatesInFlight, Cardano.StakeRegistrationCertificateTypes, address);
58
- const isUnregistering = !!lastStakeKeyCertOfType(certificatesInFlight, [Cardano.CertificateType.StakeDeregistration, Cardano.CertificateType.Unregistration], address);
59
- const credentialStatus = isRegistering
60
- ? Cardano.StakeCredentialStatus.Registering
61
- : isUnregistering
62
- ? Cardano.StakeCredentialStatus.Unregistering
63
- : regCert
64
- ? Cardano.StakeCredentialStatus.Registered
65
- : Cardano.StakeCredentialStatus.Unregistered;
66
- return { ...(credentialStatus === Cardano.StakeCredentialStatus.Registered && { deposit }), credentialStatus };
67
- });
68
- };
69
- const accountCertificateTransactions = (transactions$, rewardAccount) => {
70
- const stakeKeyHash = Cardano.RewardAccount.toHash(rewardAccount);
71
- return transactions$.pipe(map((transactions) => transactions
72
- .map(({ tx, epoch }) => ({
73
- certificates: (tx.body.certificates || [])
74
- .map((cert) => Cardano.isCertType(cert, [
75
- ...Cardano.RegAndDeregCertificateTypes,
76
- ...Cardano.StakeDelegationCertificateTypes
77
- ])
78
- ? cert
79
- : null)
80
- .filter(isNotNil)
81
- .filter((cert) => cert.stakeCredential.hash === stakeKeyHash),
82
- epoch
83
- }))
84
- .filter(({ certificates }) => certificates.length > 0)), distinctUntilChanged((a, b) => isEqual(a, b)));
85
- };
86
- const accountDRepCertificateTransactions = (transactions$, rewardAccount) => {
87
- const stakeKeyHash = Cardano.RewardAccount.toHash(rewardAccount);
88
- return transactions$.pipe(map((transactions) => transactions
89
- .map(({ tx, epoch }) => ({
90
- certificates: (tx.body.certificates || [])
91
- .map((cert) => Cardano.isCertType(cert, [
92
- ...Cardano.VoteDelegationCredentialCertificateTypes,
93
- Cardano.CertificateType.StakeDeregistration,
94
- Cardano.CertificateType.Unregistration
95
- ])
96
- ? cert
97
- : null)
98
- .filter(isNotNil)
99
- .filter((cert) => cert.stakeCredential.hash === stakeKeyHash),
100
- epoch
101
- }))
102
- .filter(({ certificates }) => certificates.length > 0)), distinctUntilChanged((a, b) => isEqual(a, b)));
31
+ sample: async () => rewardAccountInfoProvider.rewardAccountInfo(rewardAccount, await firstValueFrom(epoch$)),
32
+ trigger$: merge(epoch$, externalTrigger$)
33
+ });
34
+ const nextRewardBalance = (rewardAccount, txsInFlight) => {
35
+ const hasWithdrawal = txsInFlight.some((tx) => tx.body.withdrawals?.some((withdrawal) => withdrawal.stakeAddress === rewardAccount));
36
+ return hasWithdrawal ? 0n : null;
103
37
  };
104
- export const getStakePoolIdAtEpoch = (transactions) => (atEpoch) => {
105
- const certificatesUpToEpoch = transactions
106
- .filter(({ epoch }) => epoch < atEpoch - 2)
107
- .map(({ certificates }) => certificates);
108
- if (!lastStakeKeyCertOfType(certificatesUpToEpoch, Cardano.StakeRegistrationCertificateTypes)) {
109
- return;
110
- }
111
- const delegationTxCertificates = findLast(certificatesUpToEpoch, (certs) => Cardano.includesAnyCertificate(certs, Cardano.StakeDelegationCertificateTypes));
112
- if (!delegationTxCertificates)
113
- return;
114
- return findLast(delegationTxCertificates
115
- .map((cert) => (Cardano.isCertType(cert, Cardano.StakeDelegationCertificateTypes) ? cert : null))
116
- .filter(isNotNil))?.poolId;
117
- };
118
- export const createDelegateeTracker = (stakePoolProvider, epoch$, certificates$) => combineLatest([certificates$, epoch$]).pipe(switchMap(([transactions, lastEpoch]) => {
119
- const stakePoolIds = [
120
- Cardano.EpochNo(lastEpoch + 1),
121
- Cardano.EpochNo(lastEpoch + 2),
122
- Cardano.EpochNo(lastEpoch + 3)
123
- ].map(getStakePoolIdAtEpoch(transactions));
124
- const uniqStakePoolIds = uniq(stakePoolIds.filter(isNotNil));
125
- return stakePoolProvider(uniqStakePoolIds).pipe(map((stakePools) => stakePoolIds.map((poolId) => stakePools.find((pool) => pool.id === poolId) || undefined)), map(([currentEpoch, nextEpoch, nextNextEpoch]) => ({ currentEpoch, nextEpoch, nextNextEpoch })));
126
- }), distinctUntilChanged((a, b) => isEqual(a, b)));
127
- export const createDRepDelegateeTracker = (certificates$) => certificates$.pipe(switchMap((certs) => {
128
- const sortedCerts = [...certs].sort((a, b) => a.epoch - b.epoch);
129
- const mostRecent = sortedCerts.pop()?.certificates.pop();
130
- let dRep;
131
- if (mostRecent &&
132
- !Cardano.isCertType(mostRecent, [
133
- Cardano.CertificateType.StakeDeregistration,
134
- Cardano.CertificateType.Unregistration
135
- ])) {
136
- dRep = mostRecent.dRep;
137
- }
138
- return of(dRep);
139
- }), distinctUntilChanged((a, b) => isEqual(a, b)));
140
- export const addressCredentialStatuses = (addresses, transactions$, transactionsInFlight$) => combineLatest([transactions$, transactionsInFlight$]).pipe(map(getAccountsCredentialStatus(addresses)), distinctUntilChanged(deepEquals));
141
- export const addressDelegatees = (addresses, transactions$, stakePoolProvider, epoch$) => combineLatest(addresses.map((address) => createDelegateeTracker(stakePoolProvider, epoch$, accountCertificateTransactions(transactions$, address))));
142
- export const addressDRepDelegatees = (addresses, transactions$, drepInfo$) => combineLatest(addresses.map((address) => createDRepDelegateeTracker(accountDRepCertificateTransactions(transactions$, address)))).pipe(switchMap((dreps) => drepInfo$(drepsToDrepIds(dreps)).pipe(map(drepsToDelegatees(dreps)))));
143
- export const addressRewards = (rewardAccounts, transactionsInFlight$, rewardsProvider, balancesStore) => {
144
- const rewards$ = concat(balancesStore.getValues(rewardAccounts), rewardsProvider(rewardAccounts, () => false).pipe(tap((balances) => {
145
- for (const [i, rewardAccount] of rewardAccounts.entries()) {
146
- balancesStore.setValue(rewardAccount, balances[i]);
38
+ const nextDeposit = (rewardAccount, txsInFlight, depositAmount) => {
39
+ const stakeCredentialHash = Cardano.RewardAccount.toHash(rewardAccount);
40
+ for (let txIndex = txsInFlight.length - 1; txIndex >= 0; txIndex--) {
41
+ const certificates = txsInFlight[txIndex].body.certificates || [];
42
+ for (let certIndex = certificates.length - 1; certIndex >= 0; certIndex--) {
43
+ const certificate = certificates[certIndex];
44
+ if (certificate.__typename === Cardano.CertificateType.StakeDeregistration &&
45
+ certificate.stakeCredential.hash === stakeCredentialHash) {
46
+ return 0n;
47
+ }
48
+ if ((certificate.__typename === Cardano.CertificateType.StakeRegistration ||
49
+ certificate.__typename === Cardano.CertificateType.StakeRegistrationDelegation ||
50
+ certificate.__typename === Cardano.CertificateType.StakeVoteRegistrationDelegation) &&
51
+ certificate.stakeCredential.hash === stakeCredentialHash) {
52
+ return depositAmount;
53
+ }
147
54
  }
148
- })));
149
- const withdrawalsInFlight$ = transactionsInFlight$.pipe(map((txs) => txs.flatMap(({ body: { withdrawals } }) => withdrawals).filter(isNotNil)), distinctUntilChanged(deepEquals));
150
- return combineLatest([rewards$, withdrawalsInFlight$]).pipe(startWith([[], []]), pairwise(), mergeMap(([[_, prevWithdrawalsInFlight], [totalRewards, withdrawalsInFlight]]) => {
151
- if (prevWithdrawalsInFlight.length > withdrawalsInFlight.length) {
152
- return EMPTY;
153
- }
154
- return of(totalRewards.map((total, i) => total - getWithdrawalQuantity(withdrawalsInFlight, rewardAccounts[i])));
155
- }), distinctUntilChanged(deepEquals));
55
+ }
56
+ return null;
156
57
  };
157
- export const toRewardAccounts = (addresses) => ([statuses, delegatees, dReps, rewards]) => addresses.map((address, i) => ({
158
- address,
159
- credentialStatus: statuses[i].credentialStatus,
160
- dRepDelegatee: dReps[i],
161
- delegatee: delegatees[i],
162
- deposit: statuses[i].deposit,
163
- rewardBalance: rewards[i]
164
- }));
165
- export const createRewardAccountsTracker = ({ drepInfo$, rewardAccountAddresses$, stakePoolProvider, rewardsProvider, epoch$, balancesStore, transactions$, transactionsInFlight$ }) => rewardAccountAddresses$.pipe(switchMap((rewardAccounts) => combineLatest([
166
- addressCredentialStatuses(rewardAccounts, transactions$, transactionsInFlight$),
167
- addressDelegatees(rewardAccounts, transactions$, stakePoolProvider, epoch$),
168
- addressDRepDelegatees(rewardAccounts, transactions$, drepInfo$),
169
- addressRewards(rewardAccounts, transactionsInFlight$, rewardsProvider, balancesStore)
170
- ]).pipe(map(toRewardAccounts(rewardAccounts)))));
58
+ export const createRewardAccountsTracker = ({ rewardAccountAddresses$, rewardAccountInfoProvider, store, newTransaction$, protocolParameters$, transactionsInFlight$ }) => rewardAccountAddresses$.pipe(switchMap((rewardAccounts) => combineLatest(rewardAccounts.map((rewardAccount) => concat(store.getValues([rewardAccount]).pipe(mergeMap((values) => (values.length > 0 ? of(values[0]) : EMPTY))), newTransaction$.pipe(filter(affectsRewardAccount(rewardAccount)), startWith(null)).pipe(switchMap(() => rewardAccountInfoProvider(rewardAccount).pipe(tap((rewardAccountInfo) => store.setValue(rewardAccount, rewardAccountInfo).subscribe()), blockingWithLatestFrom(protocolParameters$), switchMap(([rewardAccountInfo, { stakeKeyDeposit }]) => transactionsInFlight$.pipe(map((txsInFlight) => {
59
+ if (txsInFlight.length === 0)
60
+ return rewardAccountInfo;
61
+ const nextDepositValue = nextDeposit(rewardAccount, txsInFlight, BigInt(stakeKeyDeposit));
62
+ return {
63
+ ...rewardAccountInfo,
64
+ credentialStatus: typeof nextDepositValue === 'bigint'
65
+ ? nextDepositValue > 0n
66
+ ? Cardano.StakeCredentialStatus.Registering
67
+ : Cardano.StakeCredentialStatus.Unregistering
68
+ : rewardAccountInfo.credentialStatus,
69
+ deposit: nextDepositValue ?? rewardAccountInfo.deposit,
70
+ rewardBalance: nextRewardBalance(rewardAccount, txsInFlight) ?? rewardAccountInfo.rewardBalance
71
+ };
72
+ }))))))).pipe(distinctUntilChanged(isEqual))))));
171
73
  //# sourceMappingURL=RewardAccounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RewardAccounts.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardAccounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RewardAccounts.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardAccounts.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,7 @@ import { Observable } from 'rxjs';
5
5
  import { RetryBackoffConfig } from 'backoff-rxjs';
6
6
  import { RewardsHistory } from '../types.js';
7
7
  import { TrackedRewardsProvider } from '../ProviderTracker/index.js';
8
- import { TxWithEpoch } from './types.js';
9
- export declare const calcFirstDelegationEpoch: (epoch: Cardano.EpochNo) => number;
10
- export declare const createRewardsHistoryProvider: (rewardsProvider: TrackedRewardsProvider, retryBackoffConfig: RetryBackoffConfig) => (rewardAccounts: Cardano.RewardAccount[], lowerBound: Cardano.EpochNo | null, logger: Logger) => Observable<Map<Cardano.RewardAccount, Reward[]>>;
8
+ export declare const createRewardsHistoryProvider: (rewardsProvider: TrackedRewardsProvider, retryBackoffConfig: RetryBackoffConfig) => (rewardAccounts: Cardano.RewardAccount[], lowerBound: Cardano.EpochNo | null, epoch$: Observable<Cardano.EpochNo>, logger: Logger) => Observable<Map<Cardano.RewardAccount, Reward[]>>;
11
9
  export declare type RewardsHistoryProvider = ReturnType<typeof createRewardsHistoryProvider>;
12
- export declare const createRewardsHistoryTracker: (transactions$: Observable<TxWithEpoch[]>, rewardAccounts$: Observable<Cardano.RewardAccount[]>, rewardsHistoryProvider: RewardsHistoryProvider, rewardsHistoryStore: KeyValueStore<Cardano.RewardAccount, Reward[]>, logger: Logger) => Observable<RewardsHistory>;
10
+ export declare const createRewardsHistoryTracker: (rewardAccounts$: Observable<Cardano.RewardAccount[]>, epoch$: Observable<Cardano.EpochNo>, rewardsHistoryProvider: RewardsHistoryProvider, rewardsHistoryStore: KeyValueStore<Cardano.RewardAccount, Reward[]>, logger: Logger) => Observable<RewardsHistory>;
13
11
  //# sourceMappingURL=RewardsHistory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RewardsHistory.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardsHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAyB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAyD,MAAM,MAAM,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,eAAO,MAAM,wBAAwB,UAAW,QAAQ,OAAO,KAAG,MAA+C,CAAC;AAKlH,eAAO,MAAM,4BAA4B,oBACrB,sBAAsB,sBAAsB,kBAAkB,sBAE9D,QAAQ,aAAa,EAAE,cAC3B,QAAQ,OAAO,GAAG,IAAI,UAC1B,MAAM,KACb,WAAW,IAAI,QAAQ,aAAa,EAAE,MAAM,EAAE,CAAC,CAcjD,CAAC;AAEJ,oBAAY,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAerF,eAAO,MAAM,2BAA2B,kBACvB,WAAW,WAAW,EAAE,CAAC,mBACvB,WAAW,QAAQ,aAAa,EAAE,CAAC,0BAC5B,sBAAsB,uBACzB,cAAc,QAAQ,aAAa,EAAE,MAAM,EAAE,CAAC,UAC3D,MAAM,KACb,WAAW,cAAc,CAgDvB,CAAC"}
1
+ {"version":3,"file":"RewardsHistory.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardsHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAmC,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAQ5D,eAAO,MAAM,4BAA4B,oBACrB,sBAAsB,sBAAsB,kBAAkB,sBAE9D,QAAQ,aAAa,EAAE,cAC3B,QAAQ,OAAO,GAAG,IAAI,UAC1B,WAAW,QAAQ,OAAO,CAAC,UAC3B,MAAM,KACb,WAAW,IAAI,QAAQ,aAAa,EAAE,MAAM,EAAE,CAAC,CAejD,CAAC;AAEJ,oBAAY,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAErF,eAAO,MAAM,2BAA2B,oBACrB,WAAW,QAAQ,aAAa,EAAE,CAAC,UAC5C,WAAW,QAAQ,OAAO,CAAC,0BACX,sBAAsB,uBACzB,cAAc,QAAQ,aAAa,EAAE,MAAM,EAAE,CAAC,UAC3D,MAAM,KACb,WAAW,cAAc,CA+CvB,CAAC"}
@@ -1,15 +1,12 @@
1
- import { BigIntMath, isNotNil } from '@cardano-sdk/util';
2
- import { Cardano, getCertificatesByType } from '@cardano-sdk/core';
3
- import { concat, distinctUntilChanged, map, of, switchMap, tap } from 'rxjs';
1
+ import { BigIntMath } from '@cardano-sdk/util';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { concat, map, of, switchMap, tap } from 'rxjs';
4
4
  import { pollProvider } from '../util/index.js';
5
- import first from 'lodash/first.js';
6
5
  import flatten from 'lodash/flatten.js';
7
6
  import sortBy from 'lodash/sortBy.js';
8
- const DELEGATION_EPOCHS_AHEAD_COUNT = 2;
9
- export const calcFirstDelegationEpoch = (epoch) => epoch + DELEGATION_EPOCHS_AHEAD_COUNT;
10
7
  const sumRewards = (arrayOfRewards) => BigIntMath.sum(arrayOfRewards.map(({ rewards }) => rewards));
11
8
  const avgReward = (arrayOfRewards) => sumRewards(arrayOfRewards) / BigInt(arrayOfRewards.length);
12
- export const createRewardsHistoryProvider = (rewardsProvider, retryBackoffConfig) => (rewardAccounts, lowerBound, logger) => {
9
+ export const createRewardsHistoryProvider = (rewardsProvider, retryBackoffConfig) => (rewardAccounts, lowerBound, epoch$, logger) => {
13
10
  if (lowerBound) {
14
11
  return pollProvider({
15
12
  logger,
@@ -17,17 +14,17 @@ export const createRewardsHistoryProvider = (rewardsProvider, retryBackoffConfig
17
14
  sample: () => rewardsProvider.rewardsHistory({
18
15
  epochs: { lowerBound },
19
16
  rewardAccounts
20
- })
17
+ }),
18
+ trigger$: epoch$
21
19
  });
22
20
  }
23
21
  rewardsProvider.setStatInitialized(rewardsProvider.stats.rewardsHistory$);
24
22
  return of(new Map());
25
23
  };
26
- const firstDelegationEpoch$ = (transactions$, rewardAccounts) => transactions$.pipe(map((transactions) => first(transactions.filter(({ tx }) => getCertificatesByType(tx, rewardAccounts, Cardano.StakeDelegationCertificateTypes).length > 0))), map((tx) => (isNotNil(tx) ? calcFirstDelegationEpoch(tx.epoch) : null)), distinctUntilChanged());
27
- export const createRewardsHistoryTracker = (transactions$, rewardAccounts$, rewardsHistoryProvider, rewardsHistoryStore, logger) => rewardAccounts$
24
+ export const createRewardsHistoryTracker = (rewardAccounts$, epoch$, rewardsHistoryProvider, rewardsHistoryStore, logger) => rewardAccounts$
28
25
  .pipe(tap((rewardsAccounts) => logger.debug(`Fetching rewards for ${rewardsAccounts.length} accounts`)), switchMap((rewardAccounts) => concat(rewardsHistoryStore
29
26
  .getValues(rewardAccounts)
30
- .pipe(map((rewards) => new Map(rewardAccounts.map((rewardAccount, i) => [rewardAccount, rewards[i]])))), firstDelegationEpoch$(transactions$, rewardAccounts).pipe(tap((firstEpoch) => logger.debug(`Fetching history rewards since epoch ${firstEpoch}`)), switchMap((firstEpoch) => rewardsHistoryProvider(rewardAccounts, Cardano.EpochNo(firstEpoch), logger)), tap((allRewards) => rewardsHistoryStore.setAll([...allRewards.entries()].map(([key, value]) => ({ key, value }))))))))
27
+ .pipe(map((rewards) => new Map(rewardAccounts.map((rewardAccount, i) => [rewardAccount, rewards[i]])))), rewardsHistoryProvider(rewardAccounts, Cardano.EpochNo(1), epoch$, logger).pipe(tap((allRewards) => rewardsHistoryStore.setAll([...allRewards.entries()].map(([key, value]) => ({ key, value }))))))))
31
28
  .pipe(map((rewardsByAccount) => {
32
29
  const all = sortBy(flatten([...rewardsByAccount.values()]), 'epoch');
33
30
  if (all.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"RewardsHistory.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardsHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RewardsHistory.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardsHistory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionCertificates.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/transactionCertificates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAyB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAA4C,MAAM,MAAM,CAAC;AAK5E,eAAO,MAAM,sBAAsB,qXACP,QAAQ,WAAW,EAAE,EAAE,2CAEjC,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;gBAoBtC,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBACxB,WAAW,QAAQ,UAAU,EAAE,CAAC,mBAC9B,WAAW,QAAQ,aAAa,EAAE,CAAC,oBAClC,QAAQ,eAAe,EAAE,qCAO1C,CAAC"}
1
+ {"version":3,"file":"transactionCertificates.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/transactionCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAA4C,MAAM,MAAM,CAAC;AAK5E,eAAO,MAAM,sBAAsB,qXACP,QAAQ,WAAW,EAAE,EAAE,2CAEjC,QAAQ,aAAa;;;;;;;;;;;;;;;;;;;;gBAkBtC,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBACxB,WAAW,QAAQ,UAAU,EAAE,CAAC,mBAC9B,WAAW,QAAQ,aAAa,EAAE,CAAC,oBAClC,QAAQ,eAAe,EAAE,qCAO1C,CAAC"}
@@ -1,13 +1,10 @@
1
- import * as Crypto from '@cardano-sdk/crypto';
2
1
  import { Cardano, getCertificatesByType } from '@cardano-sdk/core';
3
2
  import { combineLatest, distinctUntilChanged, map } from 'rxjs';
4
3
  import { isNotNil } from '@cardano-sdk/util';
5
4
  import { transactionsEquals } from '../util/equals.js';
6
5
  import last from 'lodash/last.js';
7
6
  export const lastStakeKeyCertOfType = (transactionsCertificates, certTypes, rewardAccount) => {
8
- const stakeKeyHash = rewardAccount
9
- ? Crypto.Hash28ByteBase16.fromEd25519KeyHashHex(Cardano.RewardAccount.toHash(rewardAccount))
10
- : null;
7
+ const stakeKeyHash = rewardAccount ? Cardano.RewardAccount.toHash(rewardAccount) : null;
11
8
  const lastRegOrDereg = last(transactionsCertificates
12
9
  .map((certificates) => {
13
10
  const allStakeKeyCertificates = Cardano.stakeKeyCertificates(certificates);
@@ -1 +1 @@
1
- {"version":3,"file":"transactionCertificates.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/transactionCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAc,aAAa,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,wBAAiD,EACjD,SAAuB,EACvB,aAAqC,EACrC,EAAE;IACF,MAAM,YAAY,GAAG,aAAa;QAChC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5F,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,IAAI,CACzB,wBAAwB;SACrB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACpB,MAAM,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,2BAA2B,GAAG,YAAY;YAC9C,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,aAAa,CAAC,IAAI,CAAC;YAC7G,CAAC,CAAC,uBAAuB,CAAC;QAC5B,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,MAAM,CAAC,QAAQ,CAAC,CACpB,CAAC;IAEF,IAAI,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE;QACnE,OAAO,cAAc,CAAC;KACvB;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,aAA+C,EAC/C,eAAoD,EACpD,gBAA2C,EAC3C,EAAE,CACF,aAAa,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAClD,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,EAAE,CACrC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CACpG,EACD,oBAAoB,CAAC,kBAAkB,CAAC,CACzC,CAAC"}
1
+ {"version":3,"file":"transactionCertificates.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/transactionCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAc,aAAa,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,wBAAiD,EACjD,SAAuB,EACvB,aAAqC,EACrC,EAAE;IACF,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,MAAM,cAAc,GAAG,IAAI,CACzB,wBAAwB;SACrB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACpB,MAAM,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,2BAA2B,GAAG,YAAY;YAC9C,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,aAAa,CAAC,IAAI,CAAC;YAC7G,CAAC,CAAC,uBAAuB,CAAC;QAC5B,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,MAAM,CAAC,QAAQ,CAAC,CACpB,CAAC;IAEF,IAAI,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE;QACnE,OAAO,cAAc,CAAC;KACvB;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,aAA+C,EAC/C,eAAoD,EACpD,gBAA2C,EAC3C,EAAE,CACF,aAAa,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAClD,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,EAAE,CACrC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CACpG,EACD,oBAAoB,CAAC,kBAAkB,CAAC,CACzC,CAAC"}
@@ -4,9 +4,8 @@ import { Milliseconds } from '../types.js';
4
4
  import { ProviderFnStats } from './ProviderTracker.js';
5
5
  import { TrackedAssetProvider } from './TrackedAssetProvider.js';
6
6
  import { TrackedChainHistoryProvider } from './TrackedChainHistoryProvider.js';
7
- import { TrackedDrepProvider } from './TrackedDrepProvider.js';
7
+ import { TrackedRewardAccountInfoProvider } from './TrackedRewardAccountInfoProvider.js';
8
8
  import { TrackedRewardsProvider } from './TrackedRewardsProvider.js';
9
- import { TrackedStakePoolProvider } from './TrackedStakePoolProvider.js';
10
9
  import { TrackedUtxoProvider } from './TrackedUtxoProvider.js';
11
10
  import { TrackedWalletNetworkInfoProvider } from './TrackedWalletNetworkInfoProvider.js';
12
11
  import { TrackerSubject } from '@cardano-sdk/util-rxjs';
@@ -14,16 +13,15 @@ export interface ProviderStatusTrackerProps {
14
13
  consideredOutOfSyncAfter: Milliseconds;
15
14
  }
16
15
  export interface ProviderStatusTrackerDependencies {
17
- stakePoolProvider: TrackedStakePoolProvider;
18
16
  networkInfoProvider: TrackedWalletNetworkInfoProvider;
19
17
  assetProvider: TrackedAssetProvider;
20
18
  utxoProvider: TrackedUtxoProvider;
21
19
  chainHistoryProvider: TrackedChainHistoryProvider;
22
- drepProvider: TrackedDrepProvider;
23
20
  rewardsProvider: TrackedRewardsProvider;
21
+ rewardAccountInfoProvider: TrackedRewardAccountInfoProvider;
24
22
  logger: Logger;
25
23
  }
26
- declare const getDefaultProviderSyncRelevantStats: ({ stakePoolProvider, networkInfoProvider, assetProvider, utxoProvider, chainHistoryProvider, rewardsProvider, drepProvider }: ProviderStatusTrackerDependencies) => Observable<ProviderFnStats[]>;
24
+ declare const getDefaultProviderSyncRelevantStats: ({ networkInfoProvider, assetProvider, utxoProvider, chainHistoryProvider, rewardAccountInfoProvider, rewardsProvider }: ProviderStatusTrackerDependencies) => Observable<ProviderFnStats[]>;
27
25
  export interface ProviderStatusTrackerInternals {
28
26
  getProviderSyncRelevantStats?: typeof getDefaultProviderSyncRelevantStats;
29
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderStatusTracker.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderStatusTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAiBX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,wBAAwB,EAAE,YAAY,CAAC;CACxC;AAED,MAAM,WAAW,iCAAiC;IAChD,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,mBAAmB,EAAE,gCAAgC,CAAC;IACtD,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,oBAAoB,EAAE,2BAA2B,CAAC;IAClD,YAAY,EAAE,mBAAmB,CAAC;IAClC,eAAe,EAAE,sBAAsB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,mCAAmC,iIAQtC,iCAAiC,KAAG,WAAW,eAAe,EAAE,CAa/D,CAAC;AAEL,MAAM,WAAW,8BAA8B;IAK7C,4BAA4B,CAAC,EAAE,OAAO,mCAAmC,CAAC;CAC3E;AAED,eAAO,MAAM,2BAA2B,iBACxB,iCAAiC,gCACjB,0BAA0B,qCACgB,8BAA8B;;;;;CAqDvG,CAAC"}
1
+ {"version":3,"file":"ProviderStatusTracker.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderStatusTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAiBX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,wBAAwB,EAAE,YAAY,CAAC;CACxC;AAED,MAAM,WAAW,iCAAiC;IAChD,mBAAmB,EAAE,gCAAgC,CAAC;IACtD,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,oBAAoB,EAAE,2BAA2B,CAAC;IAClD,eAAe,EAAE,sBAAsB,CAAC;IACxC,yBAAyB,EAAE,gCAAgC,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,mCAAmC,2HAOtC,iCAAiC,KAAG,WAAW,eAAe,EAAE,CAW/D,CAAC;AAEL,MAAM,WAAW,8BAA8B;IAK7C,4BAA4B,CAAC,EAAE,OAAO,mCAAmC,CAAC;CAC3E;AAED,eAAO,MAAM,2BAA2B,iBACxB,iCAAiC,gCACjB,0BAA0B,qCACgB,8BAA8B;;;;;CAqDvG,CAAC"}
@@ -1,17 +1,15 @@
1
1
  import { EMPTY, combineLatest, concat, debounce, debounceTime, distinctUntilChanged, filter, interval, map, mergeMap, of, share, skipWhile, switchMap, take, tap, timer } from 'rxjs';
2
2
  import { TrackerSubject } from '@cardano-sdk/util-rxjs';
3
- const getDefaultProviderSyncRelevantStats = ({ stakePoolProvider, networkInfoProvider, assetProvider, utxoProvider, chainHistoryProvider, rewardsProvider, drepProvider }) => combineLatest([
3
+ const getDefaultProviderSyncRelevantStats = ({ networkInfoProvider, assetProvider, utxoProvider, chainHistoryProvider, rewardAccountInfoProvider, rewardsProvider }) => combineLatest([
4
4
  networkInfoProvider.stats.ledgerTip$,
5
5
  networkInfoProvider.stats.protocolParameters$,
6
6
  networkInfoProvider.stats.genesisParameters$,
7
7
  networkInfoProvider.stats.eraSummaries$,
8
8
  assetProvider.stats.getAsset$,
9
- stakePoolProvider.stats.queryStakePools$,
10
9
  utxoProvider.stats.utxoByAddresses$,
11
10
  chainHistoryProvider.stats.transactionsByAddresses$,
12
- drepProvider.stats.getDRepInfo$,
13
11
  rewardsProvider.stats.rewardsHistory$,
14
- rewardsProvider.stats.rewardAccountBalance$
12
+ rewardAccountInfoProvider.stats.rewardAccountInfo$
15
13
  ]);
16
14
  export const createProviderStatusTracker = (dependencies, { consideredOutOfSyncAfter }, { getProviderSyncRelevantStats = getDefaultProviderSyncRelevantStats } = {}) => {
17
15
  const logger = dependencies.logger;
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderStatusTracker.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderStatusTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProviderStatusTracker.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderStatusTracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { ProviderFnStats, ProviderTracker } from './ProviderTracker.js';
3
+ import { RewardAccountInfoProvider } from '@cardano-sdk/core';
4
+ export declare class RewardAccountInfoProviderStats {
5
+ readonly healthCheck$: BehaviorSubject<ProviderFnStats>;
6
+ readonly rewardAccountInfo$: BehaviorSubject<ProviderFnStats>;
7
+ readonly delegationPortfolio$: BehaviorSubject<ProviderFnStats>;
8
+ shutdown(): void;
9
+ reset(): void;
10
+ }
11
+ export declare class TrackedRewardAccountInfoProvider extends ProviderTracker implements RewardAccountInfoProvider {
12
+ readonly stats: RewardAccountInfoProviderStats;
13
+ readonly healthCheck: RewardAccountInfoProvider['healthCheck'];
14
+ readonly rewardAccountInfo: RewardAccountInfoProvider['rewardAccountInfo'];
15
+ readonly delegationPortfolio: RewardAccountInfoProvider['delegationPortfolio'];
16
+ constructor(rewardAccountInfoProvider: RewardAccountInfoProvider);
17
+ }
18
+ //# sourceMappingURL=TrackedRewardAccountInfoProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackedRewardAccountInfoProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/TrackedRewardAccountInfoProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAkB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,qBAAa,8BAA8B;IACzC,QAAQ,CAAC,YAAY,mCAAwD;IAC7E,QAAQ,CAAC,kBAAkB,mCAAwD;IACnF,QAAQ,CAAC,oBAAoB,mCAAwD;IAErF,QAAQ;IAMR,KAAK;CAKN;AAGD,qBAAa,gCAAiC,SAAQ,eAAgB,YAAW,yBAAyB;IACxG,QAAQ,CAAC,KAAK,iCAAwC;IACtD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC/D,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;IAC3E,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;gBAEnE,yBAAyB,EAAE,yBAAyB;CAiBjE"}
@@ -0,0 +1,29 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { CLEAN_FN_STATS, ProviderTracker } from './ProviderTracker.js';
3
+ export class RewardAccountInfoProviderStats {
4
+ constructor() {
5
+ this.healthCheck$ = new BehaviorSubject(CLEAN_FN_STATS);
6
+ this.rewardAccountInfo$ = new BehaviorSubject(CLEAN_FN_STATS);
7
+ this.delegationPortfolio$ = new BehaviorSubject(CLEAN_FN_STATS);
8
+ }
9
+ shutdown() {
10
+ this.healthCheck$.complete();
11
+ this.rewardAccountInfo$.complete();
12
+ this.delegationPortfolio$.complete();
13
+ }
14
+ reset() {
15
+ this.healthCheck$.next(CLEAN_FN_STATS);
16
+ this.rewardAccountInfo$.next(CLEAN_FN_STATS);
17
+ this.delegationPortfolio$.next(CLEAN_FN_STATS);
18
+ }
19
+ }
20
+ export class TrackedRewardAccountInfoProvider extends ProviderTracker {
21
+ constructor(rewardAccountInfoProvider) {
22
+ super();
23
+ this.stats = new RewardAccountInfoProviderStats();
24
+ this.healthCheck = () => this.trackedCall(() => rewardAccountInfoProvider.healthCheck(), this.stats.healthCheck$);
25
+ this.rewardAccountInfo = (rewardAccount, localEpoch) => this.trackedCall(() => rewardAccountInfoProvider.rewardAccountInfo(rewardAccount, localEpoch), this.stats.rewardAccountInfo$);
26
+ this.delegationPortfolio = (rewardAccount) => this.trackedCall(() => rewardAccountInfoProvider.delegationPortfolio(rewardAccount), this.stats.delegationPortfolio$);
27
+ }
28
+ }
29
+ //# sourceMappingURL=TrackedRewardAccountInfoProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackedRewardAccountInfoProvider.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/TrackedRewardAccountInfoProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGrF,MAAM,OAAO,8BAA8B;IAA3C;QACW,iBAAY,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;QACpE,uBAAkB,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;QAC1E,yBAAoB,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;IAavF,CAAC;IAXC,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;CACF;AAGD,MAAM,OAAO,gCAAiC,SAAQ,eAAe;IAMnE,YAAY,yBAAoD;QAC9D,KAAK,EAAE,CAAC;QAND,UAAK,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAQpD,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAElH,IAAI,CAAC,iBAAiB,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CACrD,IAAI,CAAC,WAAW,CACd,GAAG,EAAE,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,EAC5E,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAC9B,CAAC;QAEJ,IAAI,CAAC,mBAAmB,GAAG,CAAC,aAAa,EAAE,EAAE,CAC3C,IAAI,CAAC,WAAW,CACd,GAAG,EAAE,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAClE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAChC,CAAC;IACN,CAAC;CACF"}
@@ -6,6 +6,7 @@ export * from './TrackedAssetProvider.js';
6
6
  export * from './ProviderStatusTracker.js';
7
7
  export * from './TrackedUtxoProvider.js';
8
8
  export * from './TrackedChainHistoryProvider.js';
9
+ export * from './TrackedRewardAccountInfoProvider.js';
9
10
  export * from './TrackedRewardsProvider.js';
10
11
  export * from './TrackedDrepProvider.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
@@ -6,6 +6,7 @@ export * from './TrackedAssetProvider.js';
6
6
  export * from './ProviderStatusTracker.js';
7
7
  export * from './TrackedUtxoProvider.js';
8
8
  export * from './TrackedChainHistoryProvider.js';
9
+ export * from './TrackedRewardAccountInfoProvider.js';
9
10
  export * from './TrackedRewardsProvider.js';
10
11
  export * from './TrackedDrepProvider.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
@@ -14,6 +14,7 @@ export interface TransactionsTrackerProps {
14
14
  transactionsHistoryStore: OrderedCollectionStore<Cardano.HydratedTx>;
15
15
  inFlightTransactionsStore: DocumentStore<TxInFlight[]>;
16
16
  signedTransactionsStore: DocumentStore<WitnessedTx[]>;
17
+ historicalTransactionsFetchLimit: number;
17
18
  newTransactions: {
18
19
  submitting$: Observable<OutgoingTx>;
19
20
  pending$: Observable<OutgoingTx>;
@@ -33,11 +34,12 @@ export interface TransactionsTrackerInternalsProps {
33
34
  retryBackoffConfig: RetryBackoffConfig;
34
35
  tipBlockHeight$: Observable<Cardano.BlockNo>;
35
36
  store: OrderedCollectionStore<Cardano.HydratedTx>;
37
+ historicalTransactionsFetchLimit: number;
36
38
  logger: Logger;
37
39
  }
38
40
  export declare const PAGE_SIZE = 25;
39
41
  export declare const revertLastBlock: (localTransactions: Cardano.HydratedTx[], blockNo: Cardano.BlockNo, rollback$: Subject<Cardano.HydratedTx>, newTransactions: Cardano.HydratedTx[], logger: Logger) => Cardano.HydratedTx[];
40
42
  export declare const createAddressTransactionsProvider: (props: TransactionsTrackerInternalsProps) => TransactionsTrackerInternals;
41
43
  export declare const newTransactions$: <T extends Pick<Cardano.Tx<Cardano.TxBody>, "id">>(transactions$: Observable<T[]>) => Observable<T>;
42
- export declare const createTransactionsTracker: ({ tip$, chainHistoryProvider, addresses$, newTransactions: { submitting$: newSubmitting$, pending$, signed$: newSigned$, failedToSubmit$ }, retryBackoffConfig, transactionsHistoryStore: transactionsStore, inFlightTransactionsStore: newTransactionsStore, signedTransactionsStore, logger, failedFromReemitter$ }: TransactionsTrackerProps, { transactionsSource$: txSource$, rollback$ }?: TransactionsTrackerInternals) => TransactionsTracker & Shutdown;
44
+ export declare const createTransactionsTracker: ({ tip$, chainHistoryProvider, addresses$, historicalTransactionsFetchLimit, newTransactions: { submitting$: newSubmitting$, pending$, signed$: newSigned$, failedToSubmit$ }, retryBackoffConfig, transactionsHistoryStore: transactionsStore, inFlightTransactionsStore: newTransactionsStore, signedTransactionsStore, logger, failedFromReemitter$ }: TransactionsTrackerProps, { transactionsSource$: txSource$, rollback$ }?: TransactionsTrackerInternals) => TransactionsTracker & Shutdown;
43
45
  //# sourceMappingURL=TransactionsTracker.d.ts.map