@cardano-sdk/wallet 0.2.0 → 0.3.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.
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.d.ts +23 -0
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/InMemoryKeyAgent.js +37 -51
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.d.ts +20 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.js +76 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.js.map +1 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.d.ts +43 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.js +209 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.d.ts +30 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.js +136 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.d.ts +22 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.js +81 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/index.d.ts +2 -0
- package/dist/cjs/KeyManagement/cip8/index.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/cip8/index.js +18 -0
- package/dist/cjs/KeyManagement/cip8/index.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/types.d.ts +4 -0
- package/dist/cjs/KeyManagement/cip8/types.d.ts.map +1 -0
- package/dist/{services/DelegationTracker → cjs/KeyManagement/cip8}/types.js +0 -0
- package/dist/cjs/KeyManagement/cip8/types.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/util.d.ts +7 -0
- package/dist/cjs/KeyManagement/cip8/util.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/cip8/util.js +10 -0
- package/dist/cjs/KeyManagement/cip8/util.js.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/emip3.d.ts +0 -1
- package/dist/cjs/KeyManagement/emip3.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/emip3.js +9 -9
- package/dist/cjs/KeyManagement/emip3.js.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/AuthenticationError.d.ts +0 -0
- package/dist/cjs/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/AuthenticationError.js +0 -0
- package/dist/cjs/KeyManagement/errors/AuthenticationError.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.js +16 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.js.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/InvalidMnemonicError.d.ts +0 -0
- package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/InvalidMnemonicError.js +0 -0
- package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/InvalidSerializableDataError .d.ts +0 -0
- package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/InvalidSerializableDataError .js +0 -0
- package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
- package/dist/cjs/KeyManagement/errors/TransportError.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/TransportError.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/TransportError.js +16 -0
- package/dist/cjs/KeyManagement/errors/TransportError.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/index.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/index.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/errors/index.js +8 -2
- package/dist/cjs/KeyManagement/errors/index.js.map +1 -0
- package/dist/cjs/KeyManagement/index.d.ts +12 -0
- package/dist/cjs/KeyManagement/index.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/index.js +11 -3
- package/dist/cjs/KeyManagement/index.js.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/restoreKeyAgent.d.ts +3 -1
- package/dist/cjs/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/restoreKeyAgent.js +9 -8
- package/dist/cjs/KeyManagement/restoreKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/types.d.ts +102 -0
- package/dist/cjs/KeyManagement/types.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/types.js +30 -0
- package/dist/cjs/KeyManagement/types.js.map +1 -0
- package/dist/{KeyManagement/util.d.ts → cjs/KeyManagement/util/bip39.d.ts} +1 -3
- package/dist/cjs/KeyManagement/util/bip39.d.ts.map +1 -0
- package/dist/{KeyManagement/util.js → cjs/KeyManagement/util/bip39.js} +10 -8
- package/dist/cjs/KeyManagement/util/bip39.js.map +1 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.d.ts +4 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.js +25 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.js.map +1 -0
- package/dist/cjs/KeyManagement/util/constants.d.ts +12 -0
- package/dist/cjs/KeyManagement/util/constants.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/constants.js +17 -0
- package/dist/cjs/KeyManagement/util/constants.js.map +1 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.d.ts +3 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.js +25 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/util/index.d.ts +9 -0
- package/dist/cjs/KeyManagement/util/index.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/index.js +25 -0
- package/dist/cjs/KeyManagement/util/index.js.map +1 -0
- package/dist/cjs/KeyManagement/util/key.d.ts +6 -0
- package/dist/cjs/KeyManagement/util/key.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/key.js +17 -0
- package/dist/cjs/KeyManagement/util/key.js.map +1 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.d.ts +44 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.js +871 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.js.map +1 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.d.ts +4 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.js +24 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.js.map +1 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.d.ts +4 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.js +13 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.js.map +1 -0
- package/dist/cjs/SingleAddressWallet.d.ts +65 -0
- package/dist/cjs/SingleAddressWallet.d.ts.map +1 -0
- package/dist/cjs/SingleAddressWallet.js +223 -0
- package/dist/cjs/SingleAddressWallet.js.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/createTransactionInternals.d.ts +3 -2
- package/dist/cjs/Transaction/createTransactionInternals.d.ts.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/createTransactionInternals.js +3 -2
- package/dist/cjs/Transaction/createTransactionInternals.js.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/ensureValidityInterval.d.ts +0 -0
- package/dist/cjs/Transaction/ensureValidityInterval.d.ts.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/ensureValidityInterval.js +0 -0
- package/dist/cjs/Transaction/ensureValidityInterval.js.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/index.d.ts +0 -1
- package/dist/cjs/Transaction/index.d.ts.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/index.js +5 -2
- package/dist/cjs/Transaction/index.js.map +1 -0
- package/dist/cjs/cip30.d.ts +30 -0
- package/dist/cjs/cip30.d.ts.map +1 -0
- package/dist/cjs/cip30.js +204 -0
- package/dist/cjs/cip30.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/{index.js → cjs/index.js} +8 -2
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.d.ts +9 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.js +25 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +9 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -0
- package/dist/{services/util/SyncableIntervalTrackerSubject.js → cjs/persistence/inMemoryStores/InMemoryDocumentStore.js} +26 -18
- package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts +8 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.js +31 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.d.ts +7 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.js +15 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts +35 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js +85 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/index.d.ts +5 -0
- package/dist/cjs/persistence/inMemoryStores/index.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/index.js +21 -0
- package/dist/cjs/persistence/inMemoryStores/index.js.map +1 -0
- package/dist/cjs/persistence/index.d.ts +4 -0
- package/dist/cjs/persistence/index.d.ts.map +1 -0
- package/dist/cjs/persistence/index.js +20 -0
- package/dist/cjs/persistence/index.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.d.ts +16 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.js +60 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.d.ts +10 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.js +45 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts +11 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.js +53 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.d.ts +20 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.js +69 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/index.d.ts +5 -0
- package/dist/cjs/persistence/pouchdbStores/index.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/index.js +21 -0
- package/dist/cjs/persistence/pouchdbStores/index.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.d.ts +37 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.js +84 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/util.d.ts +10 -0
- package/dist/cjs/persistence/pouchdbStores/util.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/util.js +52 -0
- package/dist/cjs/persistence/pouchdbStores/util.js.map +1 -0
- package/dist/cjs/persistence/types.d.ts +41 -0
- package/dist/cjs/persistence/types.d.ts.map +1 -0
- package/dist/cjs/persistence/types.js +3 -0
- package/dist/cjs/persistence/types.js.map +1 -0
- package/dist/cjs/services/AssetsTracker.d.ts +17 -0
- package/dist/cjs/services/AssetsTracker.d.ts.map +1 -0
- package/dist/cjs/services/AssetsTracker.js +10 -0
- package/dist/cjs/services/AssetsTracker.js.map +1 -0
- package/dist/{services → cjs/services}/BalanceTracker.d.ts +2 -2
- package/dist/cjs/services/BalanceTracker.d.ts.map +1 -0
- package/dist/cjs/services/BalanceTracker.js +22 -0
- package/dist/cjs/services/BalanceTracker.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts +31 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.js +44 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.js.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/RewardAccounts.d.ts +12 -11
- package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardAccounts.js +101 -0
- package/dist/cjs/services/DelegationTracker/RewardAccounts.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts +11 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.js +60 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.js.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/index.d.ts +0 -0
- package/dist/cjs/services/DelegationTracker/index.d.ts.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/index.js +5 -1
- package/dist/cjs/services/DelegationTracker/index.js.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/transactionCertificates.d.ts +1 -2
- package/dist/cjs/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/transactionCertificates.js +41 -0
- package/dist/cjs/services/DelegationTracker/transactionCertificates.js.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/types.d.ts +0 -0
- package/dist/cjs/services/DelegationTracker/types.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/types.js +3 -0
- package/dist/cjs/services/DelegationTracker/types.js.map +1 -0
- package/dist/cjs/services/EpochTracker.d.ts +5 -0
- package/dist/cjs/services/EpochTracker.d.ts.map +1 -0
- package/dist/cjs/services/EpochTracker.js +13 -0
- package/dist/cjs/services/EpochTracker.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts +35 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js +37 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.d.ts +14 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.js +36 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts +14 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js +27 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.d.ts +20 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.js +39 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts +20 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.js +39 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.d.ts +18 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.js +35 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.d.ts +16 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.js +31 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.d.ts +17 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.js +32 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.d.ts +16 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.js +31 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/index.d.ts +10 -0
- package/dist/cjs/services/ProviderTracker/index.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/index.js +26 -0
- package/dist/cjs/services/ProviderTracker/index.js.map +1 -0
- package/dist/cjs/services/TransactionsTracker.d.ts +25 -0
- package/dist/cjs/services/TransactionsTracker.d.ts.map +1 -0
- package/dist/cjs/services/TransactionsTracker.js +88 -0
- package/dist/cjs/services/TransactionsTracker.js.map +1 -0
- package/dist/cjs/services/UtxoTracker.d.ts +21 -0
- package/dist/cjs/services/UtxoTracker.d.ts.map +1 -0
- package/dist/cjs/services/UtxoTracker.js +36 -0
- package/dist/cjs/services/UtxoTracker.js.map +1 -0
- package/dist/cjs/services/WalletUtil.d.ts +10 -0
- package/dist/cjs/services/WalletUtil.d.ts.map +1 -0
- package/dist/cjs/services/WalletUtil.js +36 -0
- package/dist/cjs/services/WalletUtil.js.map +1 -0
- package/dist/cjs/services/index.d.ts +11 -0
- package/dist/cjs/services/index.d.ts.map +1 -0
- package/dist/{services → cjs/services}/index.js +8 -1
- package/dist/cjs/services/index.js.map +1 -0
- package/dist/{services → cjs/services}/types.d.ts +19 -31
- package/dist/cjs/services/types.d.ts.map +1 -0
- package/dist/{services → cjs/services}/types.js +1 -6
- package/dist/cjs/services/types.js.map +1 -0
- package/dist/cjs/services/util/coldObservableProvider.d.ts +4 -0
- package/dist/cjs/services/util/coldObservableProvider.d.ts.map +1 -0
- package/dist/{services → cjs/services}/util/coldObservableProvider.js +2 -2
- package/dist/cjs/services/util/coldObservableProvider.js.map +1 -0
- package/dist/cjs/services/util/equals.d.ts +15 -0
- package/dist/cjs/services/util/equals.d.ts.map +1 -0
- package/dist/cjs/services/util/equals.js +33 -0
- package/dist/cjs/services/util/equals.js.map +1 -0
- package/dist/cjs/services/util/index.d.ts +5 -0
- package/dist/cjs/services/util/index.d.ts.map +1 -0
- package/dist/{services → cjs/services}/util/index.js +6 -3
- package/dist/cjs/services/util/index.js.map +1 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.d.ts +29 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.d.ts.map +1 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.js +56 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.js.map +1 -0
- package/dist/{services → cjs/services}/util/trigger.d.ts +1 -1
- package/dist/cjs/services/util/trigger.d.ts.map +1 -0
- package/dist/cjs/services/util/trigger.js +10 -0
- package/dist/cjs/services/util/trigger.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/cjs/types.d.ts +61 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.d.ts +23 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.js +88 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/KeyAgentBase.d.ts +20 -0
- package/dist/esm/KeyManagement/KeyAgentBase.d.ts.map +1 -0
- package/dist/esm/KeyManagement/KeyAgentBase.js +72 -0
- package/dist/esm/KeyManagement/KeyAgentBase.js.map +1 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.d.ts +43 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.js +179 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.d.ts +30 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.js +129 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.d.ts +22 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.js +76 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/index.d.ts +2 -0
- package/dist/esm/KeyManagement/cip8/index.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/index.js +2 -0
- package/dist/esm/KeyManagement/cip8/index.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/types.d.ts +4 -0
- package/dist/esm/KeyManagement/cip8/types.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/types.js +2 -0
- package/dist/esm/KeyManagement/cip8/types.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/util.d.ts +7 -0
- package/dist/esm/KeyManagement/cip8/util.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/util.js +7 -0
- package/dist/esm/KeyManagement/cip8/util.js.map +1 -0
- package/dist/esm/KeyManagement/emip3.d.ts +4 -0
- package/dist/esm/KeyManagement/emip3.d.ts.map +1 -0
- package/dist/esm/KeyManagement/emip3.js +39 -0
- package/dist/esm/KeyManagement/emip3.js.map +1 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.js +12 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.js +12 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.js +9 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .js +11 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
- package/dist/esm/KeyManagement/errors/TransportError.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/TransportError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/TransportError.js +12 -0
- package/dist/esm/KeyManagement/errors/TransportError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/index.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/index.d.ts.map +1 -0
- package/dist/{KeyManagement/errors/index.d.ts → esm/KeyManagement/errors/index.js} +4 -2
- package/dist/esm/KeyManagement/errors/index.js.map +1 -0
- package/dist/esm/KeyManagement/index.d.ts +12 -0
- package/dist/esm/KeyManagement/index.d.ts.map +1 -0
- package/dist/{KeyManagement/index.d.ts → esm/KeyManagement/index.js} +5 -2
- package/dist/esm/KeyManagement/index.js.map +1 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.d.ts +9 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.js +27 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/types.d.ts +102 -0
- package/dist/esm/KeyManagement/types.d.ts.map +1 -0
- package/dist/esm/KeyManagement/types.js +27 -0
- package/dist/esm/KeyManagement/types.js.map +1 -0
- package/dist/esm/KeyManagement/util/bip39.d.ts +8 -0
- package/dist/esm/KeyManagement/util/bip39.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/bip39.js +8 -0
- package/dist/esm/KeyManagement/util/bip39.js.map +1 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.d.ts +4 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.js +21 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.js.map +1 -0
- package/dist/esm/KeyManagement/util/constants.d.ts +12 -0
- package/dist/esm/KeyManagement/util/constants.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/constants.js +14 -0
- package/dist/esm/KeyManagement/util/constants.js.map +1 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.d.ts +3 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.js +21 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/util/index.d.ts +9 -0
- package/dist/esm/KeyManagement/util/index.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/index.js +9 -0
- package/dist/esm/KeyManagement/util/index.js.map +1 -0
- package/dist/esm/KeyManagement/util/key.d.ts +6 -0
- package/dist/esm/KeyManagement/util/key.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/key.js +12 -0
- package/dist/esm/KeyManagement/util/key.js.map +1 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.d.ts +44 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.js +840 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.js.map +1 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.d.ts +4 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.js +17 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.js.map +1 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.d.ts +4 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.js +9 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.js.map +1 -0
- package/dist/esm/SingleAddressWallet.d.ts +65 -0
- package/dist/esm/SingleAddressWallet.d.ts.map +1 -0
- package/dist/esm/SingleAddressWallet.js +216 -0
- package/dist/esm/SingleAddressWallet.js.map +1 -0
- package/dist/esm/Transaction/createTransactionInternals.d.ts +16 -0
- package/dist/esm/Transaction/createTransactionInternals.d.ts.map +1 -0
- package/dist/esm/Transaction/createTransactionInternals.js +24 -0
- package/dist/esm/Transaction/createTransactionInternals.js.map +1 -0
- package/dist/esm/Transaction/ensureValidityInterval.d.ts +3 -0
- package/dist/esm/Transaction/ensureValidityInterval.d.ts.map +1 -0
- package/dist/esm/Transaction/ensureValidityInterval.js +2 -0
- package/dist/esm/Transaction/ensureValidityInterval.js.map +1 -0
- package/dist/esm/Transaction/index.d.ts +3 -0
- package/dist/esm/Transaction/index.d.ts.map +1 -0
- package/dist/esm/Transaction/index.js +3 -0
- package/dist/esm/Transaction/index.js.map +1 -0
- package/dist/esm/cip30.d.ts +30 -0
- package/dist/esm/cip30.d.ts.map +1 -0
- package/dist/esm/cip30.js +200 -0
- package/dist/esm/cip30.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/{index.d.ts → esm/index.js} +3 -1
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.d.ts +9 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.js +21 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +9 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js +34 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts +8 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.js +27 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.d.ts +7 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.js +11 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts +35 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js +68 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/index.d.ts +5 -0
- package/dist/esm/persistence/inMemoryStores/index.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/index.js +5 -0
- package/dist/esm/persistence/inMemoryStores/index.js.map +1 -0
- package/dist/esm/persistence/index.d.ts +4 -0
- package/dist/esm/persistence/index.d.ts.map +1 -0
- package/dist/esm/persistence/index.js +4 -0
- package/dist/esm/persistence/index.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.d.ts +16 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.js +56 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.d.ts +10 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.js +41 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts +11 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.js +49 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.d.ts +20 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.js +62 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/index.d.ts +5 -0
- package/dist/esm/persistence/pouchdbStores/index.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/index.js +5 -0
- package/dist/esm/persistence/pouchdbStores/index.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.d.ts +37 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.js +68 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/util.d.ts +10 -0
- package/dist/esm/persistence/pouchdbStores/util.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/util.js +43 -0
- package/dist/esm/persistence/pouchdbStores/util.js.map +1 -0
- package/dist/esm/persistence/types.d.ts +41 -0
- package/dist/esm/persistence/types.d.ts.map +1 -0
- package/dist/esm/persistence/types.js +2 -0
- package/dist/esm/persistence/types.js.map +1 -0
- package/dist/esm/services/AssetsTracker.d.ts +17 -0
- package/dist/esm/services/AssetsTracker.d.ts.map +1 -0
- package/dist/esm/services/AssetsTracker.js +5 -0
- package/dist/esm/services/AssetsTracker.js.map +1 -0
- package/dist/esm/services/BalanceTracker.d.ts +5 -0
- package/dist/esm/services/BalanceTracker.d.ts.map +1 -0
- package/dist/esm/services/BalanceTracker.js +18 -0
- package/dist/esm/services/BalanceTracker.js.map +1 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts +31 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.js +38 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.js.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts +37 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.js +85 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.js.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts +11 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.js +52 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.js.map +1 -0
- package/dist/esm/services/DelegationTracker/index.d.ts +5 -0
- package/dist/esm/services/DelegationTracker/index.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/index.js +5 -0
- package/dist/esm/services/DelegationTracker/index.js.map +1 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts +8 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.js +31 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.js.map +1 -0
- package/dist/esm/services/DelegationTracker/types.d.ts +6 -0
- package/dist/esm/services/DelegationTracker/types.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/types.js +2 -0
- package/dist/esm/services/DelegationTracker/types.js.map +1 -0
- package/dist/esm/services/EpochTracker.d.ts +5 -0
- package/dist/esm/services/EpochTracker.d.ts.map +1 -0
- package/dist/esm/services/EpochTracker.js +9 -0
- package/dist/esm/services/EpochTracker.js.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts +35 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js +33 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.d.ts +14 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.js +32 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts +14 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js +22 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.d.ts +20 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.js +34 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts +20 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.js +34 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.d.ts +18 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.js +30 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.d.ts +16 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.js +26 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.d.ts +17 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.js +27 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.d.ts +16 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.js +26 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/index.d.ts +10 -0
- package/dist/esm/services/ProviderTracker/index.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/index.js +10 -0
- package/dist/esm/services/ProviderTracker/index.js.map +1 -0
- package/dist/esm/services/TransactionsTracker.d.ts +25 -0
- package/dist/esm/services/TransactionsTracker.d.ts.map +1 -0
- package/dist/esm/services/TransactionsTracker.js +80 -0
- package/dist/esm/services/TransactionsTracker.js.map +1 -0
- package/dist/esm/services/UtxoTracker.d.ts +21 -0
- package/dist/esm/services/UtxoTracker.d.ts.map +1 -0
- package/dist/esm/services/UtxoTracker.js +31 -0
- package/dist/esm/services/UtxoTracker.js.map +1 -0
- package/dist/esm/services/WalletUtil.d.ts +10 -0
- package/dist/esm/services/WalletUtil.d.ts.map +1 -0
- package/dist/esm/services/WalletUtil.js +32 -0
- package/dist/esm/services/WalletUtil.js.map +1 -0
- package/dist/esm/services/index.d.ts +11 -0
- package/dist/esm/services/index.d.ts.map +1 -0
- package/dist/{services/index.d.ts → esm/services/index.js} +4 -1
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/types.d.ts +76 -0
- package/dist/esm/services/types.d.ts.map +1 -0
- package/dist/esm/services/types.js +16 -0
- package/dist/esm/services/types.js.map +1 -0
- package/dist/esm/services/util/coldObservableProvider.d.ts +4 -0
- package/dist/esm/services/util/coldObservableProvider.d.ts.map +1 -0
- package/dist/esm/services/util/coldObservableProvider.js +10 -0
- package/dist/esm/services/util/coldObservableProvider.js.map +1 -0
- package/dist/esm/services/util/equals.d.ts +15 -0
- package/dist/esm/services/util/equals.d.ts.map +1 -0
- package/dist/esm/services/util/equals.js +15 -0
- package/dist/esm/services/util/equals.js.map +1 -0
- package/dist/esm/services/util/index.d.ts +5 -0
- package/dist/esm/services/util/index.d.ts.map +1 -0
- package/dist/esm/services/util/index.js +5 -0
- package/dist/esm/services/util/index.js.map +1 -0
- package/dist/esm/services/util/persistentTrackerSubjects.d.ts +29 -0
- package/dist/esm/services/util/persistentTrackerSubjects.d.ts.map +1 -0
- package/dist/esm/services/util/persistentTrackerSubjects.js +47 -0
- package/dist/esm/services/util/persistentTrackerSubjects.js.map +1 -0
- package/dist/esm/services/util/trigger.d.ts +5 -0
- package/dist/esm/services/util/trigger.d.ts.map +1 -0
- package/dist/esm/services/util/trigger.js +5 -0
- package/dist/esm/services/util/trigger.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +61 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +46 -12
- package/dist/KeyManagement/InMemoryKeyAgent.d.ts +0 -30
- package/dist/KeyManagement/InMemoryKeyAgent.d.ts.map +0 -1
- package/dist/KeyManagement/InMemoryKeyAgent.js.map +0 -1
- package/dist/KeyManagement/KeyAgentBase.d.ts +0 -16
- package/dist/KeyManagement/KeyAgentBase.d.ts.map +0 -1
- package/dist/KeyManagement/KeyAgentBase.js +0 -49
- package/dist/KeyManagement/KeyAgentBase.js.map +0 -1
- package/dist/KeyManagement/cachedGetPassword.d.ts +0 -4
- package/dist/KeyManagement/cachedGetPassword.d.ts.map +0 -1
- package/dist/KeyManagement/cachedGetPassword.js +0 -18
- package/dist/KeyManagement/cachedGetPassword.js.map +0 -1
- package/dist/KeyManagement/emip3.d.ts.map +0 -1
- package/dist/KeyManagement/emip3.js.map +0 -1
- package/dist/KeyManagement/errors/AuthenticationError.d.ts.map +0 -1
- package/dist/KeyManagement/errors/AuthenticationError.js.map +0 -1
- package/dist/KeyManagement/errors/InvalidMnemonicError.d.ts.map +0 -1
- package/dist/KeyManagement/errors/InvalidMnemonicError.js.map +0 -1
- package/dist/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +0 -1
- package/dist/KeyManagement/errors/InvalidSerializableDataError .js.map +0 -1
- package/dist/KeyManagement/errors/index.d.ts.map +0 -1
- package/dist/KeyManagement/errors/index.js.map +0 -1
- package/dist/KeyManagement/index.d.ts.map +0 -1
- package/dist/KeyManagement/index.js.map +0 -1
- package/dist/KeyManagement/restoreKeyAgent.d.ts.map +0 -1
- package/dist/KeyManagement/restoreKeyAgent.js.map +0 -1
- package/dist/KeyManagement/types.d.ts +0 -59
- package/dist/KeyManagement/types.d.ts.map +0 -1
- package/dist/KeyManagement/types.js +0 -22
- package/dist/KeyManagement/types.js.map +0 -1
- package/dist/KeyManagement/util.d.ts.map +0 -1
- package/dist/KeyManagement/util.js.map +0 -1
- package/dist/SingleAddressWallet.d.ts +0 -45
- package/dist/SingleAddressWallet.d.ts.map +0 -1
- package/dist/SingleAddressWallet.js +0 -188
- package/dist/SingleAddressWallet.js.map +0 -1
- package/dist/Transaction/computeImplicitCoin.d.ts +0 -4
- package/dist/Transaction/computeImplicitCoin.d.ts.map +0 -1
- package/dist/Transaction/computeImplicitCoin.js +0 -21
- package/dist/Transaction/computeImplicitCoin.js.map +0 -1
- package/dist/Transaction/createTransactionInternals.d.ts.map +0 -1
- package/dist/Transaction/createTransactionInternals.js.map +0 -1
- package/dist/Transaction/ensureValidityInterval.d.ts.map +0 -1
- package/dist/Transaction/ensureValidityInterval.js.map +0 -1
- package/dist/Transaction/index.d.ts.map +0 -1
- package/dist/Transaction/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/services/AssetsTracker.d.ts +0 -17
- package/dist/services/AssetsTracker.d.ts.map +0 -1
- package/dist/services/AssetsTracker.js +0 -10
- package/dist/services/AssetsTracker.js.map +0 -1
- package/dist/services/BalanceTracker.d.ts.map +0 -1
- package/dist/services/BalanceTracker.js +0 -43
- package/dist/services/BalanceTracker.js.map +0 -1
- package/dist/services/DelegationTracker/DelegationTracker.d.ts +0 -26
- package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +0 -1
- package/dist/services/DelegationTracker/DelegationTracker.js +0 -39
- package/dist/services/DelegationTracker/DelegationTracker.js.map +0 -1
- package/dist/services/DelegationTracker/RewardAccounts.d.ts.map +0 -1
- package/dist/services/DelegationTracker/RewardAccounts.js +0 -86
- package/dist/services/DelegationTracker/RewardAccounts.js.map +0 -1
- package/dist/services/DelegationTracker/RewardsHistory.d.ts +0 -13
- package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +0 -1
- package/dist/services/DelegationTracker/RewardsHistory.js +0 -27
- package/dist/services/DelegationTracker/RewardsHistory.js.map +0 -1
- package/dist/services/DelegationTracker/index.d.ts.map +0 -1
- package/dist/services/DelegationTracker/index.js.map +0 -1
- package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +0 -1
- package/dist/services/DelegationTracker/transactionCertificates.js +0 -33
- package/dist/services/DelegationTracker/transactionCertificates.js.map +0 -1
- package/dist/services/DelegationTracker/types.d.ts.map +0 -1
- package/dist/services/DelegationTracker/types.js.map +0 -1
- package/dist/services/TransactionsTracker.d.ts +0 -22
- package/dist/services/TransactionsTracker.d.ts.map +0 -1
- package/dist/services/TransactionsTracker.js +0 -74
- package/dist/services/TransactionsTracker.js.map +0 -1
- package/dist/services/UtxoTracker.d.ts +0 -18
- package/dist/services/UtxoTracker.d.ts.map +0 -1
- package/dist/services/UtxoTracker.js +0 -20
- package/dist/services/UtxoTracker.js.map +0 -1
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js.map +0 -1
- package/dist/services/types.d.ts.map +0 -1
- package/dist/services/types.js.map +0 -1
- package/dist/services/util/SyncableIntervalTrackerSubject.d.ts +0 -19
- package/dist/services/util/SyncableIntervalTrackerSubject.d.ts.map +0 -1
- package/dist/services/util/SyncableIntervalTrackerSubject.js.map +0 -1
- package/dist/services/util/TrackerSubject.d.ts +0 -14
- package/dist/services/util/TrackerSubject.d.ts.map +0 -1
- package/dist/services/util/TrackerSubject.js +0 -46
- package/dist/services/util/TrackerSubject.js.map +0 -1
- package/dist/services/util/coldObservableProvider.d.ts +0 -4
- package/dist/services/util/coldObservableProvider.d.ts.map +0 -1
- package/dist/services/util/coldObservableProvider.js.map +0 -1
- package/dist/services/util/equals.d.ts +0 -9
- package/dist/services/util/equals.d.ts.map +0 -1
- package/dist/services/util/equals.js +0 -19
- package/dist/services/util/equals.js.map +0 -1
- package/dist/services/util/index.d.ts +0 -6
- package/dist/services/util/index.d.ts.map +0 -1
- package/dist/services/util/index.js.map +0 -1
- package/dist/services/util/trigger.d.ts.map +0 -1
- package/dist/services/util/trigger.js +0 -9
- package/dist/services/util/trigger.js.map +0 -1
- package/dist/types.d.ts +0 -55
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StakeKeyStatus } from './types';
|
|
2
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
3
|
+
import { combineLatest, distinctUntilChanged, map } from 'rxjs';
|
|
4
|
+
const mapUtxoValue = map((utxo) => Cardano.util.coalesceValueQuantities(utxo.map(([_, txOut]) => txOut.value)));
|
|
5
|
+
const computeDepositCoin = (protocolParameters$, numDeposits$) => combineLatest([numDeposits$, protocolParameters$]).pipe(map(([registeredAccounts, { stakeKeyDeposit }]) => BigInt(registeredAccounts * stakeKeyDeposit)), distinctUntilChanged());
|
|
6
|
+
const numRewardAccountsWithKeyStatus = (delegationTracker, keyStatuses) => delegationTracker.rewardAccounts$.pipe(map((accounts) => accounts.filter((account) => keyStatuses.includes(account.keyStatus)).length));
|
|
7
|
+
export const createBalanceTracker = (protocolParameters$, utxoTracker, delegationTracker) => ({
|
|
8
|
+
rewardAccounts: {
|
|
9
|
+
deposit$: computeDepositCoin(protocolParameters$, numRewardAccountsWithKeyStatus(delegationTracker, [StakeKeyStatus.Registered, StakeKeyStatus.Registering])),
|
|
10
|
+
rewards$: delegationTracker.rewardAccounts$.pipe(map((accounts) => accounts.reduce((sum, { rewardBalance }) => sum + rewardBalance, 0n)), distinctUntilChanged())
|
|
11
|
+
},
|
|
12
|
+
utxo: {
|
|
13
|
+
available$: utxoTracker.available$.pipe(mapUtxoValue),
|
|
14
|
+
total$: utxoTracker.total$.pipe(mapUtxoValue),
|
|
15
|
+
unspendable$: utxoTracker.unspendable$.pipe(mapUtxoValue)
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=BalanceTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BalanceTracker.js","sourceRoot":"","sources":["../../../src/services/BalanceTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,cAAc,EAA4B,MAAM,SAAS,CAAC;AACtG,OAAO,EAAE,OAAO,EAAsC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAc,aAAa,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE5E,MAAM,YAAY,GAAG,GAAG,CAAgC,CAAC,IAAI,EAAE,EAAE,CAC/D,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,mBAAmE,EACnE,YAAgC,EAChC,EAAE,CACF,aAAa,CAAC,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CACrD,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC,EAChG,oBAAoB,EAAE,CACvB,CAAC;AAEJ,MAAM,8BAA8B,GAAG,CAAC,iBAAoC,EAAE,WAA6B,EAAE,EAAE,CAC7G,iBAAiB,CAAC,eAAe,CAAC,IAAI,CACpC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAChG,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,mBAAmE,EACnE,WAAqD,EACrD,iBAAoC,EACpB,EAAE,CAAC,CAAC;IACpB,cAAc,EAAE;QAEd,QAAQ,EAAE,kBAAkB,CAC1B,mBAAmB,EACnB,8BAA8B,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAC3G;QACD,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAC9C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,EAAE,EAAE,CAAC,CAAC,EACvF,oBAAoB,EAAE,CACvB;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;QACrD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7C,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;KAC1D;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Cardano, ChainHistoryProvider, SlotEpochCalc, StakePoolProvider, TimeSettings } from '@cardano-sdk/core';
|
|
2
|
+
import { DelegationTracker, TransactionsTracker } from '../types';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { ObservableRewardsProvider, ObservableStakePoolProvider } from './RewardAccounts';
|
|
5
|
+
import { RetryBackoffConfig } from 'backoff-rxjs';
|
|
6
|
+
import { RewardsHistoryProvider } from './RewardsHistory';
|
|
7
|
+
import { Shutdown } from '@cardano-sdk/util';
|
|
8
|
+
import { TrackedRewardsProvider } from '../ProviderTracker';
|
|
9
|
+
import { TxWithEpoch } from './types';
|
|
10
|
+
import { WalletStores } from '../../persistence';
|
|
11
|
+
export declare const createBlockEpochProvider: (chainHistoryProvider: ChainHistoryProvider, retryBackoffConfig: RetryBackoffConfig) => (blockHashes: Cardano.BlockId[]) => Observable<number[]>;
|
|
12
|
+
export declare type BlockEpochProvider = ReturnType<typeof createBlockEpochProvider>;
|
|
13
|
+
export interface DelegationTrackerProps {
|
|
14
|
+
rewardsTracker: TrackedRewardsProvider;
|
|
15
|
+
rewardAccountAddresses$: Observable<Cardano.RewardAccount[]>;
|
|
16
|
+
stakePoolProvider: StakePoolProvider;
|
|
17
|
+
timeSettings$: Observable<TimeSettings[]>;
|
|
18
|
+
epoch$: Observable<Cardano.Epoch>;
|
|
19
|
+
transactionsTracker: TransactionsTracker;
|
|
20
|
+
retryBackoffConfig: RetryBackoffConfig;
|
|
21
|
+
stores: WalletStores;
|
|
22
|
+
internals?: {
|
|
23
|
+
queryStakePoolsProvider?: ObservableStakePoolProvider;
|
|
24
|
+
rewardsProvider?: ObservableRewardsProvider;
|
|
25
|
+
rewardsHistoryProvider?: RewardsHistoryProvider;
|
|
26
|
+
slotEpochCalc$?: Observable<SlotEpochCalc>;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare const certificateTransactionsWithEpochs: (transactionsTracker: TransactionsTracker, rewardAccountAddresses$: Observable<Cardano.RewardAccount[]>, slotEpochCalc$: Observable<SlotEpochCalc>, certificateTypes: Cardano.CertificateType[]) => Observable<TxWithEpoch[]>;
|
|
30
|
+
export declare const createDelegationTracker: ({ rewardAccountAddresses$, epoch$, rewardsTracker, retryBackoffConfig, transactionsTracker, timeSettings$, stakePoolProvider, stores, internals: { queryStakePoolsProvider, rewardsHistoryProvider, rewardsProvider, slotEpochCalc$ } }: DelegationTrackerProps) => DelegationTracker & Shutdown;
|
|
31
|
+
//# sourceMappingURL=DelegationTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DelegationTracker.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/DelegationTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAsB,MAAM,MAAM,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAI5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAA6D,MAAM,kBAAkB,CAAC;AACrH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,eAAO,MAAM,wBAAwB,yBACZ,oBAAoB,sBAAsB,kBAAkB,mBACrE,QAAQ,OAAO,EAAE,yBAG5B,CAAC;AAEN,oBAAY,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,sBAAsB,CAAC;IACvC,uBAAuB,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7D,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE;QACV,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;QACtD,eAAe,CAAC,EAAE,yBAAyB,CAAC;QAC5C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;QAChD,cAAc,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;KAC5C,CAAC;CACH;AAED,eAAO,MAAM,iCAAiC,wBACvB,mBAAmB,2BACf,WAAW,QAAQ,aAAa,EAAE,CAAC,kBAC5C,WAAW,aAAa,CAAC,oBACvB,QAAQ,eAAe,EAAE,KAC1C,WAAW,WAAW,EAAE,CAQxB,CAAC;AAEJ,eAAO,MAAM,uBAAuB,4OAoBjC,sBAAsB,KAAG,iBAAiB,GAAG,QAiC/C,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Cardano, createSlotEpochCalc } from '@cardano-sdk/core';
|
|
2
|
+
import { combineLatest, map } from 'rxjs';
|
|
3
|
+
import { createQueryStakePoolsProvider, createRewardAccountsTracker, createRewardsProvider } from './RewardAccounts';
|
|
4
|
+
import { createRewardsHistoryProvider, createRewardsHistoryTracker } from './RewardsHistory';
|
|
5
|
+
import { TrackerSubject } from '@cardano-sdk/util-rxjs';
|
|
6
|
+
import { coldObservableProvider } from '../util';
|
|
7
|
+
import { transactionsWithCertificates } from './transactionCertificates';
|
|
8
|
+
export const createBlockEpochProvider = (chainHistoryProvider, retryBackoffConfig) => (blockHashes) => coldObservableProvider(() => chainHistoryProvider.blocksByHashes(blockHashes), retryBackoffConfig).pipe(map((blocks) => blocks.map(({ epoch }) => epoch)));
|
|
9
|
+
export const certificateTransactionsWithEpochs = (transactionsTracker, rewardAccountAddresses$, slotEpochCalc$, certificateTypes) => combineLatest([
|
|
10
|
+
transactionsWithCertificates(transactionsTracker.history$, rewardAccountAddresses$, certificateTypes),
|
|
11
|
+
slotEpochCalc$
|
|
12
|
+
]).pipe(map(([transactions, slotEpochCalc]) => transactions.map((tx) => ({ epoch: slotEpochCalc(tx.blockHeader.slot), tx }))));
|
|
13
|
+
export const createDelegationTracker = ({ rewardAccountAddresses$, epoch$, rewardsTracker, retryBackoffConfig, transactionsTracker, timeSettings$, stakePoolProvider, stores, internals: { queryStakePoolsProvider = createQueryStakePoolsProvider(stakePoolProvider, stores.stakePools, retryBackoffConfig), rewardsHistoryProvider = createRewardsHistoryProvider(rewardsTracker, retryBackoffConfig), rewardsProvider = createRewardsProvider(epoch$, transactionsTracker.outgoing.confirmed$, rewardsTracker, retryBackoffConfig), slotEpochCalc$ = timeSettings$.pipe(map((timeSettings) => createSlotEpochCalc(timeSettings))) } = {} }) => {
|
|
14
|
+
const transactions$ = certificateTransactionsWithEpochs(transactionsTracker, rewardAccountAddresses$, slotEpochCalc$, [
|
|
15
|
+
Cardano.CertificateType.StakeDelegation,
|
|
16
|
+
Cardano.CertificateType.StakeKeyRegistration,
|
|
17
|
+
Cardano.CertificateType.StakeKeyDeregistration
|
|
18
|
+
]);
|
|
19
|
+
const rewardsHistory$ = new TrackerSubject(createRewardsHistoryTracker(transactions$, rewardAccountAddresses$, rewardsHistoryProvider, stores.rewardsHistory));
|
|
20
|
+
const rewardAccounts$ = new TrackerSubject(createRewardAccountsTracker({
|
|
21
|
+
balancesStore: stores.rewardsBalances,
|
|
22
|
+
epoch$,
|
|
23
|
+
rewardAccountAddresses$,
|
|
24
|
+
rewardsProvider,
|
|
25
|
+
stakePoolProvider: queryStakePoolsProvider,
|
|
26
|
+
transactions$,
|
|
27
|
+
transactionsInFlight$: transactionsTracker.outgoing.inFlight$
|
|
28
|
+
}));
|
|
29
|
+
return {
|
|
30
|
+
rewardAccounts$,
|
|
31
|
+
rewardsHistory$,
|
|
32
|
+
shutdown: () => {
|
|
33
|
+
rewardAccounts$.complete();
|
|
34
|
+
rewardsHistory$.complete();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=DelegationTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DelegationTracker.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/DelegationTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Cardano, RewardsProvider, StakePoolProvider } from '@cardano-sdk/core';
|
|
2
|
+
import { Delegatee, RewardAccount, StakeKeyStatus } from '../types';
|
|
3
|
+
import { KeyValueStore } from '../../persistence';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { RetryBackoffConfig } from 'backoff-rxjs';
|
|
6
|
+
import { TxWithEpoch } from './types';
|
|
7
|
+
export declare const createQueryStakePoolsProvider: (stakePoolProvider: StakePoolProvider, store: KeyValueStore<Cardano.PoolId, Cardano.StakePool>, retryBackoffConfig: RetryBackoffConfig) => (poolIds: Cardano.PoolId[]) => Observable<Cardano.StakePool[]>;
|
|
8
|
+
export declare type ObservableStakePoolProvider = ReturnType<typeof createQueryStakePoolsProvider>;
|
|
9
|
+
export declare const fetchRewardsTrigger$: (epoch$: Observable<Cardano.Epoch>, txConfirmed$: Observable<Cardano.NewTxAlonzo>, rewardAccount: Cardano.RewardAccount) => Observable<number | bigint>;
|
|
10
|
+
export declare const createRewardsProvider: (epoch$: Observable<Cardano.Epoch>, txConfirmed$: Observable<Cardano.NewTxAlonzo>, rewardsProvider: RewardsProvider, retryBackoffConfig: RetryBackoffConfig) => (rewardAccounts: Cardano.RewardAccount[]) => Observable<Cardano.Lovelace[]>;
|
|
11
|
+
export declare type ObservableRewardsProvider = ReturnType<typeof createRewardsProvider>;
|
|
12
|
+
declare const accountCertificateTransactions: (transactions$: Observable<TxWithEpoch[]>, rewardAccount: Cardano.RewardAccount) => Observable<{
|
|
13
|
+
certificates: (Cardano.StakeAddressCertificate | Cardano.StakeDelegationCertificate)[];
|
|
14
|
+
epoch: number;
|
|
15
|
+
}[]>;
|
|
16
|
+
declare type ObservableType<O> = O extends Observable<infer T> ? T : unknown;
|
|
17
|
+
declare type TransactionsCertificates = ObservableType<ReturnType<typeof accountCertificateTransactions>>;
|
|
18
|
+
export declare const getStakePoolIdAtEpoch: (transactions: {
|
|
19
|
+
certificates: (Cardano.StakeAddressCertificate | Cardano.StakeDelegationCertificate)[];
|
|
20
|
+
epoch: number;
|
|
21
|
+
}[]) => (atEpoch: Cardano.Epoch) => Cardano.PoolId | undefined;
|
|
22
|
+
export declare const createDelegateeTracker: (stakePoolProvider: ObservableStakePoolProvider, epoch$: Observable<Cardano.Epoch>, certificates$: Observable<TransactionsCertificates>) => Observable<Delegatee | undefined>;
|
|
23
|
+
export declare const addressKeyStatuses: (addresses: Cardano.RewardAccount[], transactions$: Observable<TxWithEpoch[]>, transactionsInFlight$: Observable<Cardano.NewTxAlonzo[]>) => Observable<StakeKeyStatus[]>;
|
|
24
|
+
export declare const addressDelegatees: (addresses: Cardano.RewardAccount[], transactions$: Observable<TxWithEpoch[]>, stakePoolProvider: ObservableStakePoolProvider, epoch$: Observable<Cardano.Epoch>) => Observable<(Delegatee | undefined)[]>;
|
|
25
|
+
export declare const addressRewards: (rewardAccounts: Cardano.RewardAccount[], transactionsInFlight$: Observable<Cardano.NewTxAlonzo[]>, rewardsProvider: ObservableRewardsProvider, balancesStore: KeyValueStore<Cardano.RewardAccount, Cardano.Lovelace>) => Observable<Cardano.Lovelace[]>;
|
|
26
|
+
export declare const toRewardAccounts: (addresses: Cardano.RewardAccount[]) => ([statuses, delegatees, rewards]: [StakeKeyStatus[], (Delegatee | undefined)[], Cardano.Lovelace[]]) => RewardAccount[];
|
|
27
|
+
export declare const createRewardAccountsTracker: ({ rewardAccountAddresses$, stakePoolProvider, rewardsProvider, epoch$, balancesStore, transactions$, transactionsInFlight$ }: {
|
|
28
|
+
rewardAccountAddresses$: Observable<Cardano.RewardAccount[]>;
|
|
29
|
+
stakePoolProvider: ObservableStakePoolProvider;
|
|
30
|
+
rewardsProvider: ObservableRewardsProvider;
|
|
31
|
+
balancesStore: KeyValueStore<Cardano.RewardAccount, Cardano.Lovelace>;
|
|
32
|
+
epoch$: Observable<Cardano.Epoch>;
|
|
33
|
+
transactions$: Observable<TxWithEpoch[]>;
|
|
34
|
+
transactionsInFlight$: Observable<Cardano.NewTxAlonzo[]>;
|
|
35
|
+
}) => Observable<RewardAccount[]>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=RewardAccounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardAccounts.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAmF,MAAM,MAAM,CAAC;AAMnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC,eAAO,MAAM,6BAA6B,sBAEnB,iBAAiB,SAC7B,cAAc,QAAQ,MAAM,EAAE,QAAQ,SAAS,CAAC,sBACnC,kBAAkB,eAE9B,QAAQ,MAAM,EAAE,oCAkBvB,CAAC;AACN,oBAAY,2BAA2B,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAU3F,eAAO,MAAM,oBAAoB,WACvB,WAAW,QAAQ,KAAK,CAAC,gBACnB,WAAW,QAAQ,WAAW,CAAC,sEAU5C,CAAC;AAEJ,eAAO,MAAM,qBAAqB,WAEtB,WAAW,QAAQ,KAAK,CAAC,gBACnB,WAAW,QAAQ,WAAW,CAAC,mBAC5B,eAAe,sBACZ,kBAAkB,sBAEvB,qBAAqB,EAAE,KAAG,WAAW,QAAQ,QAAQ,EAAE,CAUrE,CAAC;AACN,oBAAY,yBAAyB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAyCjF,QAAA,MAAM,8BAA8B,kBACnB,WAAW,WAAW,EAAE,CAAC;;;IAmBzC,CAAC;AAEF,aAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AACrE,aAAK,wBAAwB,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC;AAElG,eAAO,MAAM,qBAAqB;;;kBAAyD,QAAQ,KAAK,+BAUvG,CAAC;AAEF,eAAO,MAAM,sBAAsB,sBACd,2BAA2B,UACtC,WAAW,QAAQ,KAAK,CAAC,iBAClB,WAAW,wBAAwB,CAAC,KAClD,WAAW,SAAS,GAAG,SAAS,CAUhC,CAAC;AAEJ,eAAO,MAAM,kBAAkB,cAClB,qBAAqB,EAAE,iBACnB,WAAW,WAAW,EAAE,CAAC,yBACjB,WAAW,QAAQ,WAAW,EAAE,CAAC,iCAKvD,CAAC;AAEJ,eAAO,MAAM,iBAAiB,cACjB,qBAAqB,EAAE,iBACnB,WAAW,WAAW,EAAE,CAAC,qBACrB,2BAA2B,UACtC,WAAW,QAAQ,KAAK,CAAC,0CAMhC,CAAC;AAEJ,eAAO,MAAM,cAAc,mBACT,qBAAqB,EAAE,yBAChB,WAAW,QAAQ,WAAW,EAAE,CAAC,mBACvC,yBAAyB,iBAC3B,cAAc,qBAAqB,EAAE,QAAQ,QAAQ,CAAC,KACpE,WAAW,QAAQ,QAAQ,EAAE,CAqB7B,CAAC;AAEJ,eAAO,MAAM,gBAAgB,cACf,qBAAqB,EAAE,uCACD,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,QAAQ,EAAE,CAAC,oBAQhG,CAAC;AAEN,eAAO,MAAM,2BAA2B;6BASb,WAAW,qBAAqB,EAAE,CAAC;uBACzC,2BAA2B;qBAC7B,yBAAyB;mBAC3B,cAAc,qBAAqB,EAAE,QAAQ,QAAQ,CAAC;YAC7D,WAAW,QAAQ,KAAK,CAAC;mBAClB,WAAW,WAAW,EAAE,CAAC;2BACjB,WAAW,QAAQ,WAAW,EAAE,CAAC;iCAUvD,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { BigIntMath, isNotNil } from '@cardano-sdk/util';
|
|
2
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
3
|
+
import { StakeKeyStatus } from '../types';
|
|
4
|
+
import { combineLatest, concat, distinctUntilChanged, filter, map, merge, switchMap, tap } from 'rxjs';
|
|
5
|
+
import { RegAndDeregCertificateTypes, includesAnyCertificate, isLastStakeKeyCertOfType } from './transactionCertificates';
|
|
6
|
+
import { coldObservableProvider, deepEquals, shallowArrayEquals } from '../util';
|
|
7
|
+
import findLast from 'lodash/findLast';
|
|
8
|
+
import isEqual from 'lodash/isEqual';
|
|
9
|
+
import uniq from 'lodash/uniq';
|
|
10
|
+
export const createQueryStakePoolsProvider = (stakePoolProvider, store, retryBackoffConfig) => (poolIds) => merge(store.getValues(poolIds), coldObservableProvider(() => stakePoolProvider
|
|
11
|
+
.queryStakePools({
|
|
12
|
+
filters: { identifier: { values: poolIds.map((poolId) => ({ id: poolId })) } }
|
|
13
|
+
})
|
|
14
|
+
.then(({ pageResults }) => pageResults), retryBackoffConfig).pipe(tap((pageResults) => {
|
|
15
|
+
for (const stakePool of pageResults) {
|
|
16
|
+
store.setValue(stakePool.id, stakePool);
|
|
17
|
+
}
|
|
18
|
+
})));
|
|
19
|
+
const getWithdrawalQuantity = ({ body: { withdrawals } }, rewardAccount) => BigIntMath.sum(withdrawals?.map(({ quantity, stakeAddress }) => (stakeAddress === rewardAccount ? quantity : 0n)) || []);
|
|
20
|
+
export const fetchRewardsTrigger$ = (epoch$, txConfirmed$, rewardAccount) => merge(epoch$, txConfirmed$.pipe(map((tx) => getWithdrawalQuantity(tx, rewardAccount)), filter((withdrawalQty) => withdrawalQty > 0n)));
|
|
21
|
+
export const createRewardsProvider = (epoch$, txConfirmed$, rewardsProvider, retryBackoffConfig) => (rewardAccounts) => combineLatest(rewardAccounts.map((rewardAccount) => coldObservableProvider(() => rewardsProvider.rewardAccountBalance(rewardAccount), retryBackoffConfig, fetchRewardsTrigger$(epoch$, txConfirmed$, rewardAccount), isEqual).pipe(distinctUntilChanged())));
|
|
22
|
+
const isDelegationCertificate = (cert) => cert.__typename === Cardano.CertificateType.StakeDelegation;
|
|
23
|
+
const getAccountsKeyStatus = (addresses) => ([transactions, transactionsInFlight]) => {
|
|
24
|
+
const certificatesInFlight = transactionsInFlight.map(({ body: { certificates } }) => certificates || []);
|
|
25
|
+
return addresses.map((address) => {
|
|
26
|
+
const isRegistered = isLastStakeKeyCertOfType(transactions.map(({ tx: { body: { certificates } } }) => certificates || []), Cardano.CertificateType.StakeKeyRegistration, address);
|
|
27
|
+
const isRegistering = isLastStakeKeyCertOfType(certificatesInFlight, Cardano.CertificateType.StakeKeyRegistration, address);
|
|
28
|
+
const isUnregistering = isLastStakeKeyCertOfType(certificatesInFlight, Cardano.CertificateType.StakeKeyDeregistration, address);
|
|
29
|
+
return isRegistering
|
|
30
|
+
? StakeKeyStatus.Registering
|
|
31
|
+
: isUnregistering
|
|
32
|
+
? StakeKeyStatus.Unregistering
|
|
33
|
+
: isRegistered
|
|
34
|
+
? StakeKeyStatus.Registered
|
|
35
|
+
: StakeKeyStatus.Unregistered;
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
const accountCertificateTransactions = (transactions$, rewardAccount) => {
|
|
39
|
+
const stakeKeyHash = Cardano.Ed25519KeyHash.fromRewardAccount(rewardAccount);
|
|
40
|
+
return transactions$.pipe(map((transactions) => transactions
|
|
41
|
+
.map(({ tx, epoch }) => ({
|
|
42
|
+
certificates: (tx.body.certificates || [])
|
|
43
|
+
.filter((cert) => [...RegAndDeregCertificateTypes, Cardano.CertificateType.StakeDelegation].includes(cert.__typename))
|
|
44
|
+
.filter((cert) => cert.stakeKeyHash === stakeKeyHash),
|
|
45
|
+
epoch
|
|
46
|
+
}))
|
|
47
|
+
.filter(({ certificates }) => certificates.length > 0)), distinctUntilChanged((a, b) => isEqual(a, b)));
|
|
48
|
+
};
|
|
49
|
+
export const getStakePoolIdAtEpoch = (transactions) => (atEpoch) => {
|
|
50
|
+
const certificatesUpToEpoch = transactions
|
|
51
|
+
.filter(({ epoch }) => epoch < atEpoch - 2)
|
|
52
|
+
.map(({ certificates }) => certificates);
|
|
53
|
+
if (!isLastStakeKeyCertOfType(certificatesUpToEpoch, Cardano.CertificateType.StakeKeyRegistration))
|
|
54
|
+
return;
|
|
55
|
+
const delegationTxCertificates = findLast(certificatesUpToEpoch, (certs) => includesAnyCertificate(certs, [Cardano.CertificateType.StakeDelegation]));
|
|
56
|
+
if (!delegationTxCertificates)
|
|
57
|
+
return;
|
|
58
|
+
return findLast(delegationTxCertificates.filter(isDelegationCertificate))?.poolId;
|
|
59
|
+
};
|
|
60
|
+
export const createDelegateeTracker = (stakePoolProvider, epoch$, certificates$) => combineLatest([certificates$, epoch$]).pipe(switchMap(([transactions, lastEpoch]) => {
|
|
61
|
+
const stakePoolIds = [lastEpoch + 1, lastEpoch + 2, lastEpoch + 3].map(getStakePoolIdAtEpoch(transactions));
|
|
62
|
+
return stakePoolProvider(uniq(stakePoolIds.filter(isNotNil))).pipe(map((stakePools) => stakePoolIds.map((poolId) => stakePools.find((pool) => pool.id === poolId) || undefined)), map(([currentEpoch, nextEpoch, nextNextEpoch]) => ({ currentEpoch, nextEpoch, nextNextEpoch })));
|
|
63
|
+
}), distinctUntilChanged((a, b) => isEqual(a, b)));
|
|
64
|
+
export const addressKeyStatuses = (addresses, transactions$, transactionsInFlight$) => combineLatest([transactions$, transactionsInFlight$]).pipe(map(getAccountsKeyStatus(addresses)), distinctUntilChanged(shallowArrayEquals));
|
|
65
|
+
export const addressDelegatees = (addresses, transactions$, stakePoolProvider, epoch$) => combineLatest(addresses.map((address) => createDelegateeTracker(stakePoolProvider, epoch$, accountCertificateTransactions(transactions$, address))));
|
|
66
|
+
export const addressRewards = (rewardAccounts, transactionsInFlight$, rewardsProvider, balancesStore) => combineLatest([
|
|
67
|
+
concat(balancesStore.getValues(rewardAccounts), rewardsProvider(rewardAccounts).pipe(tap((balances) => {
|
|
68
|
+
for (const [i, rewardAccount] of rewardAccounts.entries()) {
|
|
69
|
+
balancesStore.setValue(rewardAccount, balances[i]);
|
|
70
|
+
}
|
|
71
|
+
}))),
|
|
72
|
+
transactionsInFlight$
|
|
73
|
+
]).pipe(map(([totalRewards, transactionsInFlight]) => totalRewards.map((total, i) => total - transactionsInFlight.reduce((sum, tx) => sum + getWithdrawalQuantity(tx, rewardAccounts[i]), 0n))), distinctUntilChanged(deepEquals));
|
|
74
|
+
export const toRewardAccounts = (addresses) => ([statuses, delegatees, rewards]) => addresses.map((address, i) => ({
|
|
75
|
+
address,
|
|
76
|
+
delegatee: delegatees[i],
|
|
77
|
+
keyStatus: statuses[i],
|
|
78
|
+
rewardBalance: rewards[i]
|
|
79
|
+
}));
|
|
80
|
+
export const createRewardAccountsTracker = ({ rewardAccountAddresses$, stakePoolProvider, rewardsProvider, epoch$, balancesStore, transactions$, transactionsInFlight$ }) => rewardAccountAddresses$.pipe(switchMap((rewardAccounts) => combineLatest([
|
|
81
|
+
addressKeyStatuses(rewardAccounts, transactions$, transactionsInFlight$),
|
|
82
|
+
addressDelegatees(rewardAccounts, transactions$, stakePoolProvider, epoch$),
|
|
83
|
+
addressRewards(rewardAccounts, transactionsInFlight$, rewardsProvider, balancesStore)
|
|
84
|
+
]).pipe(map(toRewardAccounts(rewardAccounts)))));
|
|
85
|
+
//# sourceMappingURL=RewardAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardAccounts.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardAccounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAsC,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAA4B,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpE,OAAO,EAAc,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACnH,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,MAAM,CAAC,MAAM,6BAA6B,GACxC,CACE,iBAAoC,EACpC,KAAuD,EACvD,kBAAsC,EACtC,EAAE,CACJ,CAAC,OAAyB,EAAE,EAAE,CAC5B,KAAK,CACH,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EACxB,sBAAsB,CACpB,GAAG,EAAE,CACH,iBAAiB;KACd,eAAe,CAAC;IACf,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;CAC/E,CAAC;KACD,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAC3C,kBAAkB,CACnB,CAAC,IAAI,CACJ,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;IAClB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;QACnC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;KACzC;AACH,CAAC,CAAC,CACH,CACF,CAAC;AAGN,MAAM,qBAAqB,GAAG,CAC5B,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAuB,EAC9C,aAAqC,EACnB,EAAE,CACpB,UAAU,CAAC,GAAG,CACZ,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACzG,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAiC,EACjC,YAA6C,EAC7C,aAAoC,EACpC,EAAE,CACF,KAAK,CAEH,MAAM,EACN,YAAY,CAAC,IAAI,CACf,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,EACrD,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,CAC9C,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAChC,CACE,MAAiC,EACjC,YAA6C,EAC7C,eAAgC,EAChC,kBAAsC,EACtC,EAAE,CACJ,CAAC,cAAuC,EAAkC,EAAE,CAC1E,aAAa,CACX,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACnC,sBAAsB,CACpB,GAAG,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC,aAAa,CAAC,EACzD,kBAAkB,EAClB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,EACzD,OAAO,CACR,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAC/B,CACF,CAAC;AAGN,MAAM,uBAAuB,GAAG,CAAC,IAAyB,EAA8C,EAAE,CACxG,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC;AAE9D,MAAM,oBAAoB,GACxB,CAAC,SAAkC,EAAE,EAAE,CACvC,CAAC,CAAC,YAAY,EAAE,oBAAoB,CAAyC,EAAE,EAAE;IAC/E,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAC1G,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,MAAM,YAAY,GAAG,wBAAwB,CAC3C,YAAY,CAAC,GAAG,CACd,CAAC,EACC,EAAE,EAAE,EACF,IAAI,EAAE,EAAE,YAAY,EAAE,EACvB,EACF,EAAE,EAAE,CAAC,YAAY,IAAI,EAAE,CACzB,EACD,OAAO,CAAC,eAAe,CAAC,oBAAoB,EAC5C,OAAO,CACR,CAAC;QACF,MAAM,aAAa,GAAG,wBAAwB,CAC5C,oBAAoB,EACpB,OAAO,CAAC,eAAe,CAAC,oBAAoB,EAC5C,OAAO,CACR,CAAC;QACF,MAAM,eAAe,GAAG,wBAAwB,CAC9C,oBAAoB,EACpB,OAAO,CAAC,eAAe,CAAC,sBAAsB,EAC9C,OAAO,CACR,CAAC;QACF,OAAO,aAAa;YAClB,CAAC,CAAC,cAAc,CAAC,WAAW;YAC5B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,cAAc,CAAC,aAAa;gBAC9B,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,cAAc,CAAC,UAAU;oBAC3B,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,MAAM,8BAA8B,GAAG,CACrC,aAAwC,EACxC,aAAoC,EACpC,EAAE;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7E,OAAO,aAAa,CAAC,IAAI,CACvB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACnB,YAAY;SACT,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,YAAY,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,IAAI,EAAgF,EAAE,CAC7F,CAAC,GAAG,2BAA2B,EAAE,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CACpG;aACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC;QACvD,KAAK;KACN,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CACzD,EACD,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC9C,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAsC,EAAE,EAAE,CAAC,CAAC,OAAsB,EAAE,EAAE;IAC1G,MAAM,qBAAqB,GAAG,YAAY;SACvC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,EAAE,OAAO,CAAC,eAAe,CAAC,oBAAoB,CAAC;QAAE,OAAO;IAC3G,MAAM,wBAAwB,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CACzE,sBAAsB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CACzE,CAAC;IACF,IAAI,CAAC,wBAAwB;QAAE,OAAO;IACtC,OAAO,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,iBAA8C,EAC9C,MAAiC,EACjC,aAAmD,EAChB,EAAE,CACrC,aAAa,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CACzC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE;IACtC,MAAM,YAAY,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5G,OAAO,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAChE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,EAC7G,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAChG,CAAC;AACJ,CAAC,CAAC,EACF,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC9C,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,SAAkC,EAClC,aAAwC,EACxC,qBAAwD,EACxD,EAAE,CACF,aAAa,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CACxD,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,EACpC,oBAAoB,CAAC,kBAAkB,CAAC,CACzC,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAkC,EAClC,aAAwC,EACxC,iBAA8C,EAC9C,MAAiC,EACjC,EAAE,CACF,aAAa,CACX,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,EAAE,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAC1G,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,cAAuC,EACvC,qBAAwD,EACxD,eAA0C,EAC1C,aAAqE,EACrC,EAAE,CAClC,aAAa,CAAC;IACZ,MAAM,CACJ,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,EACvC,eAAe,CAAC,cAAc,CAAC,CAAC,IAAI,CAClC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACf,KAAK,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE;YACzD,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD;IACH,CAAC,CAAC,CACH,CACF;IACD,qBAAqB;CACtB,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAC3C,YAAY,CAAC,GAAG,CACd,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACX,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,qBAAqB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3G,CACF,EACD,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,SAAkC,EAAE,EAAE,CACvC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAoE,EAAE,EAAE,CACrG,SAAS,CAAC,GAAG,CACX,CAAC,OAAO,EAAE,CAAC,EAAiB,EAAE,CAAC,CAAC;IAC9B,OAAO;IACP,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IACxB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1B,CAAC,CACH,CAAC;AAEN,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,aAAa,EACb,aAAa,EACb,qBAAqB,EAStB,EAAE,EAAE,CACH,uBAAuB,CAAC,IAAI,CAC1B,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAC3B,aAAa,CAAC;IACZ,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,qBAAqB,CAAC;IACxE,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC;IAC3E,cAAc,CAAC,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,CAAC;CACtF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAC/C,CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Cardano, EpochRewards } from '@cardano-sdk/core';
|
|
2
|
+
import { KeyValueStore } from '../../persistence';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { RetryBackoffConfig } from 'backoff-rxjs';
|
|
5
|
+
import { RewardsHistory } from '../types';
|
|
6
|
+
import { TrackedRewardsProvider } from '../ProviderTracker';
|
|
7
|
+
import { TxWithEpoch } from './types';
|
|
8
|
+
export declare const createRewardsHistoryProvider: (rewardsProvider: TrackedRewardsProvider, retryBackoffConfig: RetryBackoffConfig) => (rewardAccounts: Cardano.RewardAccount[], lowerBound: Cardano.Epoch | null) => Observable<Map<Cardano.RewardAccount, EpochRewards[]>>;
|
|
9
|
+
export declare type RewardsHistoryProvider = ReturnType<typeof createRewardsHistoryProvider>;
|
|
10
|
+
export declare const createRewardsHistoryTracker: (transactions$: Observable<TxWithEpoch[]>, rewardAccounts$: Observable<Cardano.RewardAccount[]>, rewardsHistoryProvider: RewardsHistoryProvider, rewardsHistoryStore: KeyValueStore<Cardano.RewardAccount, EpochRewards[]>) => Observable<RewardsHistory>;
|
|
11
|
+
//# sourceMappingURL=RewardsHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardsHistory.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardsHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAkD,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,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;AAStC,eAAO,MAAM,4BAA4B,oBACrB,sBAAsB,sBAAsB,kBAAkB,sBAE9D,QAAQ,aAAa,EAAE,cAC3B,QAAQ,KAAK,GAAG,IAAI,KAC/B,WAAW,IAAI,QAAQ,aAAa,EAAE,YAAY,EAAE,CAAC,CAavD,CAAC;AAEJ,oBAAY,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAkBrF,eAAO,MAAM,2BAA2B,kBACvB,WAAW,WAAW,EAAE,CAAC,mBACvB,WAAW,QAAQ,aAAa,EAAE,CAAC,0BAC5B,sBAAsB,uBACzB,cAAc,QAAQ,aAAa,EAAE,YAAY,EAAE,CAAC,KACxE,WAAW,cAAc,CAyCvB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BigIntMath, isNotNil } from '@cardano-sdk/util';
|
|
2
|
+
import { Cardano, createTxInspector, signedCertificatesInspector } from '@cardano-sdk/core';
|
|
3
|
+
import { concat, distinctUntilChanged, map, of, switchMap, tap } from 'rxjs';
|
|
4
|
+
import { coldObservableProvider } from '../util';
|
|
5
|
+
import first from 'lodash/first';
|
|
6
|
+
import flatten from 'lodash/flatten';
|
|
7
|
+
import groupBy from 'lodash/groupBy';
|
|
8
|
+
const sumRewards = (arrayOfRewards) => BigIntMath.sum(arrayOfRewards.map(({ rewards }) => rewards));
|
|
9
|
+
const avgReward = (arrayOfRewards) => sumRewards(arrayOfRewards) / BigInt(arrayOfRewards.length);
|
|
10
|
+
export const createRewardsHistoryProvider = (rewardsProvider, retryBackoffConfig) => (rewardAccounts, lowerBound) => {
|
|
11
|
+
if (lowerBound) {
|
|
12
|
+
return coldObservableProvider(() => rewardsProvider.rewardsHistory({
|
|
13
|
+
epochs: { lowerBound },
|
|
14
|
+
rewardAccounts
|
|
15
|
+
}), retryBackoffConfig);
|
|
16
|
+
}
|
|
17
|
+
rewardsProvider.setStatInitialized(rewardsProvider.stats.rewardsHistory$);
|
|
18
|
+
return of(new Map());
|
|
19
|
+
};
|
|
20
|
+
const firstDelegationEpoch$ = (transactions$, rewardAccounts) => transactions$.pipe(map((transactions) => first(transactions.filter(({ tx }) => {
|
|
21
|
+
const inspectTx = createTxInspector({
|
|
22
|
+
signedCertificates: signedCertificatesInspector(rewardAccounts, [Cardano.CertificateType.StakeDelegation])
|
|
23
|
+
});
|
|
24
|
+
return inspectTx(tx).signedCertificates.length > 0;
|
|
25
|
+
}))), map((tx) => (isNotNil(tx) ? tx.epoch + 3 : null)), distinctUntilChanged());
|
|
26
|
+
export const createRewardsHistoryTracker = (transactions$, rewardAccounts$, rewardsHistoryProvider, rewardsHistoryStore) => rewardAccounts$
|
|
27
|
+
.pipe(switchMap((rewardAccounts) => concat(rewardsHistoryStore
|
|
28
|
+
.getValues(rewardAccounts)
|
|
29
|
+
.pipe(map((rewards) => new Map(rewardAccounts.map((rewardAccount, i) => [rewardAccount, rewards[i]])))), firstDelegationEpoch$(transactions$, rewardAccounts).pipe(switchMap((firstEpoch) => rewardsHistoryProvider(rewardAccounts, firstEpoch)), tap((allRewards) => rewardsHistoryStore.setAll([...allRewards.entries()].map(([key, value]) => ({ key, value }))))))))
|
|
30
|
+
.pipe(map((rewardsByAccount) => {
|
|
31
|
+
const allRewards = flatten([...rewardsByAccount.values()]);
|
|
32
|
+
if (allRewards.length === 0) {
|
|
33
|
+
return {
|
|
34
|
+
all: [],
|
|
35
|
+
avgReward: null,
|
|
36
|
+
lastReward: null,
|
|
37
|
+
lifetimeRewards: 0n
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const rewardsByEpoch = groupBy(allRewards, ({ epoch }) => epoch);
|
|
41
|
+
const epochs = Object.keys(rewardsByEpoch)
|
|
42
|
+
.map((epoch) => Number(epoch))
|
|
43
|
+
.sort();
|
|
44
|
+
const all = epochs.map((epoch) => ({ epoch, rewards: sumRewards(rewardsByEpoch[epoch]) }));
|
|
45
|
+
return {
|
|
46
|
+
all,
|
|
47
|
+
avgReward: avgReward(allRewards),
|
|
48
|
+
lastReward: all[all.length - 1],
|
|
49
|
+
lifetimeRewards: sumRewards(allRewards)
|
|
50
|
+
};
|
|
51
|
+
}));
|
|
52
|
+
//# sourceMappingURL=RewardsHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RewardsHistory.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/RewardsHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAgB,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAc,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,MAAM,UAAU,GAAG,CAAC,cAA8B,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACpH,MAAM,SAAS,GAAG,CAAC,cAA8B,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAEjH,MAAM,CAAC,MAAM,4BAA4B,GACvC,CAAC,eAAuC,EAAE,kBAAsC,EAAE,EAAE,CACpF,CACE,cAAuC,EACvC,UAAgC,EACwB,EAAE;IAC1D,IAAI,UAAU,EAAE;QACd,OAAO,sBAAsB,CAC3B,GAAG,EAAE,CACH,eAAe,CAAC,cAAc,CAAC;YAC7B,MAAM,EAAE,EAAE,UAAU,EAAE;YACtB,cAAc;SACf,CAAC,EACJ,kBAAkB,CACnB,CAAC;KACH;IACD,eAAe,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AAIJ,MAAM,qBAAqB,GAAG,CAAC,aAAwC,EAAE,cAAuC,EAAE,EAAE,CAClH,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACnB,KAAK,CACH,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7B,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,kBAAkB,EAAE,2BAA2B,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;KAC3G,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC,CACH,CACF,EACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACjD,oBAAoB,EAAE,CACvB,CAAC;AAEJ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,aAAwC,EACxC,eAAoD,EACpD,sBAA8C,EAC9C,mBAAyE,EAC7C,EAAE,CAC9B,eAAe;KACZ,IAAI,CACH,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAC3B,MAAM,CACJ,mBAAmB;KAChB,SAAS,CAAC,cAAc,CAAC;KACzB,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzG,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,IAAI,CACvD,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,sBAAsB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAC7E,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACjB,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAC9F,CACF,CACF,CACF,CACF;KACA,IAAI,CACH,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;IACvB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO;YACL,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,EAAE;SACF,CAAC;KACrB;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;SACvC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B,IAAI,EAAE,CAAC;IACV,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3F,OAAO;QACL,GAAG;QACH,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC;KACxC,CAAC;AACJ,CAAC,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export declare const RegAndDeregCertificateTypes: Cardano.CertificateType[];
|
|
4
|
+
export declare const stakeKeyCertficates: (certificates?: Cardano.Certificate[] | undefined) => Cardano.StakeAddressCertificate[];
|
|
5
|
+
export declare const includesAnyCertificate: (haystack: Cardano.Certificate[], needle: Cardano.CertificateType[]) => boolean;
|
|
6
|
+
export declare const isLastStakeKeyCertOfType: (transactionsCertificates: Cardano.Certificate[][], certType: Cardano.CertificateType.StakeKeyRegistration | Cardano.CertificateType.StakeKeyDeregistration, rewardAccount?: Cardano.RewardAccount | undefined) => boolean;
|
|
7
|
+
export declare const transactionsWithCertificates: (transactions$: Observable<Cardano.TxAlonzo[]>, rewardAccounts$: Observable<Cardano.RewardAccount[]>, certificateTypes: Cardano.CertificateType[]) => Observable<Cardano.TxAlonzo[]>;
|
|
8
|
+
//# sourceMappingURL=transactionCertificates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionCertificates.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/transactionCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkD,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAA4C,MAAM,MAAM,CAAC;AAK5E,eAAO,MAAM,2BAA2B,2BAGvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,yFAGvB,CAAC;AAEV,eAAO,MAAM,sBAAsB,aAAc,QAAQ,WAAW,EAAE,UAAU,QAAQ,eAAe,EAAE,YAChC,CAAC;AAE1E,eAAO,MAAM,wBAAwB,6BACT,QAAQ,WAAW,EAAE,EAAE,YACvC,QAAQ,eAAe,CAAC,oBAAoB,GAAG,QAAQ,eAAe,CAAC,sBAAsB,+DAgBxG,CAAC;AAEF,eAAO,MAAM,4BAA4B,kBACxB,WAAW,QAAQ,QAAQ,EAAE,CAAC,mBAC5B,WAAW,QAAQ,aAAa,EAAE,CAAC,oBAClC,QAAQ,eAAe,EAAE,mCAY1C,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Cardano, createTxInspector, signedCertificatesInspector } from '@cardano-sdk/core';
|
|
2
|
+
import { combineLatest, distinctUntilChanged, map } from 'rxjs';
|
|
3
|
+
import { isNotNil } from '@cardano-sdk/util';
|
|
4
|
+
import { transactionsEquals } from '../util/equals';
|
|
5
|
+
import last from 'lodash/last';
|
|
6
|
+
export const RegAndDeregCertificateTypes = [
|
|
7
|
+
Cardano.CertificateType.StakeKeyRegistration,
|
|
8
|
+
Cardano.CertificateType.StakeKeyDeregistration
|
|
9
|
+
];
|
|
10
|
+
export const stakeKeyCertficates = (certificates) => certificates?.filter((certificate) => RegAndDeregCertificateTypes.includes(certificate.__typename)) || [];
|
|
11
|
+
export const includesAnyCertificate = (haystack, needle) => haystack.some(({ __typename }) => needle.includes(__typename)) || false;
|
|
12
|
+
export const isLastStakeKeyCertOfType = (transactionsCertificates, certType, rewardAccount) => {
|
|
13
|
+
const stakeKeyHash = rewardAccount ? Cardano.Ed25519KeyHash.fromRewardAccount(rewardAccount) : null;
|
|
14
|
+
const lastRegOrDereg = last(transactionsCertificates
|
|
15
|
+
.map((certificates) => {
|
|
16
|
+
const allStakeKeyCertificates = stakeKeyCertficates(certificates);
|
|
17
|
+
const addressStakeKeyCertificates = stakeKeyHash
|
|
18
|
+
? allStakeKeyCertificates.filter(({ stakeKeyHash: certStakeKeyHash }) => stakeKeyHash === certStakeKeyHash)
|
|
19
|
+
: allStakeKeyCertificates;
|
|
20
|
+
return last(addressStakeKeyCertificates);
|
|
21
|
+
})
|
|
22
|
+
.filter(isNotNil));
|
|
23
|
+
return lastRegOrDereg?.__typename === certType;
|
|
24
|
+
};
|
|
25
|
+
export const transactionsWithCertificates = (transactions$, rewardAccounts$, certificateTypes) => combineLatest([transactions$, rewardAccounts$]).pipe(map(([transactions, rewardAccounts]) => transactions.filter((tx) => {
|
|
26
|
+
const inspectTx = createTxInspector({
|
|
27
|
+
signedCertificates: signedCertificatesInspector(rewardAccounts, certificateTypes)
|
|
28
|
+
});
|
|
29
|
+
return inspectTx(tx).signedCertificates.length > 0;
|
|
30
|
+
})), distinctUntilChanged(transactionsEquals));
|
|
31
|
+
//# sourceMappingURL=transactionCertificates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionCertificates.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/transactionCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC5F,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,aAAa,CAAC;AAE/B,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,OAAO,CAAC,eAAe,CAAC,oBAAoB;IAC5C,OAAO,CAAC,eAAe,CAAC,sBAAsB;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAoC,EAAE,EAAE,CAC1E,YAAY,EAAE,MAAM,CAAC,CAAC,WAAW,EAAkD,EAAE,CACnF,2BAA2B,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAC7D,IAAI,EAAE,CAAC;AAEV,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAA+B,EAAE,MAAiC,EAAE,EAAE,CAC3G,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC;AAE1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,wBAAiD,EACjD,QAAuG,EACvG,aAAqC,EACrC,EAAE;IACF,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,MAAM,cAAc,GAAG,IAAI,CACzB,wBAAwB;SACrB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACpB,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,2BAA2B,GAAG,YAAY;YAC9C,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,gBAAgB,CAAC;YAC3G,CAAC,CAAC,uBAAuB,CAAC;QAC5B,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,MAAM,CAAC,QAAQ,CAAC,CACpB,CAAC;IACF,OAAO,cAAc,EAAE,UAAU,KAAK,QAAQ,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,aAA6C,EAC7C,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;IACzB,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,kBAAkB,EAAE,2BAA2B,CAAC,cAAc,EAAE,gBAAgB,CAAC;KAClF,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC,CACH,EACD,oBAAoB,CAAC,kBAAkB,CAAC,CACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/DelegationTracker/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Cardano, EpochInfo, NetworkInfo } from '@cardano-sdk/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TrackerSubject } from '@cardano-sdk/util-rxjs';
|
|
4
|
+
export declare const currentEpochTracker: (tip$: Observable<Cardano.Tip>, networkInfo$: Observable<NetworkInfo>) => TrackerSubject<EpochInfo>;
|
|
5
|
+
//# sourceMappingURL=EpochTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EpochTracker.d.ts","sourceRoot":"","sources":["../../../src/services/EpochTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAwC,MAAM,MAAM,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,eAAO,MAAM,mBAAmB,SACxB,WAAW,QAAQ,GAAG,CAAC,gBACf,WAAW,WAAW,CAAC,KACpC,eAAe,SAAS,CASxB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createSlotEpochInfoCalc } from '@cardano-sdk/core';
|
|
2
|
+
import { distinctUntilChanged, map, switchMap } from 'rxjs';
|
|
3
|
+
import { TrackerSubject } from '@cardano-sdk/util-rxjs';
|
|
4
|
+
import { epochInfoEquals } from './util';
|
|
5
|
+
export const currentEpochTracker = (tip$, networkInfo$) => new TrackerSubject(networkInfo$.pipe(switchMap((networkInfo) => {
|
|
6
|
+
const slotEpochInfoCalc = createSlotEpochInfoCalc(networkInfo.network.timeSettings);
|
|
7
|
+
return tip$.pipe(map(({ slot }) => slotEpochInfoCalc(slot)));
|
|
8
|
+
}), distinctUntilChanged(epochInfoEquals)));
|
|
9
|
+
//# sourceMappingURL=EpochTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EpochTracker.js","sourceRoot":"","sources":["../../../src/services/EpochTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAc,oBAAoB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAA6B,EAC7B,YAAqC,EACV,EAAE,CAC7B,IAAI,cAAc,CAChB,YAAY,CAAC,IAAI,CACf,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;IACxB,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,EACF,oBAAoB,CAAC,eAAe,CAAC,CACtC,CACF,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Milliseconds } from '../types';
|
|
3
|
+
import { ProviderFnStats } from './ProviderTracker';
|
|
4
|
+
import { TrackedAssetProvider } from './TrackedAssetProvider';
|
|
5
|
+
import { TrackedChainHistoryProvider } from './TrackedChainHistoryProvider';
|
|
6
|
+
import { TrackedNetworkInfoProvider } from './TrackedNetworkInfoProvider';
|
|
7
|
+
import { TrackedRewardsProvider } from './TrackedRewardsProvider';
|
|
8
|
+
import { TrackedStakePoolProvider } from './TrackedStakePoolProvider';
|
|
9
|
+
import { TrackedTxSubmitProvider } from './TrackedTxSubmitProvider';
|
|
10
|
+
import { TrackedUtxoProvider } from './TrackedUtxoProvider';
|
|
11
|
+
import { TrackerSubject } from '@cardano-sdk/util-rxjs';
|
|
12
|
+
export interface ProviderStatusTrackerProps {
|
|
13
|
+
consideredOutOfSyncAfter: Milliseconds;
|
|
14
|
+
}
|
|
15
|
+
export interface ProviderStatusTrackerDependencies {
|
|
16
|
+
stakePoolProvider: TrackedStakePoolProvider;
|
|
17
|
+
networkInfoProvider: TrackedNetworkInfoProvider;
|
|
18
|
+
txSubmitProvider: TrackedTxSubmitProvider;
|
|
19
|
+
assetProvider: TrackedAssetProvider;
|
|
20
|
+
utxoProvider: TrackedUtxoProvider;
|
|
21
|
+
chainHistoryProvider: TrackedChainHistoryProvider;
|
|
22
|
+
rewardsProvider: TrackedRewardsProvider;
|
|
23
|
+
}
|
|
24
|
+
declare const getDefaultProviderSyncRelevantStats: ({ stakePoolProvider, networkInfoProvider, txSubmitProvider, assetProvider, utxoProvider, chainHistoryProvider, rewardsProvider }: ProviderStatusTrackerDependencies) => Observable<ProviderFnStats[]>;
|
|
25
|
+
export interface ProviderStatusTrackerInternals {
|
|
26
|
+
getProviderSyncRelevantStats?: typeof getDefaultProviderSyncRelevantStats;
|
|
27
|
+
}
|
|
28
|
+
export declare const createProviderStatusTracker: (dependencies: ProviderStatusTrackerDependencies, { consideredOutOfSyncAfter }: ProviderStatusTrackerProps, { getProviderSyncRelevantStats }?: ProviderStatusTrackerInternals) => {
|
|
29
|
+
isAnyRequestPending$: TrackerSubject<boolean>;
|
|
30
|
+
isSettled$: TrackerSubject<boolean>;
|
|
31
|
+
isUpToDate$: TrackerSubject<boolean>;
|
|
32
|
+
shutdown(): void;
|
|
33
|
+
};
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=ProviderStatusTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderStatusTracker.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderStatusTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAcX,MAAM,MAAM,CAAC;AACd,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,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,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,0BAA0B,CAAC;IAChD,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,oBAAoB,EAAE,2BAA2B,CAAC;IAClD,eAAe,EAAE,sBAAsB,CAAC;CACzC;AAED,QAAA,MAAM,mCAAmC,qIAQtC,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;;;;;CA4CvG,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EMPTY, combineLatest, concat, debounceTime, distinctUntilChanged, filter, map, mergeMap, of, share, skipWhile, switchMap, take, timer } from 'rxjs';
|
|
2
|
+
import { TrackerSubject } from '@cardano-sdk/util-rxjs';
|
|
3
|
+
const getDefaultProviderSyncRelevantStats = ({ stakePoolProvider, networkInfoProvider, txSubmitProvider, assetProvider, utxoProvider, chainHistoryProvider, rewardsProvider }) => combineLatest([
|
|
4
|
+
networkInfoProvider.stats.ledgerTip$,
|
|
5
|
+
networkInfoProvider.stats.currentWalletProtocolParameters$,
|
|
6
|
+
networkInfoProvider.stats.genesisParameters$,
|
|
7
|
+
networkInfoProvider.stats.networkInfo$,
|
|
8
|
+
assetProvider.stats.getAsset$,
|
|
9
|
+
txSubmitProvider.stats.submitTx$,
|
|
10
|
+
stakePoolProvider.stats.queryStakePools$,
|
|
11
|
+
utxoProvider.stats.utxoByAddresses$,
|
|
12
|
+
chainHistoryProvider.stats.transactionsByAddresses$,
|
|
13
|
+
rewardsProvider.stats.rewardsHistory$,
|
|
14
|
+
rewardsProvider.stats.rewardAccountBalance$
|
|
15
|
+
]);
|
|
16
|
+
export const createProviderStatusTracker = (dependencies, { consideredOutOfSyncAfter }, { getProviderSyncRelevantStats = getDefaultProviderSyncRelevantStats } = {}) => {
|
|
17
|
+
const relevantStats$ = getProviderSyncRelevantStats(dependencies).pipe(share());
|
|
18
|
+
const isAnyRequestPending$ = new TrackerSubject(relevantStats$.pipe(debounceTime(1), map((allStats) => allStats.some(({ numCalls, numFailures, numResponses, didLastRequestFail }) => didLastRequestFail || numCalls > numResponses + numFailures)), distinctUntilChanged()));
|
|
19
|
+
const statsReady$ = relevantStats$.pipe(debounceTime(1), skipWhile((allStats) => allStats.some(({ initialized }) => !initialized)), take(1), mergeMap(() => EMPTY));
|
|
20
|
+
const isSettled$ = new TrackerSubject(concat(of(false), statsReady$, isAnyRequestPending$.pipe(map((pending) => !pending))).pipe(distinctUntilChanged()));
|
|
21
|
+
const isUpToDate$ = new TrackerSubject(concat(of(false), isSettled$.pipe(filter((isSettled) => isSettled), switchMap(() => concat(of(true), timer(consideredOutOfSyncAfter).pipe(map(() => false)))), distinctUntilChanged())));
|
|
22
|
+
return {
|
|
23
|
+
isAnyRequestPending$,
|
|
24
|
+
isSettled$,
|
|
25
|
+
isUpToDate$,
|
|
26
|
+
shutdown() {
|
|
27
|
+
isAnyRequestPending$.complete();
|
|
28
|
+
isSettled$.complete();
|
|
29
|
+
isUpToDate$.complete();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=ProviderStatusTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderStatusTracker.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderStatusTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
export interface ProviderFnStats {
|
|
3
|
+
numCalls: number;
|
|
4
|
+
numResponses: number;
|
|
5
|
+
numFailures: number;
|
|
6
|
+
initialized?: boolean;
|
|
7
|
+
didLastRequestFail?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const CLEAN_FN_STATS: ProviderFnStats;
|
|
10
|
+
export declare abstract class ProviderTracker {
|
|
11
|
+
protected trackedCall<T>(call: () => Promise<T>, tracker: BehaviorSubject<ProviderFnStats>): Promise<T>;
|
|
12
|
+
setStatInitialized(tracker: BehaviorSubject<ProviderFnStats>): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ProviderTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderTracker.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/ProviderTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,EAAE,eAAkE,CAAC;AAKhG,8BAAsB,eAAe;cACnB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC;IAsBhG,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC;CAM7D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const CLEAN_FN_STATS = { numCalls: 0, numFailures: 0, numResponses: 0 };
|
|
2
|
+
export class ProviderTracker {
|
|
3
|
+
async trackedCall(call, tracker) {
|
|
4
|
+
tracker.next({ ...tracker.value, numCalls: tracker.value.numCalls + 1 });
|
|
5
|
+
try {
|
|
6
|
+
const result = await call();
|
|
7
|
+
const numResponses = tracker.value.numResponses + 1;
|
|
8
|
+
tracker.next({
|
|
9
|
+
...tracker.value,
|
|
10
|
+
didLastRequestFail: false,
|
|
11
|
+
initialized: true,
|
|
12
|
+
numResponses
|
|
13
|
+
});
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
tracker.next({
|
|
18
|
+
...tracker.value,
|
|
19
|
+
didLastRequestFail: true,
|
|
20
|
+
numFailures: tracker.value.numFailures + 1
|
|
21
|
+
});
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
setStatInitialized(tracker) {
|
|
26
|
+
tracker.next({
|
|
27
|
+
...tracker.value,
|
|
28
|
+
initialized: true
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ProviderTracker.js.map
|