@cardano-sdk/wallet 0.1.7 → 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.
Files changed (737) hide show
  1. package/dist/cjs/KeyManagement/InMemoryKeyAgent.d.ts +23 -0
  2. package/dist/cjs/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
  3. package/dist/cjs/KeyManagement/InMemoryKeyAgent.js +118 -0
  4. package/dist/cjs/KeyManagement/InMemoryKeyAgent.js.map +1 -0
  5. package/dist/cjs/KeyManagement/KeyAgentBase.d.ts +20 -0
  6. package/dist/cjs/KeyManagement/KeyAgentBase.d.ts.map +1 -0
  7. package/dist/cjs/KeyManagement/KeyAgentBase.js +76 -0
  8. package/dist/cjs/KeyManagement/KeyAgentBase.js.map +1 -0
  9. package/dist/cjs/KeyManagement/LedgerKeyAgent.d.ts +43 -0
  10. package/dist/cjs/KeyManagement/LedgerKeyAgent.d.ts.map +1 -0
  11. package/dist/cjs/KeyManagement/LedgerKeyAgent.js +209 -0
  12. package/dist/cjs/KeyManagement/LedgerKeyAgent.js.map +1 -0
  13. package/dist/cjs/KeyManagement/TrezorKeyAgent.d.ts +30 -0
  14. package/dist/cjs/KeyManagement/TrezorKeyAgent.d.ts.map +1 -0
  15. package/dist/cjs/KeyManagement/TrezorKeyAgent.js +136 -0
  16. package/dist/cjs/KeyManagement/TrezorKeyAgent.js.map +1 -0
  17. package/dist/cjs/KeyManagement/cip8/cip30signData.d.ts +22 -0
  18. package/dist/cjs/KeyManagement/cip8/cip30signData.d.ts.map +1 -0
  19. package/dist/cjs/KeyManagement/cip8/cip30signData.js +81 -0
  20. package/dist/cjs/KeyManagement/cip8/cip30signData.js.map +1 -0
  21. package/dist/cjs/KeyManagement/cip8/index.d.ts +2 -0
  22. package/dist/cjs/KeyManagement/cip8/index.d.ts.map +1 -0
  23. package/dist/cjs/KeyManagement/cip8/index.js +18 -0
  24. package/dist/cjs/KeyManagement/cip8/index.js.map +1 -0
  25. package/dist/cjs/KeyManagement/cip8/types.d.ts +4 -0
  26. package/dist/cjs/KeyManagement/cip8/types.d.ts.map +1 -0
  27. package/dist/{KeyManagement → cjs/KeyManagement/cip8}/types.js +0 -0
  28. package/dist/cjs/KeyManagement/cip8/types.js.map +1 -0
  29. package/dist/cjs/KeyManagement/cip8/util.d.ts +7 -0
  30. package/dist/cjs/KeyManagement/cip8/util.d.ts.map +1 -0
  31. package/dist/cjs/KeyManagement/cip8/util.js +10 -0
  32. package/dist/cjs/KeyManagement/cip8/util.js.map +1 -0
  33. package/dist/cjs/KeyManagement/emip3.d.ts +4 -0
  34. package/dist/cjs/KeyManagement/emip3.d.ts.map +1 -0
  35. package/dist/cjs/KeyManagement/emip3.js +48 -0
  36. package/dist/cjs/KeyManagement/emip3.js.map +1 -0
  37. package/dist/cjs/KeyManagement/errors/AuthenticationError.d.ts +6 -0
  38. package/dist/cjs/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
  39. package/dist/cjs/KeyManagement/errors/AuthenticationError.js +16 -0
  40. package/dist/cjs/KeyManagement/errors/AuthenticationError.js.map +1 -0
  41. package/dist/cjs/KeyManagement/errors/HwMappingError.d.ts +6 -0
  42. package/dist/cjs/KeyManagement/errors/HwMappingError.d.ts.map +1 -0
  43. package/dist/cjs/KeyManagement/errors/HwMappingError.js +16 -0
  44. package/dist/cjs/KeyManagement/errors/HwMappingError.js.map +1 -0
  45. package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
  46. package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
  47. package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.js +13 -0
  48. package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
  49. package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
  50. package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
  51. package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .js +15 -0
  52. package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
  53. package/dist/cjs/KeyManagement/errors/TransportError.d.ts +6 -0
  54. package/dist/cjs/KeyManagement/errors/TransportError.d.ts.map +1 -0
  55. package/dist/cjs/KeyManagement/errors/TransportError.js +16 -0
  56. package/dist/cjs/KeyManagement/errors/TransportError.js.map +1 -0
  57. package/dist/cjs/KeyManagement/errors/index.d.ts +6 -0
  58. package/dist/cjs/KeyManagement/errors/index.d.ts.map +1 -0
  59. package/dist/cjs/KeyManagement/errors/index.js +22 -0
  60. package/dist/cjs/KeyManagement/errors/index.js.map +1 -0
  61. package/dist/cjs/KeyManagement/index.d.ts +12 -0
  62. package/dist/cjs/KeyManagement/index.d.ts.map +1 -0
  63. package/dist/{KeyManagement → cjs/KeyManagement}/index.js +16 -4
  64. package/dist/cjs/KeyManagement/index.js.map +1 -0
  65. package/dist/cjs/KeyManagement/restoreKeyAgent.d.ts +9 -0
  66. package/dist/cjs/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
  67. package/dist/cjs/KeyManagement/restoreKeyAgent.js +31 -0
  68. package/dist/cjs/KeyManagement/restoreKeyAgent.js.map +1 -0
  69. package/dist/cjs/KeyManagement/types.d.ts +102 -0
  70. package/dist/cjs/KeyManagement/types.d.ts.map +1 -0
  71. package/dist/cjs/KeyManagement/types.js +30 -0
  72. package/dist/cjs/KeyManagement/types.js.map +1 -0
  73. package/dist/cjs/KeyManagement/util/bip39.d.ts +8 -0
  74. package/dist/cjs/KeyManagement/util/bip39.d.ts.map +1 -0
  75. package/dist/{KeyManagement/util.js → cjs/KeyManagement/util/bip39.js} +14 -6
  76. package/dist/cjs/KeyManagement/util/bip39.js.map +1 -0
  77. package/dist/cjs/KeyManagement/util/cachedGetPassword.d.ts +4 -0
  78. package/dist/cjs/KeyManagement/util/cachedGetPassword.d.ts.map +1 -0
  79. package/dist/cjs/KeyManagement/util/cachedGetPassword.js +25 -0
  80. package/dist/cjs/KeyManagement/util/cachedGetPassword.js.map +1 -0
  81. package/dist/cjs/KeyManagement/util/constants.d.ts +12 -0
  82. package/dist/cjs/KeyManagement/util/constants.d.ts.map +1 -0
  83. package/dist/cjs/KeyManagement/util/constants.js +17 -0
  84. package/dist/cjs/KeyManagement/util/constants.js.map +1 -0
  85. package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.d.ts +3 -0
  86. package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.d.ts.map +1 -0
  87. package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.js +25 -0
  88. package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.js.map +1 -0
  89. package/dist/cjs/KeyManagement/util/index.d.ts +9 -0
  90. package/dist/cjs/KeyManagement/util/index.d.ts.map +1 -0
  91. package/dist/cjs/KeyManagement/util/index.js +25 -0
  92. package/dist/cjs/KeyManagement/util/index.js.map +1 -0
  93. package/dist/cjs/KeyManagement/util/key.d.ts +6 -0
  94. package/dist/cjs/KeyManagement/util/key.d.ts.map +1 -0
  95. package/dist/cjs/KeyManagement/util/key.js +17 -0
  96. package/dist/cjs/KeyManagement/util/key.js.map +1 -0
  97. package/dist/cjs/KeyManagement/util/mapHardwareSigningData.d.ts +44 -0
  98. package/dist/cjs/KeyManagement/util/mapHardwareSigningData.d.ts.map +1 -0
  99. package/dist/cjs/KeyManagement/util/mapHardwareSigningData.js +871 -0
  100. package/dist/cjs/KeyManagement/util/mapHardwareSigningData.js.map +1 -0
  101. package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.d.ts +4 -0
  102. package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.d.ts.map +1 -0
  103. package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.js +24 -0
  104. package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.js.map +1 -0
  105. package/dist/cjs/KeyManagement/util/stubSignTransaction.d.ts +4 -0
  106. package/dist/cjs/KeyManagement/util/stubSignTransaction.d.ts.map +1 -0
  107. package/dist/cjs/KeyManagement/util/stubSignTransaction.js +13 -0
  108. package/dist/cjs/KeyManagement/util/stubSignTransaction.js.map +1 -0
  109. package/dist/cjs/SingleAddressWallet.d.ts +65 -0
  110. package/dist/cjs/SingleAddressWallet.d.ts.map +1 -0
  111. package/dist/cjs/SingleAddressWallet.js +223 -0
  112. package/dist/cjs/SingleAddressWallet.js.map +1 -0
  113. package/dist/cjs/Transaction/createTransactionInternals.d.ts +16 -0
  114. package/dist/cjs/Transaction/createTransactionInternals.d.ts.map +1 -0
  115. package/dist/cjs/Transaction/createTransactionInternals.js +28 -0
  116. package/dist/cjs/Transaction/createTransactionInternals.js.map +1 -0
  117. package/dist/{Transaction → cjs/Transaction}/ensureValidityInterval.d.ts +0 -0
  118. package/dist/cjs/Transaction/ensureValidityInterval.d.ts.map +1 -0
  119. package/dist/{Transaction → cjs/Transaction}/ensureValidityInterval.js +0 -0
  120. package/dist/cjs/Transaction/ensureValidityInterval.js.map +1 -0
  121. package/dist/{Transaction → cjs/Transaction}/index.d.ts +0 -1
  122. package/dist/cjs/Transaction/index.d.ts.map +1 -0
  123. package/dist/{Transaction → cjs/Transaction}/index.js +5 -2
  124. package/dist/cjs/Transaction/index.js.map +1 -0
  125. package/dist/cjs/cip30.d.ts +30 -0
  126. package/dist/cjs/cip30.d.ts.map +1 -0
  127. package/dist/cjs/cip30.js +204 -0
  128. package/dist/cjs/cip30.js.map +1 -0
  129. package/dist/cjs/index.d.ts +8 -0
  130. package/dist/cjs/index.d.ts.map +1 -0
  131. package/dist/{index.js → cjs/index.js} +8 -2
  132. package/dist/cjs/index.js.map +1 -0
  133. package/dist/cjs/package.json +3 -0
  134. package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.d.ts +9 -0
  135. package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.d.ts.map +1 -0
  136. package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.js +25 -0
  137. package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.js.map +1 -0
  138. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +9 -0
  139. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -0
  140. package/dist/{services/util/SyncableIntervalTrackerSubject.js → cjs/persistence/inMemoryStores/InMemoryDocumentStore.js} +26 -18
  141. package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -0
  142. package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts +8 -0
  143. package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts.map +1 -0
  144. package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.js +31 -0
  145. package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.js.map +1 -0
  146. package/dist/cjs/persistence/inMemoryStores/InMemoryStore.d.ts +7 -0
  147. package/dist/cjs/persistence/inMemoryStores/InMemoryStore.d.ts.map +1 -0
  148. package/dist/cjs/persistence/inMemoryStores/InMemoryStore.js +15 -0
  149. package/dist/cjs/persistence/inMemoryStores/InMemoryStore.js.map +1 -0
  150. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts +35 -0
  151. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -0
  152. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js +85 -0
  153. package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -0
  154. package/dist/cjs/persistence/inMemoryStores/index.d.ts +5 -0
  155. package/dist/cjs/persistence/inMemoryStores/index.d.ts.map +1 -0
  156. package/dist/cjs/persistence/inMemoryStores/index.js +21 -0
  157. package/dist/cjs/persistence/inMemoryStores/index.js.map +1 -0
  158. package/dist/cjs/persistence/index.d.ts +4 -0
  159. package/dist/cjs/persistence/index.d.ts.map +1 -0
  160. package/dist/cjs/persistence/index.js +20 -0
  161. package/dist/cjs/persistence/index.js.map +1 -0
  162. package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.d.ts +16 -0
  163. package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.d.ts.map +1 -0
  164. package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.js +60 -0
  165. package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.js.map +1 -0
  166. package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.d.ts +10 -0
  167. package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.d.ts.map +1 -0
  168. package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.js +45 -0
  169. package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.js.map +1 -0
  170. package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts +11 -0
  171. package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts.map +1 -0
  172. package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.js +53 -0
  173. package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.js.map +1 -0
  174. package/dist/cjs/persistence/pouchdbStores/PouchdbStore.d.ts +20 -0
  175. package/dist/cjs/persistence/pouchdbStores/PouchdbStore.d.ts.map +1 -0
  176. package/dist/cjs/persistence/pouchdbStores/PouchdbStore.js +69 -0
  177. package/dist/cjs/persistence/pouchdbStores/PouchdbStore.js.map +1 -0
  178. package/dist/cjs/persistence/pouchdbStores/index.d.ts +5 -0
  179. package/dist/cjs/persistence/pouchdbStores/index.d.ts.map +1 -0
  180. package/dist/cjs/persistence/pouchdbStores/index.js +21 -0
  181. package/dist/cjs/persistence/pouchdbStores/index.js.map +1 -0
  182. package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.d.ts +37 -0
  183. package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.d.ts.map +1 -0
  184. package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.js +84 -0
  185. package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.js.map +1 -0
  186. package/dist/cjs/persistence/pouchdbStores/util.d.ts +10 -0
  187. package/dist/cjs/persistence/pouchdbStores/util.d.ts.map +1 -0
  188. package/dist/cjs/persistence/pouchdbStores/util.js +52 -0
  189. package/dist/cjs/persistence/pouchdbStores/util.js.map +1 -0
  190. package/dist/cjs/persistence/types.d.ts +41 -0
  191. package/dist/cjs/persistence/types.d.ts.map +1 -0
  192. package/dist/{services/DelegationTracker → cjs/persistence}/types.js +0 -0
  193. package/dist/cjs/persistence/types.js.map +1 -0
  194. package/dist/cjs/services/AssetsTracker.d.ts +17 -0
  195. package/dist/cjs/services/AssetsTracker.d.ts.map +1 -0
  196. package/dist/cjs/services/AssetsTracker.js +10 -0
  197. package/dist/cjs/services/AssetsTracker.js.map +1 -0
  198. package/dist/cjs/services/BalanceTracker.d.ts +5 -0
  199. package/dist/cjs/services/BalanceTracker.d.ts.map +1 -0
  200. package/dist/cjs/services/BalanceTracker.js +22 -0
  201. package/dist/cjs/services/BalanceTracker.js.map +1 -0
  202. package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts +31 -0
  203. package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
  204. package/dist/cjs/services/DelegationTracker/DelegationTracker.js +44 -0
  205. package/dist/cjs/services/DelegationTracker/DelegationTracker.js.map +1 -0
  206. package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts +37 -0
  207. package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
  208. package/dist/cjs/services/DelegationTracker/RewardAccounts.js +101 -0
  209. package/dist/cjs/services/DelegationTracker/RewardAccounts.js.map +1 -0
  210. package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts +11 -0
  211. package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
  212. package/dist/cjs/services/DelegationTracker/RewardsHistory.js +60 -0
  213. package/dist/cjs/services/DelegationTracker/RewardsHistory.js.map +1 -0
  214. package/dist/cjs/services/DelegationTracker/index.d.ts +5 -0
  215. package/dist/cjs/services/DelegationTracker/index.d.ts.map +1 -0
  216. package/dist/{services → cjs/services}/DelegationTracker/index.js +6 -2
  217. package/dist/cjs/services/DelegationTracker/index.js.map +1 -0
  218. package/dist/cjs/services/DelegationTracker/transactionCertificates.d.ts +8 -0
  219. package/dist/cjs/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
  220. package/dist/cjs/services/DelegationTracker/transactionCertificates.js +41 -0
  221. package/dist/cjs/services/DelegationTracker/transactionCertificates.js.map +1 -0
  222. package/dist/{services → cjs/services}/DelegationTracker/types.d.ts +0 -0
  223. package/dist/cjs/services/DelegationTracker/types.d.ts.map +1 -0
  224. package/dist/cjs/services/DelegationTracker/types.js +3 -0
  225. package/dist/cjs/services/DelegationTracker/types.js.map +1 -0
  226. package/dist/cjs/services/EpochTracker.d.ts +5 -0
  227. package/dist/cjs/services/EpochTracker.d.ts.map +1 -0
  228. package/dist/cjs/services/EpochTracker.js +13 -0
  229. package/dist/cjs/services/EpochTracker.js.map +1 -0
  230. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts +35 -0
  231. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -0
  232. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js +37 -0
  233. package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js.map +1 -0
  234. package/dist/cjs/services/ProviderTracker/ProviderTracker.d.ts +14 -0
  235. package/dist/cjs/services/ProviderTracker/ProviderTracker.d.ts.map +1 -0
  236. package/dist/cjs/services/ProviderTracker/ProviderTracker.js +36 -0
  237. package/dist/cjs/services/ProviderTracker/ProviderTracker.js.map +1 -0
  238. package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts +14 -0
  239. package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -0
  240. package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js +27 -0
  241. package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js.map +1 -0
  242. package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.d.ts +20 -0
  243. package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.d.ts.map +1 -0
  244. package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.js +39 -0
  245. package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.js.map +1 -0
  246. package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts +20 -0
  247. package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts.map +1 -0
  248. package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.js +39 -0
  249. package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.js.map +1 -0
  250. package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.d.ts +18 -0
  251. package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.d.ts.map +1 -0
  252. package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.js +35 -0
  253. package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.js.map +1 -0
  254. package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.d.ts +16 -0
  255. package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.d.ts.map +1 -0
  256. package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.js +31 -0
  257. package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.js.map +1 -0
  258. package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.d.ts +17 -0
  259. package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.d.ts.map +1 -0
  260. package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.js +32 -0
  261. package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.js.map +1 -0
  262. package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.d.ts +16 -0
  263. package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.d.ts.map +1 -0
  264. package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.js +31 -0
  265. package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.js.map +1 -0
  266. package/dist/cjs/services/ProviderTracker/index.d.ts +10 -0
  267. package/dist/cjs/services/ProviderTracker/index.d.ts.map +1 -0
  268. package/dist/cjs/services/ProviderTracker/index.js +26 -0
  269. package/dist/cjs/services/ProviderTracker/index.js.map +1 -0
  270. package/dist/cjs/services/TransactionsTracker.d.ts +25 -0
  271. package/dist/cjs/services/TransactionsTracker.d.ts.map +1 -0
  272. package/dist/cjs/services/TransactionsTracker.js +88 -0
  273. package/dist/cjs/services/TransactionsTracker.js.map +1 -0
  274. package/dist/cjs/services/UtxoTracker.d.ts +21 -0
  275. package/dist/cjs/services/UtxoTracker.d.ts.map +1 -0
  276. package/dist/cjs/services/UtxoTracker.js +36 -0
  277. package/dist/cjs/services/UtxoTracker.js.map +1 -0
  278. package/dist/cjs/services/WalletUtil.d.ts +10 -0
  279. package/dist/cjs/services/WalletUtil.d.ts.map +1 -0
  280. package/dist/cjs/services/WalletUtil.js +36 -0
  281. package/dist/cjs/services/WalletUtil.js.map +1 -0
  282. package/dist/cjs/services/index.d.ts +11 -0
  283. package/dist/cjs/services/index.d.ts.map +1 -0
  284. package/dist/{services → cjs/services}/index.js +9 -3
  285. package/dist/cjs/services/index.js.map +1 -0
  286. package/dist/{services → cjs/services}/types.d.ts +31 -31
  287. package/dist/cjs/services/types.d.ts.map +1 -0
  288. package/dist/cjs/services/types.js +19 -0
  289. package/dist/cjs/services/types.js.map +1 -0
  290. package/dist/cjs/services/util/coldObservableProvider.d.ts +4 -0
  291. package/dist/cjs/services/util/coldObservableProvider.d.ts.map +1 -0
  292. package/dist/{services → cjs/services}/util/coldObservableProvider.js +2 -2
  293. package/dist/cjs/services/util/coldObservableProvider.js.map +1 -0
  294. package/dist/cjs/services/util/equals.d.ts +15 -0
  295. package/dist/cjs/services/util/equals.d.ts.map +1 -0
  296. package/dist/cjs/services/util/equals.js +33 -0
  297. package/dist/cjs/services/util/equals.js.map +1 -0
  298. package/dist/cjs/services/util/index.d.ts +5 -0
  299. package/dist/cjs/services/util/index.d.ts.map +1 -0
  300. package/dist/{services → cjs/services}/util/index.js +6 -3
  301. package/dist/cjs/services/util/index.js.map +1 -0
  302. package/dist/cjs/services/util/persistentTrackerSubjects.d.ts +29 -0
  303. package/dist/cjs/services/util/persistentTrackerSubjects.d.ts.map +1 -0
  304. package/dist/cjs/services/util/persistentTrackerSubjects.js +56 -0
  305. package/dist/cjs/services/util/persistentTrackerSubjects.js.map +1 -0
  306. package/dist/cjs/services/util/trigger.d.ts +5 -0
  307. package/dist/cjs/services/util/trigger.d.ts.map +1 -0
  308. package/dist/cjs/services/util/trigger.js +10 -0
  309. package/dist/cjs/services/util/trigger.js.map +1 -0
  310. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  311. package/dist/cjs/types.d.ts +61 -0
  312. package/dist/cjs/types.d.ts.map +1 -0
  313. package/dist/cjs/types.js +3 -0
  314. package/dist/{KeyManagement → cjs}/types.js.map +1 -1
  315. package/dist/esm/KeyManagement/InMemoryKeyAgent.d.ts +23 -0
  316. package/dist/esm/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
  317. package/dist/esm/KeyManagement/InMemoryKeyAgent.js +88 -0
  318. package/dist/esm/KeyManagement/InMemoryKeyAgent.js.map +1 -0
  319. package/dist/esm/KeyManagement/KeyAgentBase.d.ts +20 -0
  320. package/dist/esm/KeyManagement/KeyAgentBase.d.ts.map +1 -0
  321. package/dist/esm/KeyManagement/KeyAgentBase.js +72 -0
  322. package/dist/esm/KeyManagement/KeyAgentBase.js.map +1 -0
  323. package/dist/esm/KeyManagement/LedgerKeyAgent.d.ts +43 -0
  324. package/dist/esm/KeyManagement/LedgerKeyAgent.d.ts.map +1 -0
  325. package/dist/esm/KeyManagement/LedgerKeyAgent.js +179 -0
  326. package/dist/esm/KeyManagement/LedgerKeyAgent.js.map +1 -0
  327. package/dist/esm/KeyManagement/TrezorKeyAgent.d.ts +30 -0
  328. package/dist/esm/KeyManagement/TrezorKeyAgent.d.ts.map +1 -0
  329. package/dist/esm/KeyManagement/TrezorKeyAgent.js +129 -0
  330. package/dist/esm/KeyManagement/TrezorKeyAgent.js.map +1 -0
  331. package/dist/esm/KeyManagement/cip8/cip30signData.d.ts +22 -0
  332. package/dist/esm/KeyManagement/cip8/cip30signData.d.ts.map +1 -0
  333. package/dist/esm/KeyManagement/cip8/cip30signData.js +76 -0
  334. package/dist/esm/KeyManagement/cip8/cip30signData.js.map +1 -0
  335. package/dist/esm/KeyManagement/cip8/index.d.ts +2 -0
  336. package/dist/esm/KeyManagement/cip8/index.d.ts.map +1 -0
  337. package/dist/esm/KeyManagement/cip8/index.js +2 -0
  338. package/dist/esm/KeyManagement/cip8/index.js.map +1 -0
  339. package/dist/esm/KeyManagement/cip8/types.d.ts +4 -0
  340. package/dist/esm/KeyManagement/cip8/types.d.ts.map +1 -0
  341. package/dist/esm/KeyManagement/cip8/types.js +2 -0
  342. package/dist/esm/KeyManagement/cip8/types.js.map +1 -0
  343. package/dist/esm/KeyManagement/cip8/util.d.ts +7 -0
  344. package/dist/esm/KeyManagement/cip8/util.d.ts.map +1 -0
  345. package/dist/esm/KeyManagement/cip8/util.js +7 -0
  346. package/dist/esm/KeyManagement/cip8/util.js.map +1 -0
  347. package/dist/esm/KeyManagement/emip3.d.ts +4 -0
  348. package/dist/esm/KeyManagement/emip3.d.ts.map +1 -0
  349. package/dist/esm/KeyManagement/emip3.js +39 -0
  350. package/dist/esm/KeyManagement/emip3.js.map +1 -0
  351. package/dist/esm/KeyManagement/errors/AuthenticationError.d.ts +6 -0
  352. package/dist/esm/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
  353. package/dist/esm/KeyManagement/errors/AuthenticationError.js +12 -0
  354. package/dist/esm/KeyManagement/errors/AuthenticationError.js.map +1 -0
  355. package/dist/esm/KeyManagement/errors/HwMappingError.d.ts +6 -0
  356. package/dist/esm/KeyManagement/errors/HwMappingError.d.ts.map +1 -0
  357. package/dist/esm/KeyManagement/errors/HwMappingError.js +12 -0
  358. package/dist/esm/KeyManagement/errors/HwMappingError.js.map +1 -0
  359. package/dist/esm/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
  360. package/dist/esm/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
  361. package/dist/esm/KeyManagement/errors/InvalidMnemonicError.js +9 -0
  362. package/dist/esm/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
  363. package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
  364. package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
  365. package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .js +11 -0
  366. package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
  367. package/dist/esm/KeyManagement/errors/TransportError.d.ts +6 -0
  368. package/dist/esm/KeyManagement/errors/TransportError.d.ts.map +1 -0
  369. package/dist/esm/KeyManagement/errors/TransportError.js +12 -0
  370. package/dist/esm/KeyManagement/errors/TransportError.js.map +1 -0
  371. package/dist/esm/KeyManagement/errors/index.d.ts +6 -0
  372. package/dist/esm/KeyManagement/errors/index.d.ts.map +1 -0
  373. package/dist/esm/KeyManagement/errors/index.js +6 -0
  374. package/dist/esm/KeyManagement/errors/index.js.map +1 -0
  375. package/dist/esm/KeyManagement/index.d.ts +12 -0
  376. package/dist/esm/KeyManagement/index.d.ts.map +1 -0
  377. package/dist/esm/KeyManagement/index.js +12 -0
  378. package/dist/esm/KeyManagement/index.js.map +1 -0
  379. package/dist/esm/KeyManagement/restoreKeyAgent.d.ts +9 -0
  380. package/dist/esm/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
  381. package/dist/esm/KeyManagement/restoreKeyAgent.js +27 -0
  382. package/dist/esm/KeyManagement/restoreKeyAgent.js.map +1 -0
  383. package/dist/esm/KeyManagement/types.d.ts +102 -0
  384. package/dist/esm/KeyManagement/types.d.ts.map +1 -0
  385. package/dist/esm/KeyManagement/types.js +27 -0
  386. package/dist/esm/KeyManagement/types.js.map +1 -0
  387. package/dist/esm/KeyManagement/util/bip39.d.ts +8 -0
  388. package/dist/esm/KeyManagement/util/bip39.d.ts.map +1 -0
  389. package/dist/esm/KeyManagement/util/bip39.js +8 -0
  390. package/dist/esm/KeyManagement/util/bip39.js.map +1 -0
  391. package/dist/esm/KeyManagement/util/cachedGetPassword.d.ts +4 -0
  392. package/dist/esm/KeyManagement/util/cachedGetPassword.d.ts.map +1 -0
  393. package/dist/esm/KeyManagement/util/cachedGetPassword.js +21 -0
  394. package/dist/esm/KeyManagement/util/cachedGetPassword.js.map +1 -0
  395. package/dist/esm/KeyManagement/util/constants.d.ts +12 -0
  396. package/dist/esm/KeyManagement/util/constants.d.ts.map +1 -0
  397. package/dist/esm/KeyManagement/util/constants.js +14 -0
  398. package/dist/esm/KeyManagement/util/constants.js.map +1 -0
  399. package/dist/esm/KeyManagement/util/createAsyncKeyAgent.d.ts +3 -0
  400. package/dist/esm/KeyManagement/util/createAsyncKeyAgent.d.ts.map +1 -0
  401. package/dist/esm/KeyManagement/util/createAsyncKeyAgent.js +21 -0
  402. package/dist/esm/KeyManagement/util/createAsyncKeyAgent.js.map +1 -0
  403. package/dist/esm/KeyManagement/util/index.d.ts +9 -0
  404. package/dist/esm/KeyManagement/util/index.d.ts.map +1 -0
  405. package/dist/esm/KeyManagement/util/index.js +9 -0
  406. package/dist/esm/KeyManagement/util/index.js.map +1 -0
  407. package/dist/esm/KeyManagement/util/key.d.ts +6 -0
  408. package/dist/esm/KeyManagement/util/key.d.ts.map +1 -0
  409. package/dist/esm/KeyManagement/util/key.js +12 -0
  410. package/dist/esm/KeyManagement/util/key.js.map +1 -0
  411. package/dist/esm/KeyManagement/util/mapHardwareSigningData.d.ts +44 -0
  412. package/dist/esm/KeyManagement/util/mapHardwareSigningData.d.ts.map +1 -0
  413. package/dist/esm/KeyManagement/util/mapHardwareSigningData.js +840 -0
  414. package/dist/esm/KeyManagement/util/mapHardwareSigningData.js.map +1 -0
  415. package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.d.ts +4 -0
  416. package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.d.ts.map +1 -0
  417. package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.js +17 -0
  418. package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.js.map +1 -0
  419. package/dist/esm/KeyManagement/util/stubSignTransaction.d.ts +4 -0
  420. package/dist/esm/KeyManagement/util/stubSignTransaction.d.ts.map +1 -0
  421. package/dist/esm/KeyManagement/util/stubSignTransaction.js +9 -0
  422. package/dist/esm/KeyManagement/util/stubSignTransaction.js.map +1 -0
  423. package/dist/esm/SingleAddressWallet.d.ts +65 -0
  424. package/dist/esm/SingleAddressWallet.d.ts.map +1 -0
  425. package/dist/esm/SingleAddressWallet.js +216 -0
  426. package/dist/esm/SingleAddressWallet.js.map +1 -0
  427. package/dist/esm/Transaction/createTransactionInternals.d.ts +16 -0
  428. package/dist/esm/Transaction/createTransactionInternals.d.ts.map +1 -0
  429. package/dist/esm/Transaction/createTransactionInternals.js +24 -0
  430. package/dist/esm/Transaction/createTransactionInternals.js.map +1 -0
  431. package/dist/esm/Transaction/ensureValidityInterval.d.ts +3 -0
  432. package/dist/esm/Transaction/ensureValidityInterval.d.ts.map +1 -0
  433. package/dist/esm/Transaction/ensureValidityInterval.js +2 -0
  434. package/dist/esm/Transaction/ensureValidityInterval.js.map +1 -0
  435. package/dist/esm/Transaction/index.d.ts +3 -0
  436. package/dist/esm/Transaction/index.d.ts.map +1 -0
  437. package/dist/esm/Transaction/index.js +3 -0
  438. package/dist/esm/Transaction/index.js.map +1 -0
  439. package/dist/esm/cip30.d.ts +30 -0
  440. package/dist/esm/cip30.d.ts.map +1 -0
  441. package/dist/esm/cip30.js +200 -0
  442. package/dist/esm/cip30.js.map +1 -0
  443. package/dist/esm/index.d.ts +8 -0
  444. package/dist/esm/index.d.ts.map +1 -0
  445. package/dist/{index.d.ts → esm/index.js} +3 -1
  446. package/dist/esm/index.js.map +1 -0
  447. package/dist/esm/package.json +3 -0
  448. package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.d.ts +9 -0
  449. package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.d.ts.map +1 -0
  450. package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.js +21 -0
  451. package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.js.map +1 -0
  452. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +9 -0
  453. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -0
  454. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js +34 -0
  455. package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -0
  456. package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts +8 -0
  457. package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts.map +1 -0
  458. package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.js +27 -0
  459. package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.js.map +1 -0
  460. package/dist/esm/persistence/inMemoryStores/InMemoryStore.d.ts +7 -0
  461. package/dist/esm/persistence/inMemoryStores/InMemoryStore.d.ts.map +1 -0
  462. package/dist/esm/persistence/inMemoryStores/InMemoryStore.js +11 -0
  463. package/dist/esm/persistence/inMemoryStores/InMemoryStore.js.map +1 -0
  464. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts +35 -0
  465. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -0
  466. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js +68 -0
  467. package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -0
  468. package/dist/esm/persistence/inMemoryStores/index.d.ts +5 -0
  469. package/dist/esm/persistence/inMemoryStores/index.d.ts.map +1 -0
  470. package/dist/esm/persistence/inMemoryStores/index.js +5 -0
  471. package/dist/esm/persistence/inMemoryStores/index.js.map +1 -0
  472. package/dist/esm/persistence/index.d.ts +4 -0
  473. package/dist/esm/persistence/index.d.ts.map +1 -0
  474. package/dist/esm/persistence/index.js +4 -0
  475. package/dist/esm/persistence/index.js.map +1 -0
  476. package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.d.ts +16 -0
  477. package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.d.ts.map +1 -0
  478. package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.js +56 -0
  479. package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.js.map +1 -0
  480. package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.d.ts +10 -0
  481. package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.d.ts.map +1 -0
  482. package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.js +41 -0
  483. package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.js.map +1 -0
  484. package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts +11 -0
  485. package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts.map +1 -0
  486. package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.js +49 -0
  487. package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.js.map +1 -0
  488. package/dist/esm/persistence/pouchdbStores/PouchdbStore.d.ts +20 -0
  489. package/dist/esm/persistence/pouchdbStores/PouchdbStore.d.ts.map +1 -0
  490. package/dist/esm/persistence/pouchdbStores/PouchdbStore.js +62 -0
  491. package/dist/esm/persistence/pouchdbStores/PouchdbStore.js.map +1 -0
  492. package/dist/esm/persistence/pouchdbStores/index.d.ts +5 -0
  493. package/dist/esm/persistence/pouchdbStores/index.d.ts.map +1 -0
  494. package/dist/esm/persistence/pouchdbStores/index.js +5 -0
  495. package/dist/esm/persistence/pouchdbStores/index.js.map +1 -0
  496. package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.d.ts +37 -0
  497. package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.d.ts.map +1 -0
  498. package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.js +68 -0
  499. package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.js.map +1 -0
  500. package/dist/esm/persistence/pouchdbStores/util.d.ts +10 -0
  501. package/dist/esm/persistence/pouchdbStores/util.d.ts.map +1 -0
  502. package/dist/esm/persistence/pouchdbStores/util.js +43 -0
  503. package/dist/esm/persistence/pouchdbStores/util.js.map +1 -0
  504. package/dist/esm/persistence/types.d.ts +41 -0
  505. package/dist/esm/persistence/types.d.ts.map +1 -0
  506. package/dist/esm/persistence/types.js +2 -0
  507. package/dist/esm/persistence/types.js.map +1 -0
  508. package/dist/esm/services/AssetsTracker.d.ts +17 -0
  509. package/dist/esm/services/AssetsTracker.d.ts.map +1 -0
  510. package/dist/esm/services/AssetsTracker.js +5 -0
  511. package/dist/esm/services/AssetsTracker.js.map +1 -0
  512. package/dist/esm/services/BalanceTracker.d.ts +5 -0
  513. package/dist/esm/services/BalanceTracker.d.ts.map +1 -0
  514. package/dist/esm/services/BalanceTracker.js +18 -0
  515. package/dist/esm/services/BalanceTracker.js.map +1 -0
  516. package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts +31 -0
  517. package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
  518. package/dist/esm/services/DelegationTracker/DelegationTracker.js +38 -0
  519. package/dist/esm/services/DelegationTracker/DelegationTracker.js.map +1 -0
  520. package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts +37 -0
  521. package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
  522. package/dist/esm/services/DelegationTracker/RewardAccounts.js +85 -0
  523. package/dist/esm/services/DelegationTracker/RewardAccounts.js.map +1 -0
  524. package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts +11 -0
  525. package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
  526. package/dist/esm/services/DelegationTracker/RewardsHistory.js +52 -0
  527. package/dist/esm/services/DelegationTracker/RewardsHistory.js.map +1 -0
  528. package/dist/esm/services/DelegationTracker/index.d.ts +5 -0
  529. package/dist/esm/services/DelegationTracker/index.d.ts.map +1 -0
  530. package/dist/{services/DelegationTracker/index.d.ts → esm/services/DelegationTracker/index.js} +2 -2
  531. package/dist/esm/services/DelegationTracker/index.js.map +1 -0
  532. package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts +8 -0
  533. package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
  534. package/dist/esm/services/DelegationTracker/transactionCertificates.js +31 -0
  535. package/dist/esm/services/DelegationTracker/transactionCertificates.js.map +1 -0
  536. package/dist/esm/services/DelegationTracker/types.d.ts +6 -0
  537. package/dist/esm/services/DelegationTracker/types.d.ts.map +1 -0
  538. package/dist/esm/services/DelegationTracker/types.js +2 -0
  539. package/dist/esm/services/DelegationTracker/types.js.map +1 -0
  540. package/dist/esm/services/EpochTracker.d.ts +5 -0
  541. package/dist/esm/services/EpochTracker.d.ts.map +1 -0
  542. package/dist/esm/services/EpochTracker.js +9 -0
  543. package/dist/esm/services/EpochTracker.js.map +1 -0
  544. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts +35 -0
  545. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -0
  546. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js +33 -0
  547. package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js.map +1 -0
  548. package/dist/esm/services/ProviderTracker/ProviderTracker.d.ts +14 -0
  549. package/dist/esm/services/ProviderTracker/ProviderTracker.d.ts.map +1 -0
  550. package/dist/esm/services/ProviderTracker/ProviderTracker.js +32 -0
  551. package/dist/esm/services/ProviderTracker/ProviderTracker.js.map +1 -0
  552. package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts +14 -0
  553. package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -0
  554. package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js +22 -0
  555. package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js.map +1 -0
  556. package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.d.ts +20 -0
  557. package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.d.ts.map +1 -0
  558. package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.js +34 -0
  559. package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.js.map +1 -0
  560. package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts +20 -0
  561. package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts.map +1 -0
  562. package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.js +34 -0
  563. package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.js.map +1 -0
  564. package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.d.ts +18 -0
  565. package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.d.ts.map +1 -0
  566. package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.js +30 -0
  567. package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.js.map +1 -0
  568. package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.d.ts +16 -0
  569. package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.d.ts.map +1 -0
  570. package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.js +26 -0
  571. package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.js.map +1 -0
  572. package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.d.ts +17 -0
  573. package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.d.ts.map +1 -0
  574. package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.js +27 -0
  575. package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.js.map +1 -0
  576. package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.d.ts +16 -0
  577. package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.d.ts.map +1 -0
  578. package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.js +26 -0
  579. package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.js.map +1 -0
  580. package/dist/esm/services/ProviderTracker/index.d.ts +10 -0
  581. package/dist/esm/services/ProviderTracker/index.d.ts.map +1 -0
  582. package/dist/esm/services/ProviderTracker/index.js +10 -0
  583. package/dist/esm/services/ProviderTracker/index.js.map +1 -0
  584. package/dist/esm/services/TransactionsTracker.d.ts +25 -0
  585. package/dist/esm/services/TransactionsTracker.d.ts.map +1 -0
  586. package/dist/esm/services/TransactionsTracker.js +80 -0
  587. package/dist/esm/services/TransactionsTracker.js.map +1 -0
  588. package/dist/esm/services/UtxoTracker.d.ts +21 -0
  589. package/dist/esm/services/UtxoTracker.d.ts.map +1 -0
  590. package/dist/esm/services/UtxoTracker.js +31 -0
  591. package/dist/esm/services/UtxoTracker.js.map +1 -0
  592. package/dist/esm/services/WalletUtil.d.ts +10 -0
  593. package/dist/esm/services/WalletUtil.d.ts.map +1 -0
  594. package/dist/esm/services/WalletUtil.js +32 -0
  595. package/dist/esm/services/WalletUtil.js.map +1 -0
  596. package/dist/esm/services/index.d.ts +11 -0
  597. package/dist/esm/services/index.d.ts.map +1 -0
  598. package/dist/{services/index.d.ts → esm/services/index.js} +5 -3
  599. package/dist/esm/services/index.js.map +1 -0
  600. package/dist/esm/services/types.d.ts +76 -0
  601. package/dist/esm/services/types.d.ts.map +1 -0
  602. package/dist/esm/services/types.js +16 -0
  603. package/dist/esm/services/types.js.map +1 -0
  604. package/dist/esm/services/util/coldObservableProvider.d.ts +4 -0
  605. package/dist/esm/services/util/coldObservableProvider.d.ts.map +1 -0
  606. package/dist/esm/services/util/coldObservableProvider.js +10 -0
  607. package/dist/esm/services/util/coldObservableProvider.js.map +1 -0
  608. package/dist/esm/services/util/equals.d.ts +15 -0
  609. package/dist/esm/services/util/equals.d.ts.map +1 -0
  610. package/dist/esm/services/util/equals.js +15 -0
  611. package/dist/esm/services/util/equals.js.map +1 -0
  612. package/dist/esm/services/util/index.d.ts +5 -0
  613. package/dist/esm/services/util/index.d.ts.map +1 -0
  614. package/dist/esm/services/util/index.js +5 -0
  615. package/dist/esm/services/util/index.js.map +1 -0
  616. package/dist/esm/services/util/persistentTrackerSubjects.d.ts +29 -0
  617. package/dist/esm/services/util/persistentTrackerSubjects.d.ts.map +1 -0
  618. package/dist/esm/services/util/persistentTrackerSubjects.js +47 -0
  619. package/dist/esm/services/util/persistentTrackerSubjects.js.map +1 -0
  620. package/dist/esm/services/util/trigger.d.ts +5 -0
  621. package/dist/esm/services/util/trigger.d.ts.map +1 -0
  622. package/dist/esm/services/util/trigger.js +5 -0
  623. package/dist/esm/services/util/trigger.js.map +1 -0
  624. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  625. package/dist/esm/types.d.ts +61 -0
  626. package/dist/esm/types.d.ts.map +1 -0
  627. package/dist/esm/types.js +2 -0
  628. package/dist/esm/types.js.map +1 -0
  629. package/package.json +50 -12
  630. package/dist/KeyManagement/InMemoryKeyManager.d.ts +0 -9
  631. package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +0 -1
  632. package/dist/KeyManagement/InMemoryKeyManager.js +0 -81
  633. package/dist/KeyManagement/InMemoryKeyManager.js.map +0 -1
  634. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts +0 -5
  635. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts.map +0 -1
  636. package/dist/KeyManagement/errors/InvalidMnemonic.js +0 -13
  637. package/dist/KeyManagement/errors/InvalidMnemonic.js.map +0 -1
  638. package/dist/KeyManagement/errors/index.d.ts +0 -2
  639. package/dist/KeyManagement/errors/index.d.ts.map +0 -1
  640. package/dist/KeyManagement/errors/index.js +0 -6
  641. package/dist/KeyManagement/errors/index.js.map +0 -1
  642. package/dist/KeyManagement/index.d.ts +0 -5
  643. package/dist/KeyManagement/index.d.ts.map +0 -1
  644. package/dist/KeyManagement/index.js.map +0 -1
  645. package/dist/KeyManagement/types.d.ts +0 -16
  646. package/dist/KeyManagement/types.d.ts.map +0 -1
  647. package/dist/KeyManagement/util.d.ts +0 -6
  648. package/dist/KeyManagement/util.d.ts.map +0 -1
  649. package/dist/KeyManagement/util.js.map +0 -1
  650. package/dist/SingleAddressWallet.d.ts +0 -41
  651. package/dist/SingleAddressWallet.d.ts.map +0 -1
  652. package/dist/SingleAddressWallet.js +0 -174
  653. package/dist/SingleAddressWallet.js.map +0 -1
  654. package/dist/Transaction/computeImplicitCoin.d.ts +0 -4
  655. package/dist/Transaction/computeImplicitCoin.d.ts.map +0 -1
  656. package/dist/Transaction/computeImplicitCoin.js +0 -21
  657. package/dist/Transaction/computeImplicitCoin.js.map +0 -1
  658. package/dist/Transaction/createTransactionInternals.d.ts +0 -16
  659. package/dist/Transaction/createTransactionInternals.d.ts.map +0 -1
  660. package/dist/Transaction/createTransactionInternals.js +0 -28
  661. package/dist/Transaction/createTransactionInternals.js.map +0 -1
  662. package/dist/Transaction/ensureValidityInterval.d.ts.map +0 -1
  663. package/dist/Transaction/ensureValidityInterval.js.map +0 -1
  664. package/dist/Transaction/index.d.ts.map +0 -1
  665. package/dist/Transaction/index.js.map +0 -1
  666. package/dist/index.d.ts.map +0 -1
  667. package/dist/index.js.map +0 -1
  668. package/dist/services/BalanceTracker.d.ts +0 -5
  669. package/dist/services/BalanceTracker.d.ts.map +0 -1
  670. package/dist/services/BalanceTracker.js +0 -33
  671. package/dist/services/BalanceTracker.js.map +0 -1
  672. package/dist/services/DelegationTracker/Delegatee.d.ts +0 -10
  673. package/dist/services/DelegationTracker/Delegatee.d.ts.map +0 -1
  674. package/dist/services/DelegationTracker/Delegatee.js +0 -27
  675. package/dist/services/DelegationTracker/Delegatee.js.map +0 -1
  676. package/dist/services/DelegationTracker/DelegationTracker.d.ts +0 -27
  677. package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +0 -1
  678. package/dist/services/DelegationTracker/DelegationTracker.js +0 -56
  679. package/dist/services/DelegationTracker/DelegationTracker.js.map +0 -1
  680. package/dist/services/DelegationTracker/RewardsHistory.d.ts +0 -14
  681. package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +0 -1
  682. package/dist/services/DelegationTracker/RewardsHistory.js +0 -24
  683. package/dist/services/DelegationTracker/RewardsHistory.js.map +0 -1
  684. package/dist/services/DelegationTracker/index.d.ts.map +0 -1
  685. package/dist/services/DelegationTracker/index.js.map +0 -1
  686. package/dist/services/DelegationTracker/transactionCertificates.d.ts +0 -10
  687. package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +0 -1
  688. package/dist/services/DelegationTracker/transactionCertificates.js +0 -31
  689. package/dist/services/DelegationTracker/transactionCertificates.js.map +0 -1
  690. package/dist/services/DelegationTracker/types.d.ts.map +0 -1
  691. package/dist/services/DelegationTracker/types.js.map +0 -1
  692. package/dist/services/RewardsTracker.d.ts +0 -20
  693. package/dist/services/RewardsTracker.d.ts.map +0 -1
  694. package/dist/services/RewardsTracker.js +0 -22
  695. package/dist/services/RewardsTracker.js.map +0 -1
  696. package/dist/services/TransactionError.d.ts +0 -15
  697. package/dist/services/TransactionError.d.ts.map +0 -1
  698. package/dist/services/TransactionError.js +0 -23
  699. package/dist/services/TransactionError.js.map +0 -1
  700. package/dist/services/TransactionsTracker.d.ts +0 -22
  701. package/dist/services/TransactionsTracker.d.ts.map +0 -1
  702. package/dist/services/TransactionsTracker.js +0 -64
  703. package/dist/services/TransactionsTracker.js.map +0 -1
  704. package/dist/services/UtxoTracker.d.ts +0 -18
  705. package/dist/services/UtxoTracker.d.ts.map +0 -1
  706. package/dist/services/UtxoTracker.js +0 -20
  707. package/dist/services/UtxoTracker.js.map +0 -1
  708. package/dist/services/index.d.ts.map +0 -1
  709. package/dist/services/index.js.map +0 -1
  710. package/dist/services/types.d.ts.map +0 -1
  711. package/dist/services/types.js +0 -16
  712. package/dist/services/types.js.map +0 -1
  713. package/dist/services/util/SyncableIntervalTrackerSubject.d.ts +0 -19
  714. package/dist/services/util/SyncableIntervalTrackerSubject.d.ts.map +0 -1
  715. package/dist/services/util/SyncableIntervalTrackerSubject.js.map +0 -1
  716. package/dist/services/util/TrackerSubject.d.ts +0 -14
  717. package/dist/services/util/TrackerSubject.d.ts.map +0 -1
  718. package/dist/services/util/TrackerSubject.js +0 -46
  719. package/dist/services/util/TrackerSubject.js.map +0 -1
  720. package/dist/services/util/coldObservableProvider.d.ts +0 -4
  721. package/dist/services/util/coldObservableProvider.d.ts.map +0 -1
  722. package/dist/services/util/coldObservableProvider.js.map +0 -1
  723. package/dist/services/util/equals.d.ts +0 -7
  724. package/dist/services/util/equals.d.ts.map +0 -1
  725. package/dist/services/util/equals.js +0 -14
  726. package/dist/services/util/equals.js.map +0 -1
  727. package/dist/services/util/index.d.ts +0 -6
  728. package/dist/services/util/index.d.ts.map +0 -1
  729. package/dist/services/util/index.js.map +0 -1
  730. package/dist/services/util/trigger.d.ts +0 -5
  731. package/dist/services/util/trigger.d.ts.map +0 -1
  732. package/dist/services/util/trigger.js +0 -9
  733. package/dist/services/util/trigger.js.map +0 -1
  734. package/dist/types.d.ts +0 -42
  735. package/dist/types.d.ts.map +0 -1
  736. package/dist/types.js +0 -9
  737. 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":"AAAA,OAAO,EACL,OAAO,EAKP,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAc,aAAa,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAGL,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAA0B,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAGrH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,CAAC,MAAM,wBAAwB,GACnC,CAAC,oBAA0C,EAAE,kBAAsC,EAAE,EAAE,CACvF,CAAC,WAA8B,EAAE,EAAE,CACjC,sBAAsB,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC,CAAC,IAAI,CACrG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAClD,CAAC;AAqBN,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,mBAAwC,EACxC,uBAA4D,EAC5D,cAAyC,EACzC,gBAA2C,EAChB,EAAE,CAC7B,aAAa,CAAC;IACZ,4BAA4B,CAAC,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,gBAAgB,CAAC;IACrG,cAAc;CACf,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,CACpC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAC9E,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,uBAAuB,EACvB,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,SAAS,EAAE,EACT,uBAAuB,GAAG,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,EACjH,sBAAsB,GAAG,4BAA4B,CAAC,cAAc,EAAE,kBAAkB,CAAC,EACzF,eAAe,GAAG,qBAAqB,CACrC,MAAM,EACN,mBAAmB,CAAC,QAAQ,CAAC,UAAU,EACvC,cAAc,EACd,kBAAkB,CACnB,EACD,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,EAC9F,GAAG,EAAE,EACiB,EAAgC,EAAE;IACzD,MAAM,aAAa,GAAG,iCAAiC,CACrD,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd;QACE,OAAO,CAAC,eAAe,CAAC,eAAe;QACvC,OAAO,CAAC,eAAe,CAAC,oBAAoB;QAC5C,OAAO,CAAC,eAAe,CAAC,sBAAsB;KAC/C,CACF,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,cAAc,CACxC,2BAA2B,CAAC,aAAa,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,CACnH,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,cAAc,CACxC,2BAA2B,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC,eAAe;QACrC,MAAM;QACN,uBAAuB;QACvB,eAAe;QACf,iBAAiB,EAAE,uBAAuB;QAC1C,aAAa;QACb,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,SAAS;KAC9D,CAAC,CACH,CAAC;IACF,OAAO;QACL,eAAe;QACf,eAAe;QACf,QAAQ,EAAE,GAAG,EAAE;YACb,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC3B,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -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":"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"}
@@ -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":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './RewardsHistory';
2
+ export * from './DelegationTracker';
3
+ export * from './RewardAccounts';
4
+ export * from './transactionCertificates';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -1,5 +1,5 @@
1
1
  export * from './RewardsHistory';
2
2
  export * from './DelegationTracker';
3
- export * from './Delegatee';
3
+ export * from './RewardAccounts';
4
4
  export * from './transactionCertificates';
5
- //# sourceMappingURL=index.d.ts.map
5
+ //# sourceMappingURL=index.js.map
@@ -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,6 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ export interface TxWithEpoch {
3
+ tx: Cardano.TxAlonzo;
4
+ epoch: Cardano.Epoch;
5
+ }
6
+ //# sourceMappingURL=types.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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"}