@cardano-sdk/wallet 0.1.7 → 0.1.8

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 (71) hide show
  1. package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +1 -1
  2. package/dist/KeyManagement/InMemoryKeyManager.js +38 -25
  3. package/dist/KeyManagement/InMemoryKeyManager.js.map +1 -1
  4. package/dist/KeyManagement/types.d.ts +20 -6
  5. package/dist/KeyManagement/types.d.ts.map +1 -1
  6. package/dist/KeyManagement/types.js +12 -0
  7. package/dist/KeyManagement/types.js.map +1 -1
  8. package/dist/SingleAddressWallet.d.ts +14 -10
  9. package/dist/SingleAddressWallet.d.ts.map +1 -1
  10. package/dist/SingleAddressWallet.js +24 -40
  11. package/dist/SingleAddressWallet.js.map +1 -1
  12. package/dist/services/AssetsTracker.d.ts +16 -0
  13. package/dist/services/AssetsTracker.d.ts.map +1 -0
  14. package/dist/services/AssetsTracker.js +13 -0
  15. package/dist/services/AssetsTracker.js.map +1 -0
  16. package/dist/services/BalanceTracker.d.ts +1 -1
  17. package/dist/services/BalanceTracker.d.ts.map +1 -1
  18. package/dist/services/BalanceTracker.js +19 -9
  19. package/dist/services/BalanceTracker.js.map +1 -1
  20. package/dist/services/DelegationTracker/DelegationTracker.d.ts +4 -5
  21. package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +1 -1
  22. package/dist/services/DelegationTracker/DelegationTracker.js +12 -29
  23. package/dist/services/DelegationTracker/DelegationTracker.js.map +1 -1
  24. package/dist/services/DelegationTracker/RewardAccounts.d.ts +36 -0
  25. package/dist/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
  26. package/dist/services/DelegationTracker/RewardAccounts.js +86 -0
  27. package/dist/services/DelegationTracker/RewardAccounts.js.map +1 -0
  28. package/dist/services/DelegationTracker/RewardsHistory.d.ts +2 -2
  29. package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +1 -1
  30. package/dist/services/DelegationTracker/RewardsHistory.js +6 -3
  31. package/dist/services/DelegationTracker/RewardsHistory.js.map +1 -1
  32. package/dist/services/DelegationTracker/index.d.ts +1 -1
  33. package/dist/services/DelegationTracker/index.d.ts.map +1 -1
  34. package/dist/services/DelegationTracker/index.js +1 -1
  35. package/dist/services/DelegationTracker/index.js.map +1 -1
  36. package/dist/services/DelegationTracker/transactionCertificates.d.ts +5 -6
  37. package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +1 -1
  38. package/dist/services/DelegationTracker/transactionCertificates.js +12 -10
  39. package/dist/services/DelegationTracker/transactionCertificates.js.map +1 -1
  40. package/dist/services/TransactionsTracker.d.ts +3 -3
  41. package/dist/services/TransactionsTracker.d.ts.map +1 -1
  42. package/dist/services/TransactionsTracker.js +20 -9
  43. package/dist/services/TransactionsTracker.js.map +1 -1
  44. package/dist/services/UtxoTracker.d.ts +3 -3
  45. package/dist/services/UtxoTracker.d.ts.map +1 -1
  46. package/dist/services/UtxoTracker.js +2 -2
  47. package/dist/services/UtxoTracker.js.map +1 -1
  48. package/dist/services/index.d.ts +1 -1
  49. package/dist/services/index.d.ts.map +1 -1
  50. package/dist/services/index.js +1 -1
  51. package/dist/services/index.js.map +1 -1
  52. package/dist/services/types.d.ts +10 -5
  53. package/dist/services/types.d.ts.map +1 -1
  54. package/dist/services/types.js.map +1 -1
  55. package/dist/services/util/equals.d.ts +2 -0
  56. package/dist/services/util/equals.d.ts.map +1 -1
  57. package/dist/services/util/equals.js +6 -1
  58. package/dist/services/util/equals.js.map +1 -1
  59. package/dist/types.d.ts +4 -11
  60. package/dist/types.d.ts.map +1 -1
  61. package/dist/types.js +0 -6
  62. package/dist/types.js.map +1 -1
  63. package/package.json +4 -4
  64. package/dist/services/DelegationTracker/Delegatee.d.ts +0 -10
  65. package/dist/services/DelegationTracker/Delegatee.d.ts.map +0 -1
  66. package/dist/services/DelegationTracker/Delegatee.js +0 -27
  67. package/dist/services/DelegationTracker/Delegatee.js.map +0 -1
  68. package/dist/services/RewardsTracker.d.ts +0 -20
  69. package/dist/services/RewardsTracker.d.ts.map +0 -1
  70. package/dist/services/RewardsTracker.js +0 -22
  71. package/dist/services/RewardsTracker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryKeyManager.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/InMemoryKeyManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,eAAO,MAAM,wBAAwB;cAMzB,MAAM;;mBAED,MAAM,EAAE;eACZ,QAAQ,SAAS;MAC1B,UA6DH,CAAC"}
1
+ {"version":3,"file":"InMemoryKeyManager.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/InMemoryKeyManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,eAAO,MAAM,wBAAwB;cAMzB,MAAM;;mBAED,MAAM,EAAE;eACZ,QAAQ,SAAS;MAC1B,UA4EH,CAAC"}
@@ -24,57 +24,70 @@ const bip39 = __importStar(require("bip39"));
24
24
  const errors = __importStar(require("./errors"));
25
25
  const core_1 = require("@cardano-sdk/core");
26
26
  const util_1 = require("./util");
27
- const createInMemoryKeyManager = ({ password, accountIndex, mnemonicWords, networkId }) => {
28
- if (!accountIndex) {
29
- accountIndex = 0;
30
- }
27
+ const createInMemoryKeyManager = ({ password, accountIndex = 0, mnemonicWords, networkId }) => {
31
28
  const mnemonic = util_1.joinMnemonicWords(mnemonicWords);
32
29
  const validMnemonic = bip39.validateMnemonic(mnemonic);
33
30
  if (!validMnemonic)
34
31
  throw new errors.InvalidMnemonic();
35
32
  const entropy = bip39.mnemonicToEntropy(mnemonic);
36
- const accountPrivateKey = core_1.CSL.Bip32PrivateKey.from_bip39_entropy(Buffer.from(entropy, 'hex'), Buffer.from(password))
33
+ const extendedAccountPrivateKey = core_1.CSL.Bip32PrivateKey.from_bip39_entropy(Buffer.from(entropy, 'hex'), Buffer.from(password))
37
34
  .derive(util_1.harden(1852))
38
35
  .derive(util_1.harden(1815))
39
36
  .derive(util_1.harden(accountIndex));
40
- const privateParentPaymentKey = accountPrivateKey.derive(0).derive(0);
41
- const publicParentPaymentKey = privateParentPaymentKey.to_public();
42
- const publicPaymentKey = accountPrivateKey.to_public();
43
- const privateStakeKey = accountPrivateKey.derive(2).derive(0);
37
+ const extendedAccountPublicKey = extendedAccountPrivateKey.to_public();
38
+ const privateParentPaymentKeyRaw = extendedAccountPrivateKey.derive(0).derive(0).to_raw_key();
39
+ const publicParentPaymentKeyRawBech32 = privateParentPaymentKeyRaw.to_public().to_bech32();
40
+ const privateStakeKey = extendedAccountPrivateKey.derive(2).derive(0);
41
+ const privateStakeKeyRaw = privateStakeKey.to_raw_key();
44
42
  const publicStakeKey = privateStakeKey.to_public();
45
- const publicRawSakeKey = publicStakeKey.to_raw_key();
46
- const stakeKeyCredential = core_1.CSL.StakeCredential.from_keyhash(publicRawSakeKey.hash());
43
+ const publicStakeKeyRaw = publicStakeKey.to_raw_key();
44
+ const publicStakeKeyRawBech32 = publicStakeKeyRaw.to_bech32();
45
+ const publicStakeKeyRawHash = publicStakeKeyRaw.hash();
47
46
  return {
48
- deriveAddress: (addressIndex, index) => {
49
- const utxoPubKey = publicPaymentKey.derive(index).derive(addressIndex);
50
- const baseAddr = core_1.CSL.BaseAddress.new(networkId, core_1.CSL.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()), stakeKeyCredential);
51
- return baseAddr.to_address().to_bech32();
47
+ deriveAddress: (type, addressIndex) => {
48
+ const derivedPublicPaymentKeyHash = extendedAccountPrivateKey
49
+ .derive(type)
50
+ .derive(addressIndex)
51
+ .to_public()
52
+ .to_raw_key()
53
+ .hash();
54
+ const stakeKeyCredential = core_1.CSL.StakeCredential.from_keyhash(publicStakeKeyRawHash);
55
+ const address = core_1.CSL.BaseAddress.new(networkId, core_1.CSL.StakeCredential.from_keyhash(derivedPublicPaymentKeyHash), stakeKeyCredential)
56
+ .to_address()
57
+ .to_bech32();
58
+ const rewardAccount = core_1.CSL.RewardAddress.new(networkId, stakeKeyCredential).to_address().to_bech32();
59
+ return {
60
+ accountIndex,
61
+ address,
62
+ addressIndex,
63
+ networkId,
64
+ rewardAccount,
65
+ type
66
+ };
52
67
  },
53
- publicKey: publicPaymentKey.to_raw_key(),
54
- publicParentKey: publicParentPaymentKey.to_raw_key(),
55
- rewardAccount: core_1.CSL.RewardAddress.new(networkId, stakeKeyCredential).to_address().to_bech32(),
68
+ derivePublicKey: (type, addressIndex) => extendedAccountPublicKey.derive(type).derive(addressIndex).to_raw_key(),
69
+ extendedAccountPublicKey,
56
70
  signMessage: async (_addressType, _signingIndex, message) => ({
57
- publicKey: publicParentPaymentKey.toString(),
71
+ publicKey: extendedAccountPublicKey.toString(),
58
72
  signature: `Signature for ${message} is not implemented yet`
59
73
  }),
60
74
  signTransaction: async ({ body, hash }) => {
61
75
  const cslHash = core_1.CSL.TransactionHash.from_bytes(Buffer.from(hash, 'hex'));
62
- const paymentVkeyWitness = core_1.CSL.make_vkey_witness(cslHash, privateParentPaymentKey.to_raw_key());
76
+ const paymentVkeyWitness = core_1.CSL.make_vkey_witness(cslHash, privateParentPaymentKeyRaw);
63
77
  const stakeWitnesses = (() => {
64
78
  if (!body.certificates) {
65
79
  return {};
66
80
  }
67
- const stakeVkeyWitness = core_1.CSL.make_vkey_witness(cslHash, privateStakeKey.to_raw_key());
81
+ const stakeVkeyWitness = core_1.CSL.make_vkey_witness(cslHash, privateStakeKeyRaw);
68
82
  return {
69
- [stakeVkeyWitness.vkey().public_key().to_bech32()]: stakeVkeyWitness.signature().to_hex()
83
+ [publicStakeKeyRawBech32]: stakeVkeyWitness.signature().to_hex()
70
84
  };
71
85
  })();
72
86
  return {
73
- [paymentVkeyWitness.vkey().public_key().to_bech32()]: paymentVkeyWitness.signature().to_hex(),
87
+ [publicParentPaymentKeyRawBech32]: paymentVkeyWitness.signature().to_hex(),
74
88
  ...stakeWitnesses
75
89
  };
76
- },
77
- stakeKey: publicRawSakeKey
90
+ }
78
91
  };
79
92
  };
80
93
  exports.createInMemoryKeyManager = createInMemoryKeyManager;
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryKeyManager.js","sourceRoot":"","sources":["../../src/KeyManagement/InMemoryKeyManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InMemoryKeyManager.js","sourceRoot":"","sources":["../../src/KeyManagement/InMemoryKeyManager.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,30 @@
1
- import { AddressType } from '..';
2
1
  import { CSL, Cardano } from '@cardano-sdk/core';
3
2
  import { TxInternals } from '../Transaction';
3
+ export declare enum AddressType {
4
+ Internal = 1,
5
+ External = 0
6
+ }
7
+ export declare enum KeyType {
8
+ External = 0,
9
+ Internal = 1,
10
+ Stake = 2
11
+ }
12
+ export interface GroupedAddress {
13
+ networkId: Cardano.NetworkId;
14
+ type: AddressType;
15
+ accountIndex: number;
16
+ addressIndex: number;
17
+ address: Cardano.Address;
18
+ rewardAccount: Cardano.RewardAccount;
19
+ }
4
20
  export interface KeyManager {
5
- deriveAddress: (addressIndex: number, index: 0 | 1) => string;
21
+ extendedAccountPublicKey: CSL.Bip32PublicKey;
22
+ derivePublicKey: (type: KeyType, index: number) => CSL.PublicKey;
23
+ deriveAddress: (type: AddressType, index: number) => GroupedAddress;
6
24
  signMessage: (addressType: AddressType, signingIndex: number, message: string) => Promise<{
7
25
  publicKey: string;
8
26
  signature: string;
9
27
  }>;
10
- publicKey: CSL.PublicKey;
11
- publicParentKey: CSL.PublicKey;
12
28
  signTransaction: (tx: TxInternals) => Promise<Cardano.Witness['signatures']>;
13
- stakeKey: CSL.PublicKey;
14
- rewardAccount: Cardano.Address;
15
29
  }
16
30
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;IAC9D,WAAW,EAAE,CACX,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEvD,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC;IAE/B,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7E,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/KeyManagement/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,oBAAY,WAAW;IAIrB,QAAQ,IAAI;IAIZ,QAAQ,IAAI;CACb;AAED,oBAAY,OAAO;IACjB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,KAAK,IAAI;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IAGzB,wBAAwB,EAAE,GAAG,CAAC,cAAc,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC;IAEjE,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC;IACpE,WAAW,EAAE,CACX,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEvD,eAAe,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;CAC9E"}
@@ -1,3 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyType = exports.AddressType = void 0;
4
+ var AddressType;
5
+ (function (AddressType) {
6
+ AddressType[AddressType["Internal"] = 1] = "Internal";
7
+ AddressType[AddressType["External"] = 0] = "External";
8
+ })(AddressType = exports.AddressType || (exports.AddressType = {}));
9
+ var KeyType;
10
+ (function (KeyType) {
11
+ KeyType[KeyType["External"] = 0] = "External";
12
+ KeyType[KeyType["Internal"] = 1] = "Internal";
13
+ KeyType[KeyType["Stake"] = 2] = "Stake";
14
+ })(KeyType = exports.KeyType || (exports.KeyType = {}));
3
15
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/KeyManagement/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/KeyManagement/types.ts"],"names":[],"mappings":";;;AAIA,IAAY,WASX;AATD,WAAY,WAAW;IAIrB,qDAAY,CAAA;IAIZ,qDAAY,CAAA;AACd,CAAC,EATW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAStB;AAED,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,6CAAY,CAAA;IACZ,6CAAY,CAAA;IACZ,uCAAS,CAAA;AACX,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
@@ -1,21 +1,24 @@
1
- import { Address, InitializeTxProps, Wallet } from './types';
2
- import { Balance, BehaviorObservable, DelegationTracker, PollingConfig, TransactionalTracker, TransactionsTracker } from './services';
3
- import { Cardano, NetworkInfo, ProtocolParametersRequiredByWallet, StakePoolSearchProvider, WalletProvider } from '@cardano-sdk/core';
1
+ import { GroupedAddress, KeyManager } from './KeyManagement';
2
+ import { AssetProvider, Cardano, NetworkInfo, ProtocolParametersRequiredByWallet, StakePoolSearchProvider, WalletProvider } from '@cardano-sdk/core';
3
+ import { Assets } from '.';
4
+ import { Balance, BehaviorObservable, DelegationTracker, PollingConfig, TrackerSubject, TransactionalTracker, TransactionsTracker } from './services';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import { InitializeTxProps, Wallet } from './types';
4
7
  import { InputSelector } from '@cardano-sdk/cip2';
5
- import { KeyManager } from './KeyManagement';
6
8
  import { Logger } from 'ts-log';
7
9
  import { RetryBackoffConfig } from 'backoff-rxjs';
8
10
  import { TxInternals } from './Transaction';
9
11
  export interface SingleAddressWalletProps {
10
12
  readonly name: string;
11
13
  readonly polling?: PollingConfig;
12
- readonly address?: Address;
14
+ readonly address?: GroupedAddress;
13
15
  readonly retryBackoffConfig?: RetryBackoffConfig;
14
16
  }
15
17
  export interface SingleAddressWalletDependencies {
16
18
  readonly keyManager: KeyManager;
17
19
  readonly walletProvider: WalletProvider;
18
20
  readonly stakePoolSearchProvider: StakePoolSearchProvider;
21
+ readonly assetProvider: AssetProvider;
19
22
  readonly inputSelector?: InputSelector;
20
23
  readonly logger?: Logger;
21
24
  }
@@ -26,12 +29,13 @@ export declare class SingleAddressWallet implements Wallet {
26
29
  transactions: TransactionsTracker;
27
30
  delegation: DelegationTracker;
28
31
  tip$: BehaviorObservable<Cardano.Tip>;
29
- networkInfo$: BehaviorObservable<NetworkInfo>;
30
- protocolParameters$: BehaviorObservable<ProtocolParametersRequiredByWallet>;
31
- genesisParameters$: BehaviorObservable<Cardano.CompactGenesis>;
32
+ networkInfo$: TrackerSubject<NetworkInfo>;
33
+ addresses$: BehaviorSubject<GroupedAddress[]>;
34
+ protocolParameters$: TrackerSubject<ProtocolParametersRequiredByWallet>;
35
+ genesisParameters$: TrackerSubject<Cardano.CompactGenesis>;
36
+ assets$: TrackerSubject<Assets>;
32
37
  name: string;
33
- constructor({ name, polling: { interval: pollInterval, maxInterval }, address, retryBackoffConfig }: SingleAddressWalletProps, { walletProvider, stakePoolSearchProvider, keyManager, logger, inputSelector }: SingleAddressWalletDependencies);
34
- get addresses(): Address[];
38
+ constructor({ name, polling: { interval: pollInterval, maxInterval }, address, retryBackoffConfig }: SingleAddressWalletProps, { walletProvider, stakePoolSearchProvider, keyManager, assetProvider, logger, inputSelector }: SingleAddressWalletDependencies);
35
39
  initializeTx(props: InitializeTxProps): Promise<TxInternals>;
36
40
  finalizeTx(tx: TxInternals, auxiliaryData?: Cardano.AuxiliaryData): Promise<Cardano.NewTxAlonzo>;
37
41
  submitTx(tx: Cardano.NewTxAlonzo): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SingleAddressWallet.d.ts","sourceRoot":"","sources":["../src/SingleAddressWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EAIb,oBAAoB,EACpB,mBAAmB,EASpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,OAAO,EACP,WAAW,EACX,kCAAkC,EAClC,uBAAuB,EACvB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAwD,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,WAAW,EAA2E,MAAM,eAAe,CAAC;AAGrH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CAClD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,mBAAoB,YAAW,MAAM;;IAgBhD,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,YAAY,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,mBAAmB,EAAE,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IAC5E,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;gBAGX,EACE,IAAI,EACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAqB,EAAE,WAAyB,EAAO,EAC5E,OAAO,EACP,kBAGC,EACF,EAAE,wBAAwB,EAC3B,EACE,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,MAAoB,EACpB,aAAyC,EAC1C,EAAE,+BAA+B;IA4DpC,IAAI,SAAS,IAAI,OAAO,EAAE,CAEzB;IACD,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IA6CtD,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;IAUhG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAatD,IAAI;IAGJ,QAAQ;CAUT"}
1
+ {"version":3,"file":"SingleAddressWallet.d.ts","sourceRoot":"","sources":["../src/SingleAddressWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,OAAO,EACP,WAAW,EACX,kCAAkC,EAClC,uBAAuB,EACvB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAC3B,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EAEb,cAAc,EAEd,oBAAoB,EACpB,mBAAmB,EASpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAoE,MAAM,MAAM,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,aAAa,EAAwD,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAA2E,MAAM,eAAe,CAAC;AAGrH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CAClD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,mBAAoB,YAAW,MAAM;;IAWhD,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,UAAU,EAAE,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9C,mBAAmB,EAAE,cAAc,CAAC,kCAAkC,CAAC,CAAC;IACxE,kBAAkB,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;gBAGX,EACE,IAAI,EACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAqB,EAAE,WAAyB,EAAO,EAC5E,OAAO,EACP,kBAGC,EACF,EAAE,wBAAwB,EAC3B,EACE,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,MAAoB,EACpB,aAAyC,EAC1C,EAAE,+BAA+B;IA4DpC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IA6CtD,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;IAUhG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAatD,IAAI;IAGJ,QAAQ;CAST"}
@@ -10,97 +10,82 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _SingleAddressWallet_inputSelector, _SingleAddressWallet_keyManager, _SingleAddressWallet_walletProvider, _SingleAddressWallet_address, _SingleAddressWallet_logger, _SingleAddressWallet_tip$, _SingleAddressWallet_networkInfo$, _SingleAddressWallet_protocolParameters$, _SingleAddressWallet_genesisParameters$, _SingleAddressWallet_newTransactions, _SingleAddressWallet_rewards;
13
+ var _SingleAddressWallet_inputSelector, _SingleAddressWallet_keyManager, _SingleAddressWallet_walletProvider, _SingleAddressWallet_logger, _SingleAddressWallet_tip$, _SingleAddressWallet_newTransactions;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SingleAddressWallet = void 0;
16
- const types_1 = require("./types");
17
- const services_1 = require("./services");
16
+ const KeyManagement_1 = require("./KeyManagement");
18
17
  const core_1 = require("@cardano-sdk/core");
18
+ const services_1 = require("./services");
19
+ const rxjs_1 = require("rxjs");
19
20
  const cip2_1 = require("@cardano-sdk/cip2");
20
21
  const ts_log_1 = require("ts-log");
21
- const rxjs_1 = require("rxjs");
22
22
  const Transaction_1 = require("./Transaction");
23
23
  const lodash_es_1 = require("lodash-es");
24
24
  class SingleAddressWallet {
25
25
  constructor({ name, polling: { interval: pollInterval = 15000, maxInterval = 15000 * 10 } = {}, address, retryBackoffConfig = {
26
26
  initialInterval: Math.min(pollInterval, 1000),
27
27
  maxInterval
28
- } }, { walletProvider, stakePoolSearchProvider, keyManager, logger = ts_log_1.dummyLogger, inputSelector = cip2_1.roundRobinRandomImprove() }) {
28
+ } }, { walletProvider, stakePoolSearchProvider, keyManager, assetProvider, logger = ts_log_1.dummyLogger, inputSelector = cip2_1.roundRobinRandomImprove() }) {
29
29
  _SingleAddressWallet_inputSelector.set(this, void 0);
30
30
  _SingleAddressWallet_keyManager.set(this, void 0);
31
31
  _SingleAddressWallet_walletProvider.set(this, void 0);
32
- _SingleAddressWallet_address.set(this, void 0);
33
32
  _SingleAddressWallet_logger.set(this, void 0);
34
33
  _SingleAddressWallet_tip$.set(this, void 0);
35
- _SingleAddressWallet_networkInfo$.set(this, void 0);
36
- _SingleAddressWallet_protocolParameters$.set(this, void 0);
37
- _SingleAddressWallet_genesisParameters$.set(this, void 0);
38
34
  _SingleAddressWallet_newTransactions.set(this, {
39
35
  failedToSubmit$: new rxjs_1.Subject(),
40
36
  pending$: new rxjs_1.Subject(),
41
37
  submitting$: new rxjs_1.Subject()
42
38
  });
43
- _SingleAddressWallet_rewards.set(this, void 0);
44
39
  __classPrivateFieldSet(this, _SingleAddressWallet_logger, logger, "f");
45
40
  __classPrivateFieldSet(this, _SingleAddressWallet_inputSelector, inputSelector, "f");
46
41
  __classPrivateFieldSet(this, _SingleAddressWallet_walletProvider, walletProvider, "f");
47
42
  __classPrivateFieldSet(this, _SingleAddressWallet_keyManager, keyManager, "f");
48
- __classPrivateFieldSet(this, _SingleAddressWallet_address, address || {
49
- accountIndex: 0,
50
- bech32: keyManager.deriveAddress(0, 0),
51
- index: 0,
52
- type: types_1.AddressType.External
53
- }, "f");
43
+ this.addresses$ = new rxjs_1.BehaviorSubject([address || keyManager.deriveAddress(KeyManagement_1.AddressType.External, 0)]);
54
44
  this.name = name;
55
45
  __classPrivateFieldSet(this, _SingleAddressWallet_tip$, this.tip$ = new services_1.SyncableIntervalTrackerSubject({
56
46
  pollInterval,
57
47
  provider$: services_1.coldObservableProvider(walletProvider.ledgerTip, retryBackoffConfig)
58
48
  }), "f");
59
49
  const tipBlockHeight$ = services_1.sharedDistinctBlock(this.tip$);
60
- __classPrivateFieldSet(this, _SingleAddressWallet_networkInfo$, this.networkInfo$ = new services_1.TrackerSubject(services_1.coldObservableProvider(walletProvider.networkInfo, retryBackoffConfig, tipBlockHeight$, lodash_es_1.isEqual)), "f");
50
+ this.networkInfo$ = new services_1.TrackerSubject(services_1.coldObservableProvider(walletProvider.networkInfo, retryBackoffConfig, tipBlockHeight$, lodash_es_1.isEqual));
61
51
  const epoch$ = services_1.sharedDistinctEpoch(this.networkInfo$);
62
- __classPrivateFieldSet(this, _SingleAddressWallet_protocolParameters$, this.protocolParameters$ = new services_1.TrackerSubject(services_1.coldObservableProvider(walletProvider.currentWalletProtocolParameters, retryBackoffConfig, epoch$, lodash_es_1.isEqual)), "f");
63
- __classPrivateFieldSet(this, _SingleAddressWallet_genesisParameters$, this.genesisParameters$ = new services_1.TrackerSubject(services_1.coldObservableProvider(walletProvider.genesisParameters, retryBackoffConfig, epoch$, lodash_es_1.isEqual)), "f");
64
- const addresses = this.addresses.map(({ bech32 }) => bech32);
52
+ this.protocolParameters$ = new services_1.TrackerSubject(services_1.coldObservableProvider(walletProvider.currentWalletProtocolParameters, retryBackoffConfig, epoch$, lodash_es_1.isEqual));
53
+ this.genesisParameters$ = new services_1.TrackerSubject(services_1.coldObservableProvider(walletProvider.genesisParameters, retryBackoffConfig, epoch$, lodash_es_1.isEqual));
54
+ const addresses$ = this.addresses$.pipe(rxjs_1.map((addresses) => addresses.map((groupedAddress) => groupedAddress.address)));
65
55
  this.transactions = services_1.createTransactionsTracker({
66
- addresses,
56
+ addresses$,
67
57
  newTransactions: __classPrivateFieldGet(this, _SingleAddressWallet_newTransactions, "f"),
68
58
  retryBackoffConfig,
69
59
  tip$: this.tip$,
70
60
  walletProvider
71
61
  });
72
62
  this.utxo = services_1.createUtxoTracker({
73
- addresses,
63
+ addresses$,
74
64
  retryBackoffConfig,
75
65
  tipBlockHeight$,
76
66
  transactionsInFlight$: this.transactions.outgoing.inFlight$,
77
67
  walletProvider
78
68
  });
79
- __classPrivateFieldSet(this, _SingleAddressWallet_rewards, services_1.createRewardsTracker({
80
- epoch$,
81
- keyManager,
82
- retryBackoffConfig,
83
- transactionsInFlight$: this.transactions.outgoing.inFlight$,
84
- walletProvider
85
- }), "f");
86
69
  this.delegation = services_1.createDelegationTracker({
87
70
  epoch$,
88
- keyManager,
89
71
  retryBackoffConfig,
72
+ rewardAccountAddresses$: this.addresses$.pipe(rxjs_1.map((addresses) => addresses.map((groupedAddress) => groupedAddress.rewardAccount))),
90
73
  stakePoolSearchProvider,
91
74
  transactionsTracker: this.transactions,
92
75
  walletProvider
93
76
  });
94
- this.balance = services_1.createBalanceTracker(this.protocolParameters$, this.utxo, __classPrivateFieldGet(this, _SingleAddressWallet_rewards, "f"), this.delegation);
95
- }
96
- get addresses() {
97
- return [__classPrivateFieldGet(this, _SingleAddressWallet_address, "f")];
77
+ this.balance = services_1.createBalanceTracker(this.protocolParameters$, this.utxo, this.delegation);
78
+ this.assets$ = new services_1.TrackerSubject(services_1.createAssetsTracker({
79
+ assetProvider,
80
+ balanceTracker: this.balance,
81
+ retryBackoffConfig
82
+ }));
98
83
  }
99
84
  initializeTx(props) {
100
85
  return rxjs_1.lastValueFrom(rxjs_1.combineLatest([this.tip$, this.utxo.available$, this.protocolParameters$]).pipe(rxjs_1.take(1), rxjs_1.mergeMap(([tip, utxo, protocolParameters]) => {
101
86
  const validityInterval = Transaction_1.ensureValidityInterval(tip.slot, props.options?.validityInterval);
102
87
  const txOutputs = new Set([...(props.outputs || [])].map((output) => core_1.coreToCsl.txOut(output)));
103
- const changeAddress = this.addresses[0].bech32;
88
+ const changeAddress = this.addresses$.value[0].address;
104
89
  const constraints = cip2_1.defaultSelectionConstraints({
105
90
  buildTx: async (inputSelection) => {
106
91
  __classPrivateFieldGet(this, _SingleAddressWallet_logger, "f").debug('Building TX for selection constraints', inputSelection);
@@ -160,15 +145,14 @@ class SingleAddressWallet {
160
145
  }
161
146
  shutdown() {
162
147
  this.balance.shutdown();
163
- __classPrivateFieldGet(this, _SingleAddressWallet_rewards, "f").shutdown();
164
148
  this.utxo.shutdown();
165
149
  this.transactions.shutdown();
166
- __classPrivateFieldGet(this, _SingleAddressWallet_networkInfo$, "f").complete();
167
- __classPrivateFieldGet(this, _SingleAddressWallet_protocolParameters$, "f").complete();
168
- __classPrivateFieldGet(this, _SingleAddressWallet_genesisParameters$, "f").complete();
150
+ this.networkInfo$.complete();
151
+ this.protocolParameters$.complete();
152
+ this.genesisParameters$.complete();
169
153
  __classPrivateFieldGet(this, _SingleAddressWallet_tip$, "f").complete();
170
154
  }
171
155
  }
172
156
  exports.SingleAddressWallet = SingleAddressWallet;
173
- _SingleAddressWallet_inputSelector = new WeakMap(), _SingleAddressWallet_keyManager = new WeakMap(), _SingleAddressWallet_walletProvider = new WeakMap(), _SingleAddressWallet_address = new WeakMap(), _SingleAddressWallet_logger = new WeakMap(), _SingleAddressWallet_tip$ = new WeakMap(), _SingleAddressWallet_networkInfo$ = new WeakMap(), _SingleAddressWallet_protocolParameters$ = new WeakMap(), _SingleAddressWallet_genesisParameters$ = new WeakMap(), _SingleAddressWallet_newTransactions = new WeakMap(), _SingleAddressWallet_rewards = new WeakMap();
157
+ _SingleAddressWallet_inputSelector = new WeakMap(), _SingleAddressWallet_keyManager = new WeakMap(), _SingleAddressWallet_walletProvider = new WeakMap(), _SingleAddressWallet_logger = new WeakMap(), _SingleAddressWallet_tip$ = new WeakMap(), _SingleAddressWallet_newTransactions = new WeakMap();
174
158
  //# sourceMappingURL=SingleAddressWallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleAddressWallet.js","sourceRoot":"","sources":["../src/SingleAddressWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SingleAddressWallet.js","sourceRoot":"","sources":["../src/SingleAddressWallet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAA0E;AAC1E,4CAQ2B;AAE3B,yCAmBoB;AACpB,+BAAyG;AAEzG,4CAAwG;AACxG,mCAA6C;AAE7C,+CAAqH;AACrH,yCAAoC;AAkBpC,MAAa,mBAAmB;IAuB9B,YACE,EACE,IAAI,EACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,KAAM,EAAE,WAAW,GAAG,KAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAC5E,OAAO,EACP,kBAAkB,GAAG;QACnB,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC;QAC7C,WAAW;KACZ,EACwB,EAC3B,EACE,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,MAAM,GAAG,oBAAW,EACpB,aAAa,GAAG,8BAAuB,EAAE,EACT;QAvCpC,qDAA8B;QAC9B,kDAAwB;QACxB,sDAAgC;QAChC,8CAAgB;QAChB,4CAAmD;QACnD,+CAAmB;YACjB,eAAe,EAAE,IAAI,cAAO,EAAY;YACxC,QAAQ,EAAE,IAAI,cAAO,EAAuB;YAC5C,WAAW,EAAE,IAAI,cAAO,EAAuB;SAChD,EAAC;QAgCA,uBAAA,IAAI,+BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,sCAAkB,aAAa,MAAA,CAAC;QACpC,uBAAA,IAAI,uCAAmB,cAAc,MAAA,CAAC;QACtC,uBAAA,IAAI,mCAAe,UAAU,MAAA,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAe,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,2BAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,uBAAA,IAAI,6BAAS,IAAI,CAAC,IAAI,GAAG,IAAI,yCAA8B,CAAC;YAC1D,YAAY;YACZ,SAAS,EAAE,iCAAsB,CAAC,cAAc,CAAC,SAAS,EAAE,kBAAkB,CAAC;SAChF,CAAC,MAAA,CAAC;QACH,MAAM,eAAe,GAAG,8BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAc,CACpC,iCAAsB,CAAC,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAO,CAAC,CACjG,CAAC;QACF,MAAM,MAAM,GAAG,8BAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,yBAAc,CAC3C,iCAAsB,CAAC,cAAc,CAAC,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAO,CAAC,CAC5G,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,yBAAc,CAC1C,iCAAsB,CAAC,cAAc,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAO,CAAC,CAC9F,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACrC,UAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAC9E,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,oCAAyB,CAAC;YAC5C,UAAU;YACV,eAAe,EAAE,uBAAA,IAAI,4CAAiB;YACtC,kBAAkB;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,4BAAiB,CAAC;YAC5B,UAAU;YACV,kBAAkB;YAClB,eAAe;YACf,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS;YAC3D,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,kCAAuB,CAAC;YACxC,MAAM;YACN,kBAAkB;YAClB,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAC3C,UAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CACpF;YACD,uBAAuB;YACvB,mBAAmB,EAAE,IAAI,CAAC,YAAY;YACtC,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,+BAAoB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAc,CAC/B,8BAAmB,CAAC;YAClB,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,OAAO;YAC5B,kBAAkB;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,YAAY,CAAC,KAAwB;QACnC,OAAO,oBAAa,CAClB,oBAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAC7E,WAAI,CAAC,CAAC,CAAC,EACP,eAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE;YAC3C,MAAM,gBAAgB,GAAG,oCAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC3F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD,MAAM,WAAW,GAAG,kCAA2B,CAAC;gBAC9C,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;oBAChC,uBAAA,IAAI,mCAAQ,CAAC,KAAK,CAAC,uCAAuC,EAAE,cAAc,CAAC,CAAC;oBAC5E,MAAM,WAAW,GAAG,MAAM,wCAA0B,CAAC;wBACnD,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,aAAa;wBACb,cAAc;wBACd,gBAAgB;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;qBAC/B,CAAC,CAAC;oBACH,OAAO,gBAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBACD,kBAAkB;aACnB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,iCAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO,WAAI,CACT,uBAAA,IAAI,0CAAe;iBAChB,MAAM,CAAC;gBACN,WAAW;gBACX,YAAY;gBACZ,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,IAAI,GAAG,CAAC,gBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC,CAAC;iBACD,IAAI,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAC7B,wCAA0B,CAAC;gBACzB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa;gBACb,cAAc,EAAE,oBAAoB,CAAC,SAAS;gBAC9C,gBAAgB;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CACH,CACJ,CAAC;QACJ,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,EAAe,EAAE,aAAqC;QACrE,MAAM,UAAU,GAAG,MAAM,uBAAA,IAAI,uCAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO;YACL,aAAa;YACb,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,EAAE,EAAE,EAAE,CAAC,IAAI;YAEX,OAAO,EAAE,EAAE,UAAU,EAAE;SACxB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,EAAuB;QACpC,uBAAA,IAAI,4CAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI;YACF,MAAM,uBAAA,IAAI,2CAAgB,CAAC,QAAQ,CAAC,gBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,uBAAA,IAAI,4CAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACzC;QAAC,OAAO,KAAK,EAAE;YACd,uBAAA,IAAI,4CAAiB,CAAC,eAAe,CAAC,IAAI,CAAC;gBACzC,MAAM,EAAE,6BAAkB,CAAC,cAAc;gBACzC,EAAE;aACH,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IACD,IAAI;QACF,uBAAA,IAAI,iCAAM,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACnC,uBAAA,IAAI,iCAAM,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;CACF;AApLD,kDAoLC"}
@@ -0,0 +1,16 @@
1
+ import { AssetProvider, Cardano } from '@cardano-sdk/core';
2
+ import { Balance, TransactionalTracker } from './types';
3
+ import { RetryBackoffConfig } from 'backoff-rxjs';
4
+ export declare const createGetAssetProvider: (assetProvider: AssetProvider, retryBackoffConfig: RetryBackoffConfig) => (assetId: Cardano.AssetId) => import("rxjs").Observable<Cardano.Asset>;
5
+ export declare type GetAssetProvider = ReturnType<typeof createGetAssetProvider>;
6
+ export interface AssetsTrackerProps {
7
+ balanceTracker: TransactionalTracker<Balance>;
8
+ assetProvider: AssetProvider;
9
+ retryBackoffConfig: RetryBackoffConfig;
10
+ }
11
+ interface AssetsTrackerInternals {
12
+ getAssetProvider?: GetAssetProvider;
13
+ }
14
+ export declare const createAssetsTracker: ({ assetProvider, balanceTracker, retryBackoffConfig }: AssetsTrackerProps, { getAssetProvider }?: AssetsTrackerInternals) => import("rxjs").Observable<Partial<Record<string, Cardano.Asset>> | Partial<Record<string, Cardano.Asset>>>;
15
+ export {};
16
+ //# sourceMappingURL=AssetsTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsTracker.d.ts","sourceRoot":"","sources":["../../src/services/AssetsTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,eAAO,MAAM,sBAAsB,kBACjB,aAAa,sBAAsB,kBAAkB,eAAe,QAAQ,OAAO,6CAKhG,CAAC;AACN,oBAAY,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,UAAU,sBAAsB;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,eAAO,MAAM,mBAAmB,0DACyB,kBAAkB,yBACS,sBAAsB,+GAcvG,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAssetsTracker = exports.createGetAssetProvider = void 0;
4
+ const util_1 = require("./util");
5
+ const rxjs_1 = require("rxjs");
6
+ const createGetAssetProvider = (assetProvider, retryBackoffConfig) => (assetId) => util_1.coldObservableProvider(() => assetProvider.getAsset(assetId), retryBackoffConfig, rxjs_1.of(true));
7
+ exports.createGetAssetProvider = createGetAssetProvider;
8
+ const createAssetsTracker = ({ assetProvider, balanceTracker, retryBackoffConfig }, { getAssetProvider = exports.createGetAssetProvider(assetProvider, retryBackoffConfig) } = {}) => balanceTracker.total$.pipe(rxjs_1.mergeMap(({ assets }) => rxjs_1.from(Object.keys(assets || {}))), rxjs_1.distinct(), rxjs_1.mergeMap((assetId) => getAssetProvider(assetId)), rxjs_1.scan((assets, asset) => ({
9
+ ...assets,
10
+ [asset.assetId]: asset
11
+ }), {}), rxjs_1.startWith({}));
12
+ exports.createAssetsTracker = createAssetsTracker;
13
+ //# sourceMappingURL=AssetsTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsTracker.js","sourceRoot":"","sources":["../../src/services/AssetsTracker.ts"],"names":[],"mappings":";;;AAIA,iCAAgD;AAChD,+BAAqE;AAE9D,MAAM,sBAAsB,GACjC,CAAC,aAA4B,EAAE,kBAAsC,EAAE,EAAE,CAAC,CAAC,OAAwB,EAAE,EAAE,CACrG,6BAAsB,CACpB,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EACrC,kBAAkB,EAClB,SAAE,CAAC,IAAI,CAAC,CACT,CAAC;AANO,QAAA,sBAAsB,0BAM7B;AAaC,MAAM,mBAAmB,GAAG,CACjC,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAsB,EACzE,EAAE,gBAAgB,GAAG,8BAAsB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAA6B,EAAE,EAC7G,EAAE,CACF,cAAc,CAAC,MAAM,CAAC,IAAI,CACxB,eAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,WAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EACzD,eAAQ,EAAE,EACV,eAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAChD,WAAI,CACF,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAClB,GAAG,MAAM;IACT,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK;CACvB,CAAC,EACF,EAAY,CACb,EACD,gBAAS,CAAC,EAAY,CAAC,CACxB,CAAC;AAhBS,QAAA,mBAAmB,uBAgB5B"}
@@ -1,5 +1,5 @@
1
1
  import { Balance, DelegationTracker, TransactionalObservables, TransactionalTracker } from './types';
2
2
  import { Cardano, ProtocolParametersRequiredByWallet } from '@cardano-sdk/core';
3
3
  import { Observable } from 'rxjs';
4
- export declare const createBalanceTracker: (protocolParameters$: Observable<ProtocolParametersRequiredByWallet>, utxoTracker: TransactionalObservables<Cardano.Utxo[]>, rewardsTracker: TransactionalObservables<Cardano.Lovelace>, delegationTracker: DelegationTracker) => TransactionalTracker<Balance>;
4
+ export declare const createBalanceTracker: (protocolParameters$: Observable<ProtocolParametersRequiredByWallet>, utxoTracker: TransactionalObservables<Cardano.Utxo[]>, delegationTracker: DelegationTracker) => TransactionalTracker<Balance>;
5
5
  //# sourceMappingURL=BalanceTracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceTracker.d.ts","sourceRoot":"","sources":["../../src/services/BalanceTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAkB,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAmD,MAAM,MAAM,CAAC;AAyBnF,eAAO,MAAM,oBAAoB,wBACV,WAAW,kCAAkC,CAAC,eACtD,yBAAyB,QAAQ,IAAI,EAAE,CAAC,kBACrC,yBAAyB,QAAQ,QAAQ,CAAC,qBACvC,iBAAiB,KACnC,qBAAqB,OAAO,CA0B9B,CAAC"}
1
+ {"version":3,"file":"BalanceTracker.d.ts","sourceRoot":"","sources":["../../src/services/BalanceTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAkB,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAc,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAmD,MAAM,MAAM,CAAC;AAyBnF,eAAO,MAAM,oBAAoB,wBACV,WAAW,kCAAkC,CAAC,eACtD,yBAAyB,QAAQ,IAAI,EAAE,CAAC,qBAClC,iBAAiB,KACnC,qBAAqB,OAAO,CAqD9B,CAAC"}
@@ -11,15 +11,25 @@ const mapToBalances = rxjs_1.map(([utxo, rewards, deposit]) => ({
11
11
  rewards
12
12
  }));
13
13
  const createDepositTracker = (protocolParameters$, numDeposits$) => rxjs_1.combineLatest([numDeposits$, protocolParameters$]).pipe(rxjs_1.map(([registeredAccounts, { stakeKeyDeposit }]) => BigInt(registeredAccounts * stakeKeyDeposit)), rxjs_1.distinctUntilChanged());
14
- const numRewardAccountsWithKeyStatus = (delegationTracker, keyStatus) => delegationTracker.rewardAccounts$.pipe(rxjs_1.map((accounts) => accounts.filter((account) => account.keyStatus === keyStatus).length));
15
- const createBalanceTracker = (protocolParameters$, utxoTracker, rewardsTracker, delegationTracker) => {
16
- const depositTotal$ = createDepositTracker(protocolParameters$, numRewardAccountsWithKeyStatus(delegationTracker, types_1.StakeKeyStatus.Registered)).pipe(rxjs_1.share());
17
- const depositAvailable$ = rxjs_1.combineLatest([
18
- depositTotal$,
19
- createDepositTracker(protocolParameters$, numRewardAccountsWithKeyStatus(delegationTracker, types_1.StakeKeyStatus.Unregistering))
20
- ]).pipe(rxjs_1.map(([totalDeposit, depositBeingSpent]) => totalDeposit - depositBeingSpent));
21
- const available$ = new util_1.TrackerSubject(rxjs_1.combineLatest([utxoTracker.available$, rewardsTracker.available$, depositAvailable$]).pipe(mapToBalances));
22
- const total$ = new util_1.TrackerSubject(rxjs_1.combineLatest([utxoTracker.total$, rewardsTracker.total$, depositTotal$]).pipe(mapToBalances));
14
+ const numRewardAccountsWithKeyStatus = (delegationTracker, keyStatuses) => delegationTracker.rewardAccounts$.pipe(rxjs_1.map((accounts) => accounts.filter((account) => keyStatuses.includes(account.keyStatus)).length));
15
+ const createBalanceTracker = (protocolParameters$, utxoTracker, delegationTracker) => {
16
+ const depositTotal$ = createDepositTracker(protocolParameters$, numRewardAccountsWithKeyStatus(delegationTracker, [types_1.StakeKeyStatus.Registered, types_1.StakeKeyStatus.Unregistering])).pipe(rxjs_1.distinctUntilChanged());
17
+ const depositRegistered$ = createDepositTracker(protocolParameters$, numRewardAccountsWithKeyStatus(delegationTracker, [types_1.StakeKeyStatus.Registered]));
18
+ const depositUnregistering$ = createDepositTracker(protocolParameters$, numRewardAccountsWithKeyStatus(delegationTracker, [types_1.StakeKeyStatus.Unregistering]));
19
+ const depositAvailable$ = rxjs_1.combineLatest([depositRegistered$, depositUnregistering$]).pipe(rxjs_1.map(([totalDeposit, depositBeingSpent]) => core_1.BigIntMath.max([totalDeposit - depositBeingSpent, 0n])), rxjs_1.distinctUntilChanged());
20
+ const rewardsAggregate$ = delegationTracker.rewardAccounts$.pipe(rxjs_1.map((accounts) => accounts.reduce((sum, { rewardBalance: { available, total } }) => ({
21
+ available: sum.available + available,
22
+ total: sum.total + total
23
+ }), {
24
+ available: 0n,
25
+ total: 0n
26
+ })), rxjs_1.distinctUntilChanged(util_1.deepEquals), rxjs_1.share());
27
+ const available$ = new util_1.TrackerSubject(rxjs_1.combineLatest([
28
+ utxoTracker.available$,
29
+ rewardsAggregate$.pipe(rxjs_1.map(({ available }) => available)),
30
+ depositAvailable$
31
+ ]).pipe(mapToBalances));
32
+ const total$ = new util_1.TrackerSubject(rxjs_1.combineLatest([utxoTracker.total$, rewardsAggregate$.pipe(rxjs_1.map(({ total }) => total)), depositTotal$]).pipe(mapToBalances));
23
33
  return {
24
34
  available$,
25
35
  shutdown() {
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceTracker.js","sourceRoot":"","sources":["../../src/services/BalanceTracker.ts"],"names":[],"mappings":";;;AAAA,mCAAqH;AACrH,4CAAgF;AAChF,+BAAmF;AACnF,iCAAwC;AAExC,MAAM,aAAa,GAAG,UAAG,CACvB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,GAAG,cAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO;IACP,OAAO;CACR,CAAC,CACH,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,mBAAmE,EACnE,YAAgC,EAChC,EAAE,CACF,oBAAa,CAAC,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CACrD,UAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC,EAChG,2BAAoB,EAAE,CACvB,CAAC;AAEJ,MAAM,8BAA8B,GAAG,CAAC,iBAAoC,EAAE,SAAyB,EAAE,EAAE,CACzG,iBAAiB,CAAC,eAAe,CAAC,IAAI,CACpC,UAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CACxF,CAAC;AAEG,MAAM,oBAAoB,GAAG,CAClC,mBAAmE,EACnE,WAAqD,EACrD,cAA0D,EAC1D,iBAAoC,EACL,EAAE;IACjC,MAAM,aAAa,GAAG,oBAAoB,CACxC,mBAAmB,EACnB,8BAA8B,CAAC,iBAAiB,EAAE,sBAAc,CAAC,UAAU,CAAC,CAC7E,CAAC,IAAI,CAAC,YAAK,EAAE,CAAC,CAAC;IAChB,MAAM,iBAAiB,GAAG,oBAAa,CAAC;QACtC,aAAa;QACb,oBAAoB,CAClB,mBAAmB,EACnB,8BAA8B,CAAC,iBAAiB,EAAE,sBAAc,CAAC,aAAa,CAAC,CAChF;KACF,CAAC,CAAC,IAAI,CAAC,UAAG,CAAC,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,IAAI,qBAAc,CACnC,oBAAa,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAC1G,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,qBAAc,CAC/B,oBAAa,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAC9F,CAAC;IACF,OAAO;QACL,UAAU;QACV,QAAQ;YACN,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,oBAAoB,wBA+B/B"}
1
+ {"version":3,"file":"BalanceTracker.js","sourceRoot":"","sources":["../../src/services/BalanceTracker.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { Cardano, StakePoolSearchProvider, WalletProvider } from '@cardano-sdk/core';
2
2
  import { DelegationTracker, TransactionsTracker } from '../types';
3
- import { KeyManager } from '../../KeyManagement';
4
3
  import { Observable } from 'rxjs';
5
- import { ObservableStakePoolSearchProvider } from './Delegatee';
4
+ import { ObservableRewardsProvider, ObservableStakePoolSearchProvider } from './RewardAccounts';
6
5
  import { RetryBackoffConfig } from 'backoff-rxjs';
7
6
  import { RewardsHistoryProvider } from './RewardsHistory';
8
7
  import { TxWithEpoch } from './types';
@@ -10,18 +9,18 @@ export declare const createBlockEpochProvider: (walletProvider: WalletProvider,
10
9
  export declare type BlockEpochProvider = ReturnType<typeof createBlockEpochProvider>;
11
10
  export interface DelegationTrackerProps {
12
11
  walletProvider: WalletProvider;
13
- keyManager: KeyManager;
12
+ rewardAccountAddresses$: Observable<Cardano.RewardAccount[]>;
14
13
  stakePoolSearchProvider: StakePoolSearchProvider;
15
14
  epoch$: Observable<Cardano.Epoch>;
16
15
  transactionsTracker: TransactionsTracker;
17
16
  retryBackoffConfig: RetryBackoffConfig;
18
17
  internals?: {
19
18
  queryStakePoolsProvider?: ObservableStakePoolSearchProvider;
19
+ rewardsProvider?: ObservableRewardsProvider;
20
20
  rewardsHistoryProvider?: RewardsHistoryProvider;
21
21
  blockEpochProvider?: BlockEpochProvider;
22
22
  };
23
23
  }
24
24
  export declare const certificateTransactionsWithEpochs: (transactionsTracker: TransactionsTracker, blockEpochProvider: BlockEpochProvider, certificateTypes: Cardano.CertificateType[]) => Observable<TxWithEpoch[]>;
25
- export declare const createRewardAccountsTracker: (transactions$: Observable<TxWithEpoch[]>, transactionsInFlight$: Observable<Cardano.NewTxAlonzo[]>) => Observable<any>;
26
- export declare const createDelegationTracker: ({ keyManager, epoch$, walletProvider, retryBackoffConfig, transactionsTracker, stakePoolSearchProvider, internals: { queryStakePoolsProvider, rewardsHistoryProvider, blockEpochProvider } }: DelegationTrackerProps) => DelegationTracker;
25
+ export declare const createDelegationTracker: ({ rewardAccountAddresses$, epoch$, walletProvider, retryBackoffConfig, transactionsTracker, stakePoolSearchProvider, internals: { queryStakePoolsProvider, rewardsHistoryProvider, rewardsProvider, blockEpochProvider } }: DelegationTrackerProps) => DelegationTracker;
27
26
  //# sourceMappingURL=DelegationTracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DelegationTracker.d.ts","sourceRoot":"","sources":["../../../src/services/DelegationTracker/DelegationTracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAkB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAA8D,MAAM,MAAM,CAAC;AAC9F,OAAO,EAAE,iCAAiC,EAAyD,MAAM,aAAa,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAA6D,MAAM,kBAAkB,CAAC;AAErH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,eAAO,MAAM,wBAAwB,mBAClB,cAAc,sBAAsB,kBAAkB,mBAAmB,QAAQ,MAAM,EAAE,yBAGvG,CAAC;AAEN,oBAAY,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,SAAS,CAAC,EAAE;QACV,uBAAuB,CAAC,EAAE,iCAAiC,CAAC;QAC5D,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;QAChD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACH;AAED,eAAO,MAAM,iCAAiC,wBACvB,mBAAmB,sBACpB,kBAAkB,oBACpB,QAAQ,eAAe,EAAE,KAC1C,WAAW,WAAW,EAAE,CAQxB,CAAC;AAEJ,eAAO,MAAM,2BAA2B,kBACvB,WAAW,WAAW,EAAE,CAAC,yBACjB,WAAW,QAAQ,WAAW,EAAE,CAAC,oBAuCvD,CAAC;AAEJ,eAAO,MAAM,uBAAuB,iMAYjC,sBAAsB,KAAG,iBAqB3B,CAAC"}
1
+ {"version":3,"file":"DelegationTracker.d.ts","sourceRoot":"","sources":["../../../src/services/DelegationTracker/DelegationTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AACzD,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EAIlC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAA6D,MAAM,kBAAkB,CAAC;AAErH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,eAAO,MAAM,wBAAwB,mBAClB,cAAc,sBAAsB,kBAAkB,mBAAmB,QAAQ,MAAM,EAAE,yBAGvG,CAAC;AAEN,oBAAY,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,uBAAuB,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7D,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,SAAS,CAAC,EAAE;QACV,uBAAuB,CAAC,EAAE,iCAAiC,CAAC;QAC5D,eAAe,CAAC,EAAE,yBAAyB,CAAC;QAC5C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;QAChD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACH;AAED,eAAO,MAAM,iCAAiC,wBACvB,mBAAmB,sBACpB,kBAAkB,oBACpB,QAAQ,eAAe,EAAE,KAC1C,WAAW,WAAW,EAAE,CAQxB,CAAC;AAEJ,eAAO,MAAM,uBAAuB,+NAkBjC,sBAAsB,KAAG,iBAyB3B,CAAC"}