@cardano-sdk/wallet 0.1.5 → 0.2.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 (189) hide show
  1. package/README.md +8 -0
  2. package/dist/KeyManagement/InMemoryKeyAgent.d.ts +30 -0
  3. package/dist/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
  4. package/dist/KeyManagement/InMemoryKeyAgent.js +132 -0
  5. package/dist/KeyManagement/InMemoryKeyAgent.js.map +1 -0
  6. package/dist/KeyManagement/KeyAgentBase.d.ts +16 -0
  7. package/dist/KeyManagement/KeyAgentBase.d.ts.map +1 -0
  8. package/dist/KeyManagement/KeyAgentBase.js +49 -0
  9. package/dist/KeyManagement/KeyAgentBase.js.map +1 -0
  10. package/dist/KeyManagement/cachedGetPassword.d.ts +4 -0
  11. package/dist/KeyManagement/cachedGetPassword.d.ts.map +1 -0
  12. package/dist/KeyManagement/cachedGetPassword.js +18 -0
  13. package/dist/KeyManagement/cachedGetPassword.js.map +1 -0
  14. package/dist/KeyManagement/emip3.d.ts +5 -0
  15. package/dist/KeyManagement/emip3.d.ts.map +1 -0
  16. package/dist/KeyManagement/emip3.js +48 -0
  17. package/dist/KeyManagement/emip3.js.map +1 -0
  18. package/dist/KeyManagement/errors/AuthenticationError.d.ts +6 -0
  19. package/dist/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
  20. package/dist/KeyManagement/errors/AuthenticationError.js +16 -0
  21. package/dist/KeyManagement/errors/AuthenticationError.js.map +1 -0
  22. package/dist/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
  23. package/dist/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
  24. package/dist/KeyManagement/errors/InvalidMnemonicError.js +13 -0
  25. package/dist/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
  26. package/dist/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
  27. package/dist/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
  28. package/dist/KeyManagement/errors/InvalidSerializableDataError .js +15 -0
  29. package/dist/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
  30. package/dist/KeyManagement/errors/index.d.ts +3 -1
  31. package/dist/KeyManagement/errors/index.d.ts.map +1 -1
  32. package/dist/KeyManagement/errors/index.js +13 -3
  33. package/dist/KeyManagement/errors/index.js.map +1 -1
  34. package/dist/KeyManagement/index.d.ts +6 -2
  35. package/dist/KeyManagement/index.d.ts.map +1 -1
  36. package/dist/KeyManagement/index.js +6 -2
  37. package/dist/KeyManagement/index.js.map +1 -1
  38. package/dist/KeyManagement/restoreKeyAgent.d.ts +7 -0
  39. package/dist/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
  40. package/dist/KeyManagement/restoreKeyAgent.js +30 -0
  41. package/dist/KeyManagement/restoreKeyAgent.js.map +1 -0
  42. package/dist/KeyManagement/types.d.ts +57 -12
  43. package/dist/KeyManagement/types.d.ts.map +1 -1
  44. package/dist/KeyManagement/types.js +19 -0
  45. package/dist/KeyManagement/types.js.map +1 -1
  46. package/dist/KeyManagement/util.d.ts +4 -0
  47. package/dist/KeyManagement/util.d.ts.map +1 -1
  48. package/dist/KeyManagement/util.js +8 -2
  49. package/dist/KeyManagement/util.js.map +1 -1
  50. package/dist/SingleAddressWallet.d.ts +38 -23
  51. package/dist/SingleAddressWallet.d.ts.map +1 -1
  52. package/dist/SingleAddressWallet.js +178 -52
  53. package/dist/SingleAddressWallet.js.map +1 -1
  54. package/dist/Transaction/computeImplicitCoin.d.ts +2 -2
  55. package/dist/Transaction/computeImplicitCoin.d.ts.map +1 -1
  56. package/dist/Transaction/computeImplicitCoin.js +5 -5
  57. package/dist/Transaction/computeImplicitCoin.js.map +1 -1
  58. package/dist/Transaction/createTransactionInternals.d.ts +7 -8
  59. package/dist/Transaction/createTransactionInternals.d.ts.map +1 -1
  60. package/dist/Transaction/createTransactionInternals.js +16 -30
  61. package/dist/Transaction/createTransactionInternals.js.map +1 -1
  62. package/dist/Transaction/ensureValidityInterval.d.ts +3 -0
  63. package/dist/Transaction/ensureValidityInterval.d.ts.map +1 -0
  64. package/dist/Transaction/ensureValidityInterval.js +6 -0
  65. package/dist/Transaction/ensureValidityInterval.js.map +1 -0
  66. package/dist/Transaction/index.d.ts +1 -3
  67. package/dist/Transaction/index.d.ts.map +1 -1
  68. package/dist/Transaction/index.js +1 -3
  69. package/dist/Transaction/index.js.map +1 -1
  70. package/dist/index.d.ts +1 -5
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +2 -6
  73. package/dist/index.js.map +1 -1
  74. package/dist/services/AssetsTracker.d.ts +17 -0
  75. package/dist/services/AssetsTracker.d.ts.map +1 -0
  76. package/dist/services/AssetsTracker.js +10 -0
  77. package/dist/services/AssetsTracker.js.map +1 -0
  78. package/dist/services/BalanceTracker.d.ts +5 -0
  79. package/dist/services/BalanceTracker.d.ts.map +1 -0
  80. package/dist/services/BalanceTracker.js +43 -0
  81. package/dist/services/BalanceTracker.js.map +1 -0
  82. package/dist/services/DelegationTracker/DelegationTracker.d.ts +26 -0
  83. package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
  84. package/dist/services/DelegationTracker/DelegationTracker.js +39 -0
  85. package/dist/services/DelegationTracker/DelegationTracker.js.map +1 -0
  86. package/dist/services/DelegationTracker/RewardAccounts.d.ts +36 -0
  87. package/dist/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
  88. package/dist/services/DelegationTracker/RewardAccounts.js +86 -0
  89. package/dist/services/DelegationTracker/RewardAccounts.js.map +1 -0
  90. package/dist/services/DelegationTracker/RewardsHistory.d.ts +13 -0
  91. package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
  92. package/dist/services/DelegationTracker/RewardsHistory.js +27 -0
  93. package/dist/services/DelegationTracker/RewardsHistory.js.map +1 -0
  94. package/dist/services/DelegationTracker/index.d.ts +5 -0
  95. package/dist/services/DelegationTracker/index.d.ts.map +1 -0
  96. package/dist/services/DelegationTracker/index.js +17 -0
  97. package/dist/services/DelegationTracker/index.js.map +1 -0
  98. package/dist/services/DelegationTracker/transactionCertificates.d.ts +9 -0
  99. package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
  100. package/dist/services/DelegationTracker/transactionCertificates.js +33 -0
  101. package/dist/services/DelegationTracker/transactionCertificates.js.map +1 -0
  102. package/dist/services/DelegationTracker/types.d.ts +6 -0
  103. package/dist/services/DelegationTracker/types.d.ts.map +1 -0
  104. package/dist/{Transaction → services/DelegationTracker}/types.js +0 -0
  105. package/dist/services/DelegationTracker/types.js.map +1 -0
  106. package/dist/services/TransactionsTracker.d.ts +22 -0
  107. package/dist/services/TransactionsTracker.d.ts.map +1 -0
  108. package/dist/services/TransactionsTracker.js +74 -0
  109. package/dist/services/TransactionsTracker.js.map +1 -0
  110. package/dist/services/UtxoTracker.d.ts +18 -0
  111. package/dist/services/UtxoTracker.d.ts.map +1 -0
  112. package/dist/services/UtxoTracker.js +20 -0
  113. package/dist/services/UtxoTracker.js.map +1 -0
  114. package/dist/services/index.d.ts +8 -0
  115. package/dist/services/index.d.ts.map +1 -0
  116. package/dist/services/index.js +20 -0
  117. package/dist/services/index.js.map +1 -0
  118. package/dist/services/types.d.ts +88 -0
  119. package/dist/services/types.d.ts.map +1 -0
  120. package/dist/services/types.js +24 -0
  121. package/dist/services/types.js.map +1 -0
  122. package/dist/services/util/SyncableIntervalTrackerSubject.d.ts +19 -0
  123. package/dist/services/util/SyncableIntervalTrackerSubject.d.ts.map +1 -0
  124. package/dist/services/util/SyncableIntervalTrackerSubject.js +30 -0
  125. package/dist/services/util/SyncableIntervalTrackerSubject.js.map +1 -0
  126. package/dist/services/util/TrackerSubject.d.ts +14 -0
  127. package/dist/services/util/TrackerSubject.d.ts.map +1 -0
  128. package/dist/services/util/TrackerSubject.js +46 -0
  129. package/dist/services/util/TrackerSubject.js.map +1 -0
  130. package/dist/services/util/coldObservableProvider.d.ts +4 -0
  131. package/dist/services/util/coldObservableProvider.d.ts.map +1 -0
  132. package/dist/services/util/coldObservableProvider.js +14 -0
  133. package/dist/services/util/coldObservableProvider.js.map +1 -0
  134. package/dist/services/util/equals.d.ts +9 -0
  135. package/dist/services/util/equals.d.ts.map +1 -0
  136. package/dist/services/util/equals.js +19 -0
  137. package/dist/services/util/equals.js.map +1 -0
  138. package/dist/services/util/index.d.ts +6 -0
  139. package/dist/services/util/index.d.ts.map +1 -0
  140. package/dist/services/util/index.js +18 -0
  141. package/dist/services/util/index.js.map +1 -0
  142. package/dist/services/util/trigger.d.ts +5 -0
  143. package/dist/services/util/trigger.d.ts.map +1 -0
  144. package/dist/services/util/trigger.js +9 -0
  145. package/dist/services/util/trigger.js.map +1 -0
  146. package/dist/types.d.ts +47 -29
  147. package/dist/types.d.ts.map +1 -1
  148. package/dist/types.js +5 -10
  149. package/dist/types.js.map +1 -1
  150. package/package.json +13 -5
  151. package/dist/Address.d.ts +0 -11
  152. package/dist/Address.d.ts.map +0 -1
  153. package/dist/Address.js +0 -9
  154. package/dist/Address.js.map +0 -1
  155. package/dist/BalanceTracker.d.ts +0 -23
  156. package/dist/BalanceTracker.d.ts.map +0 -1
  157. package/dist/BalanceTracker.js +0 -48
  158. package/dist/BalanceTracker.js.map +0 -1
  159. package/dist/InMemoryTransactionTracker.d.ts +0 -16
  160. package/dist/InMemoryTransactionTracker.d.ts.map +0 -1
  161. package/dist/InMemoryTransactionTracker.js +0 -84
  162. package/dist/InMemoryTransactionTracker.js.map +0 -1
  163. package/dist/InMemoryUtxoRepository.d.ts +0 -25
  164. package/dist/InMemoryUtxoRepository.d.ts.map +0 -1
  165. package/dist/InMemoryUtxoRepository.js +0 -154
  166. package/dist/InMemoryUtxoRepository.js.map +0 -1
  167. package/dist/KeyManagement/InMemoryKeyManager.d.ts +0 -9
  168. package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +0 -1
  169. package/dist/KeyManagement/InMemoryKeyManager.js +0 -68
  170. package/dist/KeyManagement/InMemoryKeyManager.js.map +0 -1
  171. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts +0 -5
  172. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts.map +0 -1
  173. package/dist/KeyManagement/errors/InvalidMnemonic.js +0 -13
  174. package/dist/KeyManagement/errors/InvalidMnemonic.js.map +0 -1
  175. package/dist/Transaction/CertificateFactory.d.ts +0 -50
  176. package/dist/Transaction/CertificateFactory.d.ts.map +0 -1
  177. package/dist/Transaction/CertificateFactory.js +0 -72
  178. package/dist/Transaction/CertificateFactory.js.map +0 -1
  179. package/dist/Transaction/types.d.ts +0 -11
  180. package/dist/Transaction/types.d.ts.map +0 -1
  181. package/dist/Transaction/types.js.map +0 -1
  182. package/dist/Transaction/withdrawal.d.ts +0 -8
  183. package/dist/Transaction/withdrawal.d.ts.map +0 -1
  184. package/dist/Transaction/withdrawal.js +0 -10
  185. package/dist/Transaction/withdrawal.js.map +0 -1
  186. package/dist/TransactionError.d.ts +0 -15
  187. package/dist/TransactionError.d.ts.map +0 -1
  188. package/dist/TransactionError.js +0 -23
  189. package/dist/TransactionError.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./TrackerSubject"), exports);
14
+ __exportStar(require("./SyncableIntervalTrackerSubject"), exports);
15
+ __exportStar(require("./equals"), exports);
16
+ __exportStar(require("./trigger"), exports);
17
+ __exportStar(require("./coldObservableProvider"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAiC;AACjC,mEAAiD;AACjD,2CAAyB;AACzB,4CAA0B;AAC1B,2DAAyC"}
@@ -0,0 +1,5 @@
1
+ import { Cardano, NetworkInfo } from '@cardano-sdk/core';
2
+ import { Observable } from 'rxjs';
3
+ export declare const distinctBlock: (tip$: Observable<Cardano.Tip>) => Observable<number>;
4
+ export declare const distinctEpoch: (networkInfo$: Observable<NetworkInfo>) => Observable<number>;
5
+ //# sourceMappingURL=trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../src/services/util/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,UAAU,EAA6B,MAAM,MAAM,CAAC;AAE7D,eAAO,MAAM,aAAa,SAAU,WAAW,QAAQ,GAAG,CAAC,uBAIxD,CAAC;AAEJ,eAAO,MAAM,aAAa,iBAAkB,WAAW,WAAW,CAAC,uBAIhE,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.distinctEpoch = exports.distinctBlock = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const distinctBlock = (tip$) => tip$.pipe(rxjs_1.map(({ blockNo }) => blockNo), rxjs_1.distinctUntilChanged());
6
+ exports.distinctBlock = distinctBlock;
7
+ const distinctEpoch = (networkInfo$) => networkInfo$.pipe(rxjs_1.map(({ currentEpoch: { number } }) => number), rxjs_1.distinctUntilChanged());
8
+ exports.distinctEpoch = distinctEpoch;
9
+ //# sourceMappingURL=trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/services/util/trigger.ts"],"names":[],"mappings":";;;AACA,+BAA6D;AAEtD,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,EAAE,CAC7D,IAAI,CAAC,IAAI,CACP,UAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAC7B,2BAAoB,EAAE,CACvB,CAAC;AAJS,QAAA,aAAa,iBAItB;AAEG,MAAM,aAAa,GAAG,CAAC,YAAqC,EAAE,EAAE,CACrE,YAAY,CAAC,IAAI,CACf,UAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAC7C,2BAAoB,EAAE,CACvB,CAAC;AAJS,QAAA,aAAa,iBAItB"}
package/dist/types.d.ts CHANGED
@@ -1,37 +1,55 @@
1
- import { SelectionConstraints, SelectionResult } from '@cardano-sdk/cip2';
2
- import { Cardano, CSL } from '@cardano-sdk/core';
3
- import Emittery from 'emittery';
4
- export declare enum UtxoRepositoryEvent {
5
- Changed = "changed",
6
- OutOfSync = "out-of-sync"
1
+ import { Balance, BehaviorObservable, DelegationTracker, TransactionalTracker, TransactionsTracker } from './services';
2
+ import { Cardano, NetworkInfo, ProtocolParametersRequiredByWallet } from '@cardano-sdk/core';
3
+ import { GroupedAddress } from './KeyManagement';
4
+ import { SelectionSkeleton } from '@cardano-sdk/cip2';
5
+ import { TxInternals } from './Transaction';
6
+ export interface SerializableStatic<T, OpaqueStringT> {
7
+ deserialize(serialized: OpaqueStringT): T;
7
8
  }
8
- export interface UtxoRepositoryFields {
9
- allUtxos: Cardano.Utxo[];
10
- availableUtxos: Cardano.Utxo[];
11
- allRewards: Cardano.Lovelace | null;
12
- availableRewards: Cardano.Lovelace | null;
13
- delegation: Cardano.PoolId | null;
9
+ export declare const staticImplements: <T>() => <U extends T>(constructor: U) => void;
10
+ export interface Serializable<OpaqueStringT> {
11
+ serialize(): OpaqueStringT;
14
12
  }
15
- export declare type UtxoRepositoryEvents = {
16
- changed: UtxoRepositoryFields;
17
- 'out-of-sync': void;
18
- 'transaction-untracked': CSL.Transaction;
13
+ export declare type InitializeTxProps = {
14
+ outputs?: Set<Cardano.TxOut>;
15
+ certificates?: Cardano.Certificate[];
16
+ withdrawals?: Cardano.Withdrawal[];
17
+ options?: {
18
+ validityInterval?: Cardano.ValidityInterval;
19
+ };
19
20
  };
20
- export declare type UtxoRepository = {
21
- sync: () => Promise<void>;
22
- selectInputs: (outputs: Set<CSL.TransactionOutput>, constraints: SelectionConstraints, implicitCoin?: Cardano.ImplicitCoin) => Promise<SelectionResult>;
23
- } & UtxoRepositoryFields & Emittery<UtxoRepositoryEvents>;
24
- export interface OnTransactionArgs {
25
- transaction: CSL.Transaction;
26
- confirmed: Promise<void>;
21
+ export interface FinalizeTxProps {
22
+ readonly body: Cardano.TxBodyAlonzo;
27
23
  }
28
- export declare enum TransactionTrackerEvent {
29
- NewTransaction = "new-transaction"
24
+ export declare type Assets = Map<Cardano.AssetId, Cardano.Asset>;
25
+ export interface MinimumCoinQuantity {
26
+ minimumCoin: Cardano.Lovelace;
27
+ coinMissing: Cardano.Lovelace;
30
28
  }
31
- export declare type TransactionTrackerEvents = {
32
- 'new-transaction': OnTransactionArgs;
29
+ export declare type MinimumCoinQuantityPerOutput = Map<Cardano.TxOut, MinimumCoinQuantity>;
30
+ export interface InitializeTxPropsValidationResult {
31
+ minimumCoinQuantities: MinimumCoinQuantityPerOutput;
32
+ }
33
+ export declare type InitializeTxResult = TxInternals & {
34
+ inputSelection: SelectionSkeleton;
33
35
  };
34
- export interface TransactionTracker extends Emittery<TransactionTrackerEvents> {
35
- track(transaction: CSL.Transaction, submitted?: Promise<void>): Promise<void>;
36
+ export interface Wallet {
37
+ name: string;
38
+ readonly balance: TransactionalTracker<Balance>;
39
+ readonly delegation: DelegationTracker;
40
+ readonly utxo: TransactionalTracker<Cardano.Utxo[]>;
41
+ readonly transactions: TransactionsTracker;
42
+ readonly tip$: BehaviorObservable<Cardano.Tip>;
43
+ readonly genesisParameters$: BehaviorObservable<Cardano.CompactGenesis>;
44
+ readonly networkInfo$: BehaviorObservable<NetworkInfo>;
45
+ readonly protocolParameters$: BehaviorObservable<ProtocolParametersRequiredByWallet>;
46
+ readonly addresses$: BehaviorObservable<GroupedAddress[]>;
47
+ readonly assets$: BehaviorObservable<Assets>;
48
+ validateInitializeTxProps(props: InitializeTxProps): Promise<InitializeTxPropsValidationResult>;
49
+ initializeTx(props: InitializeTxProps): Promise<InitializeTxResult>;
50
+ finalizeTx(props: TxInternals): Promise<Cardano.NewTxAlonzo>;
51
+ submitTx(tx: Cardano.NewTxAlonzo): Promise<void>;
52
+ sync(): void;
53
+ shutdown(): void;
36
54
  }
37
55
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,SAAS,gBAAgB;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,oBAAY,oBAAoB,GAAG;IACjC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,IAAI,CAAC;IACpB,uBAAuB,EAAE,GAAG,CAAC,WAAW,CAAC;CAC1C,CAAC;AACF,oBAAY,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,YAAY,EAAE,CACZ,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,KAChC,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/B,GAAG,oBAAoB,GACtB,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAEjC,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC;IAK7B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,oBAAY,uBAAuB;IACjC,cAAc,oBAAoB;CACnC;AAED,oBAAY,wBAAwB,GAAG;IAAE,iBAAiB,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAChF,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,wBAAwB,CAAC;IAO5E,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionTrackerEvent = exports.UtxoRepositoryEvent = void 0;
4
- var UtxoRepositoryEvent;
5
- (function (UtxoRepositoryEvent) {
6
- UtxoRepositoryEvent["Changed"] = "changed";
7
- UtxoRepositoryEvent["OutOfSync"] = "out-of-sync";
8
- })(UtxoRepositoryEvent = exports.UtxoRepositoryEvent || (exports.UtxoRepositoryEvent = {}));
9
- var TransactionTrackerEvent;
10
- (function (TransactionTrackerEvent) {
11
- TransactionTrackerEvent["NewTransaction"] = "new-transaction";
12
- })(TransactionTrackerEvent = exports.TransactionTrackerEvent || (exports.TransactionTrackerEvent = {}));
3
+ exports.staticImplements = void 0;
4
+ const staticImplements = () => (constructor) => {
5
+ constructor;
6
+ };
7
+ exports.staticImplements = staticImplements;
13
8
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAIA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,gDAAyB,CAAA;AAC3B,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAkCD,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,6DAAkC,CAAA;AACpC,CAAC,EAFW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAElC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAUO,MAAM,gBAAgB,GAC3B,GAAM,EAAE,CACR,CAAc,WAAc,EAAE,EAAE;IAC9B,WAAW,CAAC;AACd,CAAC,CAAC;AAJS,QAAA,gBAAgB,oBAIzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/wallet",
3
- "version": "0.1.5",
3
+ "version": "0.2.0",
4
4
  "description": "Wallet modules",
5
5
  "engines": {
6
6
  "node": "^14"
@@ -19,21 +19,29 @@
19
19
  "cleanup": "shx rm -rf dist node_modules",
20
20
  "coverage": "yarn test --coverage",
21
21
  "lint": "eslint --ignore-path ../../.eslintignore \"**/*.ts\"",
22
+ "lint:fix": "eslint --fix --ignore-path ../../.eslintignore \"**/*.ts\"",
22
23
  "prepack": "yarn build",
23
24
  "test": "jest -c ./jest.config.js",
25
+ "test:e2e": "jest -c ./e2e.jest.config.js",
24
26
  "test:debug": "DEBUG=true yarn test"
25
27
  },
26
28
  "devDependencies": {
27
- "@cardano-sdk/util-dev": "0.1.5",
29
+ "@cardano-sdk/util-dev": " 0.2.0",
30
+ "@types/pbkdf2": "^3.1.0",
28
31
  "shx": "^0.3.3"
29
32
  },
30
33
  "dependencies": {
31
- "@cardano-sdk/cip2": "0.1.5",
32
- "@cardano-sdk/core": "0.1.5",
34
+ "@cardano-sdk/cip2": " 0.2.0",
35
+ "@cardano-sdk/core": " 0.2.0",
36
+ "backoff-rxjs": "^6.5.7",
37
+ "bip39": "^3.0.4",
38
+ "chacha": "^2.1.0",
33
39
  "delay": "^5.0.0",
34
40
  "emittery": "^0.10.0",
35
- "bip39": "^3.0.4",
41
+ "get-random-values": "^1.2.2",
36
42
  "lodash-es": "^4.17.21",
43
+ "pbkdf2": "^3.1.2",
44
+ "rxjs": "^7.4.0",
37
45
  "ts-custom-error": "^3.2.0",
38
46
  "ts-log": "^2.2.3"
39
47
  },
package/dist/Address.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export declare enum AddressType {
2
- internal = "Internal",
3
- external = "External"
4
- }
5
- export interface Address {
6
- address: string;
7
- index: number;
8
- type: AddressType;
9
- accountIndex: number;
10
- }
11
- //# sourceMappingURL=Address.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../src/Address.ts"],"names":[],"mappings":"AACA,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
package/dist/Address.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddressType = void 0;
4
- var AddressType;
5
- (function (AddressType) {
6
- AddressType["internal"] = "Internal";
7
- AddressType["external"] = "External";
8
- })(AddressType = exports.AddressType || (exports.AddressType = {}));
9
- //# sourceMappingURL=Address.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Address.js","sourceRoot":"","sources":["../src/Address.ts"],"names":[],"mappings":";;;AACA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB"}
@@ -1,23 +0,0 @@
1
- import { Cardano } from '@cardano-sdk/core';
2
- import Emittery from 'emittery';
3
- import { UtxoRepository } from './types';
4
- export interface Balance extends Cardano.Value {
5
- rewards: Cardano.Lovelace;
6
- }
7
- export interface Balances {
8
- total: Balance;
9
- available: Balance;
10
- }
11
- export declare enum BalanceTrackerEvent {
12
- Changed = "changed"
13
- }
14
- export interface BalanceTrackerEvents {
15
- changed: Balances;
16
- }
17
- export declare class BalanceTracker extends Emittery<BalanceTrackerEvents> implements Balances {
18
- #private;
19
- total: Balance;
20
- available: Balance;
21
- constructor(utxoRepository: UtxoRepository, logger?: import("ts-log").Logger);
22
- }
23
- //# sourceMappingURL=BalanceTracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BalanceTracker.d.ts","sourceRoot":"","sources":["../src/BalanceTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,cAAc,EAA6C,MAAM,SAAS,CAAC;AAEpF,MAAM,WAAW,OAAQ,SAAQ,OAAO,CAAC,KAAK;IAC5C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,QAAQ,CAAC,oBAAoB,CAAE,YAAW,QAAQ;;IACpF,KAAK,EAAG,OAAO,CAAC;IAChB,SAAS,EAAG,OAAO,CAAC;gBAER,cAAc,EAAE,cAAc,EAAE,MAAM,0BAAc;CA0BjE"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- 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");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- var _BalanceTracker_instances, _BalanceTracker_updateBalances, _BalanceTracker_getBalance;
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BalanceTracker = exports.BalanceTrackerEvent = void 0;
13
- const core_1 = require("@cardano-sdk/core");
14
- const emittery_1 = __importDefault(require("emittery"));
15
- const ts_log_1 = require("ts-log");
16
- const types_1 = require("./types");
17
- var BalanceTrackerEvent;
18
- (function (BalanceTrackerEvent) {
19
- BalanceTrackerEvent["Changed"] = "changed";
20
- })(BalanceTrackerEvent = exports.BalanceTrackerEvent || (exports.BalanceTrackerEvent = {}));
21
- class BalanceTracker extends emittery_1.default {
22
- constructor(utxoRepository, logger = ts_log_1.dummyLogger) {
23
- super();
24
- _BalanceTracker_instances.add(this);
25
- __classPrivateFieldGet(this, _BalanceTracker_instances, "m", _BalanceTracker_updateBalances).call(this, utxoRepository);
26
- utxoRepository.on(types_1.UtxoRepositoryEvent.Changed, (fields) => {
27
- __classPrivateFieldGet(this, _BalanceTracker_instances, "m", _BalanceTracker_updateBalances).call(this, fields);
28
- this.emit(BalanceTrackerEvent.Changed, {
29
- available: this.available,
30
- total: this.total
31
- }).catch(logger.error);
32
- });
33
- }
34
- }
35
- exports.BalanceTracker = BalanceTracker;
36
- _BalanceTracker_instances = new WeakSet(), _BalanceTracker_updateBalances = function _BalanceTracker_updateBalances(utxoRepository) {
37
- this.total = {
38
- ...__classPrivateFieldGet(this, _BalanceTracker_instances, "m", _BalanceTracker_getBalance).call(this, utxoRepository.allUtxos),
39
- rewards: utxoRepository.allRewards || 0n
40
- };
41
- this.available = {
42
- ...__classPrivateFieldGet(this, _BalanceTracker_instances, "m", _BalanceTracker_getBalance).call(this, utxoRepository.availableUtxos),
43
- rewards: utxoRepository.availableRewards || 0n
44
- };
45
- }, _BalanceTracker_getBalance = function _BalanceTracker_getBalance(utxo) {
46
- return core_1.Cardano.util.coalesceValueQuantities(utxo.map(([_, txOut]) => txOut.value));
47
- };
48
- //# sourceMappingURL=BalanceTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BalanceTracker.js","sourceRoot":"","sources":["../src/BalanceTracker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4C;AAC5C,wDAAgC;AAChC,mCAAqC;AACrC,mCAAoF;AAWpF,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;AACrB,CAAC,EAFW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAE9B;AAMD,MAAa,cAAe,SAAQ,kBAA8B;IAIhE,YAAY,cAA8B,EAAE,MAAM,GAAG,oBAAW;QAC9D,KAAK,EAAE,CAAC;;QACR,uBAAA,IAAI,iEAAgB,MAApB,IAAI,EAAiB,cAAc,CAAC,CAAC;QACrC,cAAc,CAAC,EAAE,CAAC,2BAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YACxD,uBAAA,IAAI,iEAAgB,MAApB,IAAI,EAAiB,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CAgBF;AA9BD,wCA8BC;oHAdiB,cAAoC;IAClD,IAAI,CAAC,KAAK,GAAG;QACX,GAAG,uBAAA,IAAI,6DAAY,MAAhB,IAAI,EAAa,cAAc,CAAC,QAAQ,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC,UAAU,IAAI,EAAE;KACzC,CAAC;IACF,IAAI,CAAC,SAAS,GAAG;QACf,GAAG,uBAAA,IAAI,6DAAY,MAAhB,IAAI,EAAa,cAAc,CAAC,cAAc,CAAC;QAClD,OAAO,EAAE,cAAc,CAAC,gBAAgB,IAAI,EAAE;KAC/C,CAAC;AACJ,CAAC,mEAEW,IAAoB;IAC9B,OAAO,cAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC"}
@@ -1,16 +0,0 @@
1
- import { TransactionTracker, TransactionTrackerEvents } from './types';
2
- import Emittery from 'emittery';
3
- import { WalletProvider, CSL } from '@cardano-sdk/core';
4
- import { Logger } from 'ts-log';
5
- export declare type Milliseconds = number;
6
- export interface InMemoryTransactionTrackerProps {
7
- provider: WalletProvider;
8
- logger?: Logger;
9
- pollInterval?: Milliseconds;
10
- }
11
- export declare class InMemoryTransactionTracker extends Emittery<TransactionTrackerEvents> implements TransactionTracker {
12
- #private;
13
- constructor({ provider, logger, pollInterval }: InMemoryTransactionTrackerProps);
14
- track(transaction: CSL.Transaction, submitted?: Promise<void>): Promise<void>;
15
- }
16
- //# sourceMappingURL=InMemoryTransactionTracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryTransactionTracker.d.ts","sourceRoot":"","sources":["../src/InMemoryTransactionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,cAAc,EAAkC,GAAG,EAAW,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI7C,oBAAY,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,0BAA2B,SAAQ,QAAQ,CAAC,wBAAwB,CAAE,YAAW,kBAAkB;;gBAMlG,EAAE,QAAQ,EAAE,MAAoB,EAAE,YAAmB,EAAE,EAAE,+BAA+B;IAO9F,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,GAAE,OAAO,CAAC,IAAI,CAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAqDvG"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- var _InMemoryTransactionTracker_instances, _InMemoryTransactionTracker_provider, _InMemoryTransactionTracker_pendingTransactions, _InMemoryTransactionTracker_logger, _InMemoryTransactionTracker_pollInterval, _InMemoryTransactionTracker_checkTransactionViaProvider, _InMemoryTransactionTracker_onTransactionNotFound;
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.InMemoryTransactionTracker = void 0;
19
- const emittery_1 = __importDefault(require("emittery"));
20
- const core_1 = require("@cardano-sdk/core");
21
- const TransactionError_1 = require("./TransactionError");
22
- const ts_log_1 = require("ts-log");
23
- const delay_1 = __importDefault(require("delay"));
24
- const _1 = require(".");
25
- class InMemoryTransactionTracker extends emittery_1.default {
26
- constructor({ provider, logger = ts_log_1.dummyLogger, pollInterval = 2000 }) {
27
- super();
28
- _InMemoryTransactionTracker_instances.add(this);
29
- _InMemoryTransactionTracker_provider.set(this, void 0);
30
- _InMemoryTransactionTracker_pendingTransactions.set(this, new Map());
31
- _InMemoryTransactionTracker_logger.set(this, void 0);
32
- _InMemoryTransactionTracker_pollInterval.set(this, void 0);
33
- __classPrivateFieldSet(this, _InMemoryTransactionTracker_provider, provider, "f");
34
- __classPrivateFieldSet(this, _InMemoryTransactionTracker_logger, logger, "f");
35
- __classPrivateFieldSet(this, _InMemoryTransactionTracker_pollInterval, pollInterval, "f");
36
- }
37
- async track(transaction, submitted = Promise.resolve()) {
38
- await submitted;
39
- const body = transaction.body();
40
- const hash = Buffer.from(core_1.CSL.hash_transaction(body).to_bytes()).toString('hex');
41
- __classPrivateFieldGet(this, _InMemoryTransactionTracker_logger, "f").debug('InMemoryTransactionTracker.trackTransaction', hash);
42
- if (__classPrivateFieldGet(this, _InMemoryTransactionTracker_pendingTransactions, "f").has(hash)) {
43
- return __classPrivateFieldGet(this, _InMemoryTransactionTracker_pendingTransactions, "f").get(hash);
44
- }
45
- const invalidHereafter = body.ttl();
46
- if (!invalidHereafter) {
47
- throw new TransactionError_1.TransactionError(TransactionError_1.TransactionFailure.CannotTrack, undefined, 'no TTL');
48
- }
49
- const promise = __classPrivateFieldGet(this, _InMemoryTransactionTracker_instances, "m", _InMemoryTransactionTracker_checkTransactionViaProvider).call(this, hash, invalidHereafter);
50
- __classPrivateFieldGet(this, _InMemoryTransactionTracker_pendingTransactions, "f").set(hash, promise);
51
- this.emit(_1.TransactionTrackerEvent.NewTransaction, { transaction, confirmed: promise }).catch(__classPrivateFieldGet(this, _InMemoryTransactionTracker_logger, "f").error);
52
- void promise.catch(() => void 0).then(() => __classPrivateFieldGet(this, _InMemoryTransactionTracker_pendingTransactions, "f").delete(hash));
53
- return promise;
54
- }
55
- }
56
- exports.InMemoryTransactionTracker = InMemoryTransactionTracker;
57
- _InMemoryTransactionTracker_provider = new WeakMap(), _InMemoryTransactionTracker_pendingTransactions = new WeakMap(), _InMemoryTransactionTracker_logger = new WeakMap(), _InMemoryTransactionTracker_pollInterval = new WeakMap(), _InMemoryTransactionTracker_instances = new WeakSet(), _InMemoryTransactionTracker_checkTransactionViaProvider = async function _InMemoryTransactionTracker_checkTransactionViaProvider(hash, invalidHereafter) {
58
- await delay_1.default(__classPrivateFieldGet(this, _InMemoryTransactionTracker_pollInterval, "f"));
59
- try {
60
- const tx = await __classPrivateFieldGet(this, _InMemoryTransactionTracker_provider, "f").queryTransactionsByHashes([hash]);
61
- if (tx.length > 0)
62
- return;
63
- return __classPrivateFieldGet(this, _InMemoryTransactionTracker_instances, "m", _InMemoryTransactionTracker_onTransactionNotFound).call(this, hash, invalidHereafter);
64
- }
65
- catch (error) {
66
- if (error instanceof core_1.ProviderError && error.reason === core_1.ProviderFailure.NotFound) {
67
- return __classPrivateFieldGet(this, _InMemoryTransactionTracker_instances, "m", _InMemoryTransactionTracker_onTransactionNotFound).call(this, hash, invalidHereafter);
68
- }
69
- throw new TransactionError_1.TransactionError(TransactionError_1.TransactionFailure.CannotTrack, error);
70
- }
71
- }, _InMemoryTransactionTracker_onTransactionNotFound = async function _InMemoryTransactionTracker_onTransactionNotFound(hash, invalidHereafter) {
72
- let tip;
73
- try {
74
- tip = await __classPrivateFieldGet(this, _InMemoryTransactionTracker_provider, "f").ledgerTip();
75
- }
76
- catch (error) {
77
- throw new TransactionError_1.TransactionError(TransactionError_1.TransactionFailure.CannotTrack, error, "can't query tip to check for transaction timeout");
78
- }
79
- if (tip && tip.slot > invalidHereafter) {
80
- throw new TransactionError_1.TransactionError(TransactionError_1.TransactionFailure.Timeout);
81
- }
82
- return __classPrivateFieldGet(this, _InMemoryTransactionTracker_instances, "m", _InMemoryTransactionTracker_checkTransactionViaProvider).call(this, hash, invalidHereafter);
83
- };
84
- //# sourceMappingURL=InMemoryTransactionTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryTransactionTracker.js","sourceRoot":"","sources":["../src/InMemoryTransactionTracker.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { WalletProvider, Cardano, CSL } from '@cardano-sdk/core';
2
- import { Logger } from 'ts-log';
3
- import { InputSelector, SelectionConstraints, SelectionResult } from '@cardano-sdk/cip2';
4
- import { KeyManager } from './KeyManagement';
5
- import { UtxoRepository, TransactionTracker, UtxoRepositoryEvents } from './types';
6
- import Emittery from 'emittery';
7
- export interface InMemoryUtxoRepositoryProps {
8
- provider: WalletProvider;
9
- keyManager: KeyManager;
10
- inputSelector: InputSelector;
11
- txTracker: TransactionTracker;
12
- logger?: Logger;
13
- }
14
- export declare class InMemoryUtxoRepository extends Emittery<UtxoRepositoryEvents> implements UtxoRepository {
15
- #private;
16
- constructor({ logger, provider, inputSelector, keyManager, txTracker }: InMemoryUtxoRepositoryProps);
17
- sync(): Promise<void>;
18
- selectInputs(outputs: Set<CSL.TransactionOutput>, constraints: SelectionConstraints, implicitCoin?: Cardano.ImplicitCoin): Promise<SelectionResult>;
19
- get allUtxos(): Cardano.Utxo[];
20
- get availableUtxos(): Cardano.Utxo[];
21
- get allRewards(): Cardano.Lovelace | null;
22
- get availableRewards(): Cardano.Lovelace | null;
23
- get delegation(): Cardano.PoolId | null;
24
- }
25
- //# sourceMappingURL=InMemoryUtxoRepository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryUtxoRepository.d.ts","sourceRoot":"","sources":["../src/InMemoryUtxoRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAW,GAAG,EAAwB,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,cAAc,EAEd,kBAAkB,EAGlB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,qBAAa,sBAAuB,SAAQ,QAAQ,CAAC,oBAAoB,CAAE,YAAW,cAAc;;gBAUtF,EAAE,MAAoB,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,2BAA2B;IAcpG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCrB,YAAY,CACvB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,GAClC,OAAO,CAAC,eAAe,CAAC;IAa3B,IAAW,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAEpC;IAED,IAAW,cAAc,IAAI,OAAO,CAAC,IAAI,EAAE,CAE1C;IAED,IAAW,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAE/C;IAED,IAAW,gBAAgB,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAGrD;IAED,IAAW,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAE7C;CA8DF"}