@cardano-sdk/wallet 0.1.4 → 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 (169) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/README.md +8 -0
  4. package/dist/KeyManagement/InMemoryKeyManager.d.ts +9 -0
  5. package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +1 -0
  6. package/dist/KeyManagement/InMemoryKeyManager.js +94 -0
  7. package/dist/KeyManagement/InMemoryKeyManager.js.map +1 -0
  8. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts +5 -0
  9. package/dist/KeyManagement/errors/InvalidMnemonic.d.ts.map +1 -0
  10. package/dist/KeyManagement/errors/InvalidMnemonic.js +13 -0
  11. package/dist/KeyManagement/errors/InvalidMnemonic.js.map +1 -0
  12. package/{src/KeyManagement/errors/index.ts → dist/KeyManagement/errors/index.d.ts} +1 -0
  13. package/dist/KeyManagement/errors/index.d.ts.map +1 -0
  14. package/dist/KeyManagement/errors/index.js +6 -0
  15. package/dist/KeyManagement/errors/index.js.map +1 -0
  16. package/{src/KeyManagement/index.ts → dist/KeyManagement/index.d.ts} +1 -0
  17. package/dist/KeyManagement/index.d.ts.map +1 -0
  18. package/dist/KeyManagement/index.js +30 -0
  19. package/dist/KeyManagement/index.js.map +1 -0
  20. package/dist/KeyManagement/types.d.ts +30 -0
  21. package/dist/KeyManagement/types.d.ts.map +1 -0
  22. package/dist/KeyManagement/types.js +15 -0
  23. package/dist/KeyManagement/types.js.map +1 -0
  24. package/dist/KeyManagement/util.d.ts +6 -0
  25. package/dist/KeyManagement/util.d.ts.map +1 -0
  26. package/dist/KeyManagement/util.js +31 -0
  27. package/dist/KeyManagement/util.js.map +1 -0
  28. package/dist/SingleAddressWallet.d.ts +45 -0
  29. package/dist/SingleAddressWallet.d.ts.map +1 -0
  30. package/dist/SingleAddressWallet.js +158 -0
  31. package/dist/SingleAddressWallet.js.map +1 -0
  32. package/dist/Transaction/computeImplicitCoin.d.ts +4 -0
  33. package/dist/Transaction/computeImplicitCoin.d.ts.map +1 -0
  34. package/dist/Transaction/computeImplicitCoin.js +21 -0
  35. package/dist/Transaction/computeImplicitCoin.js.map +1 -0
  36. package/dist/Transaction/createTransactionInternals.d.ts +16 -0
  37. package/dist/Transaction/createTransactionInternals.d.ts.map +1 -0
  38. package/dist/Transaction/createTransactionInternals.js +28 -0
  39. package/dist/Transaction/createTransactionInternals.js.map +1 -0
  40. package/dist/Transaction/ensureValidityInterval.d.ts +3 -0
  41. package/dist/Transaction/ensureValidityInterval.d.ts.map +1 -0
  42. package/dist/Transaction/ensureValidityInterval.js +6 -0
  43. package/dist/Transaction/ensureValidityInterval.js.map +1 -0
  44. package/dist/Transaction/index.d.ts +4 -0
  45. package/dist/Transaction/index.d.ts.map +1 -0
  46. package/dist/Transaction/index.js +16 -0
  47. package/dist/Transaction/index.js.map +1 -0
  48. package/dist/index.d.ts +6 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +31 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/services/AssetsTracker.d.ts +16 -0
  53. package/dist/services/AssetsTracker.d.ts.map +1 -0
  54. package/dist/services/AssetsTracker.js +13 -0
  55. package/dist/services/AssetsTracker.js.map +1 -0
  56. package/dist/services/BalanceTracker.d.ts +5 -0
  57. package/dist/services/BalanceTracker.d.ts.map +1 -0
  58. package/dist/services/BalanceTracker.js +43 -0
  59. package/dist/services/BalanceTracker.js.map +1 -0
  60. package/dist/services/DelegationTracker/DelegationTracker.d.ts +26 -0
  61. package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
  62. package/dist/services/DelegationTracker/DelegationTracker.js +39 -0
  63. package/dist/services/DelegationTracker/DelegationTracker.js.map +1 -0
  64. package/dist/services/DelegationTracker/RewardAccounts.d.ts +36 -0
  65. package/dist/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
  66. package/dist/services/DelegationTracker/RewardAccounts.js +86 -0
  67. package/dist/services/DelegationTracker/RewardAccounts.js.map +1 -0
  68. package/dist/services/DelegationTracker/RewardsHistory.d.ts +14 -0
  69. package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
  70. package/dist/services/DelegationTracker/RewardsHistory.js +27 -0
  71. package/dist/services/DelegationTracker/RewardsHistory.js.map +1 -0
  72. package/dist/services/DelegationTracker/index.d.ts +5 -0
  73. package/dist/services/DelegationTracker/index.d.ts.map +1 -0
  74. package/dist/services/DelegationTracker/index.js +17 -0
  75. package/dist/services/DelegationTracker/index.js.map +1 -0
  76. package/dist/services/DelegationTracker/transactionCertificates.d.ts +9 -0
  77. package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
  78. package/dist/services/DelegationTracker/transactionCertificates.js +33 -0
  79. package/dist/services/DelegationTracker/transactionCertificates.js.map +1 -0
  80. package/dist/services/DelegationTracker/types.d.ts +6 -0
  81. package/dist/services/DelegationTracker/types.d.ts.map +1 -0
  82. package/dist/services/DelegationTracker/types.js +3 -0
  83. package/dist/services/DelegationTracker/types.js.map +1 -0
  84. package/dist/services/TransactionError.d.ts +15 -0
  85. package/dist/services/TransactionError.d.ts.map +1 -0
  86. package/dist/services/TransactionError.js +23 -0
  87. package/dist/services/TransactionError.js.map +1 -0
  88. package/dist/services/TransactionsTracker.d.ts +22 -0
  89. package/dist/services/TransactionsTracker.d.ts.map +1 -0
  90. package/dist/services/TransactionsTracker.js +75 -0
  91. package/dist/services/TransactionsTracker.js.map +1 -0
  92. package/dist/services/UtxoTracker.d.ts +18 -0
  93. package/dist/services/UtxoTracker.d.ts.map +1 -0
  94. package/dist/services/UtxoTracker.js +20 -0
  95. package/dist/services/UtxoTracker.js.map +1 -0
  96. package/dist/services/index.d.ts +9 -0
  97. package/dist/services/index.d.ts.map +1 -0
  98. package/dist/services/index.js +21 -0
  99. package/dist/services/index.js.map +1 -0
  100. package/dist/services/types.d.ts +81 -0
  101. package/dist/services/types.d.ts.map +1 -0
  102. package/dist/services/types.js +16 -0
  103. package/dist/services/types.js.map +1 -0
  104. package/dist/services/util/SyncableIntervalTrackerSubject.d.ts +19 -0
  105. package/dist/services/util/SyncableIntervalTrackerSubject.d.ts.map +1 -0
  106. package/dist/services/util/SyncableIntervalTrackerSubject.js +30 -0
  107. package/dist/services/util/SyncableIntervalTrackerSubject.js.map +1 -0
  108. package/dist/services/util/TrackerSubject.d.ts +14 -0
  109. package/dist/services/util/TrackerSubject.d.ts.map +1 -0
  110. package/dist/services/util/TrackerSubject.js +46 -0
  111. package/dist/services/util/TrackerSubject.js.map +1 -0
  112. package/dist/services/util/coldObservableProvider.d.ts +4 -0
  113. package/dist/services/util/coldObservableProvider.d.ts.map +1 -0
  114. package/dist/services/util/coldObservableProvider.js +14 -0
  115. package/dist/services/util/coldObservableProvider.js.map +1 -0
  116. package/dist/services/util/equals.d.ts +9 -0
  117. package/dist/services/util/equals.d.ts.map +1 -0
  118. package/dist/services/util/equals.js +19 -0
  119. package/dist/services/util/equals.js.map +1 -0
  120. package/dist/services/util/index.d.ts +6 -0
  121. package/dist/services/util/index.d.ts.map +1 -0
  122. package/dist/services/util/index.js +18 -0
  123. package/dist/services/util/index.js.map +1 -0
  124. package/dist/services/util/trigger.d.ts +5 -0
  125. package/dist/services/util/trigger.d.ts.map +1 -0
  126. package/dist/services/util/trigger.js +9 -0
  127. package/dist/services/util/trigger.js.map +1 -0
  128. package/dist/types.d.ts +35 -0
  129. package/dist/types.d.ts.map +1 -0
  130. package/dist/types.js +3 -0
  131. package/dist/types.js.map +1 -0
  132. package/package.json +17 -8
  133. package/jest.config.js +0 -1
  134. package/src/Address.ts +0 -12
  135. package/src/BalanceTracker.ts +0 -62
  136. package/src/InMemoryTransactionTracker.ts +0 -87
  137. package/src/InMemoryUtxoRepository.ts +0 -192
  138. package/src/KeyManagement/InMemoryKeyManager.ts +0 -67
  139. package/src/KeyManagement/errors/InvalidMnemonic.ts +0 -9
  140. package/src/KeyManagement/types.ts +0 -15
  141. package/src/KeyManagement/util.ts +0 -14
  142. package/src/SingleAddressWallet.ts +0 -120
  143. package/src/Transaction/CertificateFactory.ts +0 -154
  144. package/src/Transaction/computeImplicitCoin.ts +0 -36
  145. package/src/Transaction/createTransactionInternals.ts +0 -60
  146. package/src/Transaction/index.ts +0 -5
  147. package/src/Transaction/types.ts +0 -12
  148. package/src/Transaction/withdrawal.ts +0 -17
  149. package/src/TransactionError.ts +0 -17
  150. package/src/index.ts +0 -9
  151. package/src/tsconfig.json +0 -11
  152. package/src/types.ts +0 -56
  153. package/test/.eslintrc.js +0 -7
  154. package/test/BalanceTracker.test.ts +0 -44
  155. package/test/InMemoryTransactionTracker.test.ts +0 -108
  156. package/test/InMemoryUtxoRepository.test.ts +0 -242
  157. package/test/KeyManagement/InMemoryKeyManager.test.ts +0 -39
  158. package/test/SingleAddressWallet.test.ts +0 -87
  159. package/test/Transaction/CertificateFactory.test.ts +0 -89
  160. package/test/Transaction/computeImplicitCoin.test.ts +0 -26
  161. package/test/Transaction/createTransactionInternals.test.ts +0 -84
  162. package/test/Transaction/withdrawal.test.ts +0 -13
  163. package/test/integration/withdrawal.test.ts +0 -108
  164. package/test/mocks/MockTransactionTracker.ts +0 -8
  165. package/test/mocks/MockUtxoRepository.ts +0 -13
  166. package/test/mocks/ProviderStub.ts +0 -151
  167. package/test/mocks/index.ts +0 -4
  168. package/test/mocks/testKeyManager.ts +0 -10
  169. package/test/tsconfig.json +0 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StakeKeyStatus = exports.TransactionDirection = void 0;
4
+ var TransactionDirection;
5
+ (function (TransactionDirection) {
6
+ TransactionDirection["Incoming"] = "Incoming";
7
+ TransactionDirection["Outgoing"] = "Outgoing";
8
+ })(TransactionDirection = exports.TransactionDirection || (exports.TransactionDirection = {}));
9
+ var StakeKeyStatus;
10
+ (function (StakeKeyStatus) {
11
+ StakeKeyStatus["Registering"] = "REGISTERING";
12
+ StakeKeyStatus["Registered"] = "REGISTERED";
13
+ StakeKeyStatus["Unregistering"] = "UNREGISTERING";
14
+ StakeKeyStatus["Unregistered"] = "UNREGISTERED";
15
+ })(StakeKeyStatus = exports.StakeKeyStatus || (exports.StakeKeyStatus = {}));
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":";;;AA6BA,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;AACvB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;AA8CD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;IACzB,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;AAC/B,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
@@ -0,0 +1,19 @@
1
+ import { Milliseconds } from '../types';
2
+ import { Observable, Subject } from 'rxjs';
3
+ import { TrackerSubject } from './TrackerSubject';
4
+ import { retryBackoff } from 'backoff-rxjs';
5
+ export declare type RetryOperator = () => ReturnType<typeof retryBackoff>;
6
+ export interface SourceTrackerProps<T> {
7
+ provider$: Observable<T>;
8
+ pollInterval: Milliseconds;
9
+ }
10
+ export interface ProviderTrackerSubjectInternals {
11
+ externalTrigger$?: Subject<void>;
12
+ interval$?: Observable<unknown>;
13
+ }
14
+ export declare class SyncableIntervalTrackerSubject<T> extends TrackerSubject<T> {
15
+ #private;
16
+ constructor({ provider$, pollInterval }: SourceTrackerProps<T>, { externalTrigger$, interval$ }?: ProviderTrackerSubjectInternals);
17
+ sync(): void;
18
+ }
19
+ //# sourceMappingURL=SyncableIntervalTrackerSubject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncableIntervalTrackerSubject.d.ts","sourceRoot":"","sources":["../../../src/services/util/SyncableIntervalTrackerSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAgE,MAAM,MAAM,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,oBAAY,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAElE,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,+BAA+B;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,8BAA8B,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;;gBAIpE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAClD,EAAE,gBAAgC,EAAE,SAAkC,EAAE,GAAE,+BAAoC;IAiBhH,IAAI;CAGL"}
@@ -0,0 +1,30 @@
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 _SyncableIntervalTrackerSubject_externalTrigger$;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SyncableIntervalTrackerSubject = void 0;
16
+ const rxjs_1 = require("rxjs");
17
+ const TrackerSubject_1 = require("./TrackerSubject");
18
+ class SyncableIntervalTrackerSubject extends TrackerSubject_1.TrackerSubject {
19
+ constructor({ provider$, pollInterval }, { externalTrigger$ = new rxjs_1.Subject(), interval$ = rxjs_1.interval(pollInterval) } = {}) {
20
+ super(rxjs_1.merge(interval$.pipe(rxjs_1.startWith(null), rxjs_1.exhaustMap(() => provider$.pipe(rxjs_1.takeUntil(externalTrigger$)))), externalTrigger$.pipe(rxjs_1.switchMap(() => provider$))));
21
+ _SyncableIntervalTrackerSubject_externalTrigger$.set(this, new rxjs_1.Subject());
22
+ __classPrivateFieldSet(this, _SyncableIntervalTrackerSubject_externalTrigger$, externalTrigger$, "f");
23
+ }
24
+ sync() {
25
+ __classPrivateFieldGet(this, _SyncableIntervalTrackerSubject_externalTrigger$, "f").next();
26
+ }
27
+ }
28
+ exports.SyncableIntervalTrackerSubject = SyncableIntervalTrackerSubject;
29
+ _SyncableIntervalTrackerSubject_externalTrigger$ = new WeakMap();
30
+ //# sourceMappingURL=SyncableIntervalTrackerSubject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncableIntervalTrackerSubject.js","sourceRoot":"","sources":["../../../src/services/util/SyncableIntervalTrackerSubject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+BAAyG;AACzG,qDAAkD;AAelD,MAAa,8BAAkC,SAAQ,+BAAiB;IAGtE,YACE,EAAE,SAAS,EAAE,YAAY,EAAyB,EAClD,EAAE,gBAAgB,GAAG,IAAI,cAAO,EAAE,EAAE,SAAS,GAAG,eAAQ,CAAC,YAAY,CAAC,KAAsC,EAAE;QAE9G,KAAK,CACH,YAAK,CAEH,SAAS,CAAC,IAAI,CACZ,gBAAS,CAAC,IAAI,CAAC,EAEf,iBAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC9D,EAED,gBAAgB,CAAC,IAAI,CAAC,gBAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAClD,CACF,CAAC;QAjBJ,2DAAoB,IAAI,cAAO,EAAQ,EAAC;QAkBtC,uBAAA,IAAI,oDAAqB,gBAAgB,MAAA,CAAC;IAC5C,CAAC;IAED,IAAI;QACF,uBAAA,IAAI,wDAAkB,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CACF;AAzBD,wEAyBC"}
@@ -0,0 +1,14 @@
1
+ import { Observable, ReplaySubject } from 'rxjs';
2
+ export interface BehaviorObservable<T> extends Observable<T> {
3
+ get value(): T | null;
4
+ }
5
+ export declare class TrackerSubject<T> extends ReplaySubject<T> implements BehaviorObservable<T> {
6
+ #private;
7
+ get value(): T | null;
8
+ constructor(source$: Observable<T>);
9
+ next(value: T): void;
10
+ complete(): void;
11
+ error(err: unknown): void;
12
+ unsubscribe(): void;
13
+ }
14
+ //# sourceMappingURL=TrackerSubject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackerSubject.d.ts","sourceRoot":"","sources":["../../../src/services/util/TrackerSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAgB,MAAM,MAAM,CAAC;AAE/D,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACvB;AAED,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAAC,CAAC,CAAC;;IAGtF,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAEpB;gBACW,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAIlC,IAAI,CAAC,KAAK,EAAE,CAAC;IAIb,QAAQ;IAIR,KAAK,CAAC,GAAG,EAAE,OAAO;IAIlB,WAAW;CAIZ"}
@@ -0,0 +1,46 @@
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 _TrackerSubject_sourceSubscription$, _TrackerSubject_value;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TrackerSubject = void 0;
16
+ const rxjs_1 = require("rxjs");
17
+ class TrackerSubject extends rxjs_1.ReplaySubject {
18
+ constructor(source$) {
19
+ super(1);
20
+ _TrackerSubject_sourceSubscription$.set(this, void 0);
21
+ _TrackerSubject_value.set(this, null);
22
+ __classPrivateFieldSet(this, _TrackerSubject_sourceSubscription$, source$.subscribe(this), "f");
23
+ }
24
+ get value() {
25
+ return __classPrivateFieldGet(this, _TrackerSubject_value, "f");
26
+ }
27
+ next(value) {
28
+ __classPrivateFieldSet(this, _TrackerSubject_value, value, "f");
29
+ super.next(value);
30
+ }
31
+ complete() {
32
+ __classPrivateFieldGet(this, _TrackerSubject_sourceSubscription$, "f").unsubscribe();
33
+ super.complete();
34
+ }
35
+ error(err) {
36
+ __classPrivateFieldGet(this, _TrackerSubject_sourceSubscription$, "f").unsubscribe();
37
+ super.error(err);
38
+ }
39
+ unsubscribe() {
40
+ __classPrivateFieldGet(this, _TrackerSubject_sourceSubscription$, "f").unsubscribe();
41
+ super.unsubscribe();
42
+ }
43
+ }
44
+ exports.TrackerSubject = TrackerSubject;
45
+ _TrackerSubject_sourceSubscription$ = new WeakMap(), _TrackerSubject_value = new WeakMap();
46
+ //# sourceMappingURL=TrackerSubject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackerSubject.js","sourceRoot":"","sources":["../../../src/services/util/TrackerSubject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA+D;AAM/D,MAAa,cAAkB,SAAQ,oBAAgB;IAMrD,YAAY,OAAsB;QAChC,KAAK,CAAC,CAAC,CAAC,CAAC;QANX,sDAAmC;QACnC,gCAAmB,IAAI,EAAC;QAMtB,uBAAA,IAAI,uCAAwB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAA,CAAC;IACtD,CAAC;IAND,IAAI,KAAK;QACP,OAAO,uBAAA,IAAI,6BAAO,CAAC;IACrB,CAAC;IAKD,IAAI,CAAC,KAAQ;QACX,uBAAA,IAAI,yBAAU,KAAK,MAAA,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,QAAQ;QACN,uBAAA,IAAI,2CAAqB,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,GAAY;QAChB,uBAAA,IAAI,2CAAqB,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,WAAW;QACT,uBAAA,IAAI,2CAAqB,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;CACF;AA1BD,wCA0BC"}
@@ -0,0 +1,4 @@
1
+ import { Observable } from 'rxjs';
2
+ import { RetryBackoffConfig } from 'backoff-rxjs';
3
+ export declare const coldObservableProvider: <T>(provider: () => Promise<T>, retryBackoffConfig: RetryBackoffConfig, trigger$?: Observable<unknown>, equals?: (t1: T, t2: T) => boolean) => Observable<T>;
4
+ //# sourceMappingURL=coldObservableProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coldObservableProvider.d.ts","sourceRoot":"","sources":["../../../src/services/util/coldObservableProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA6C,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAGhE,eAAO,MAAM,sBAAsB,sDAEb,kBAAkB,aAC5B,WAAW,OAAO,CAAC,6BACH,OAAO,kBAU/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coldObservableProvider = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const backoff_rxjs_1 = require("backoff-rxjs");
6
+ const equals_1 = require("./equals");
7
+ const coldObservableProvider = (provider, retryBackoffConfig, trigger$ = rxjs_1.of(true), equals = equals_1.strictEquals) => new rxjs_1.Observable((subscriber) => {
8
+ const sub = trigger$
9
+ .pipe(rxjs_1.switchMap(() => rxjs_1.from(provider()).pipe(backoff_rxjs_1.retryBackoff(retryBackoffConfig))), rxjs_1.distinctUntilChanged(equals))
10
+ .subscribe(subscriber);
11
+ return () => sub.unsubscribe();
12
+ });
13
+ exports.coldObservableProvider = coldObservableProvider;
14
+ //# sourceMappingURL=coldObservableProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coldObservableProvider.js","sourceRoot":"","sources":["../../../src/services/util/coldObservableProvider.ts"],"names":[],"mappings":";;;AAAA,+BAA6E;AAC7E,+CAAgE;AAChE,qCAAwC;AAEjC,MAAM,sBAAsB,GAAG,CACpC,QAA0B,EAC1B,kBAAsC,EACtC,WAAgC,SAAE,CAAC,IAAI,CAAC,EACxC,SAAoC,qBAAY,EAChD,EAAE,CACF,IAAI,iBAAU,CAAI,CAAC,UAAU,EAAE,EAAE;IAC/B,MAAM,GAAG,GAAG,QAAQ;SACjB,IAAI,CACH,gBAAS,CAAC,GAAG,EAAE,CAAC,WAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,2BAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACxE,2BAAoB,CAAC,MAAM,CAAC,CAC7B;SACA,SAAS,CAAC,UAAU,CAAC,CAAC;IACzB,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAdQ,QAAA,sBAAsB,0BAc9B"}
@@ -0,0 +1,9 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ export declare const strictEquals: <T>(a: T, b: T) => boolean;
3
+ export declare const deepEquals: <T>(a: T, b: T) => boolean;
4
+ export declare const arrayEquals: <T>(arrayA: T[], arrayB: T[], itemEquals: (a: T, b: T) => boolean) => boolean;
5
+ export declare const shallowArrayEquals: <T>(a: T[], b: T[]) => boolean;
6
+ export declare const txEquals: (a: Cardano.TxAlonzo, b: Cardano.TxAlonzo) => boolean;
7
+ export declare const transactionsEquals: (a: Cardano.TxAlonzo[], b: Cardano.TxAlonzo[]) => boolean;
8
+ export declare const utxoEquals: (a: Cardano.Utxo[], b: Cardano.Utxo[]) => boolean;
9
+ //# sourceMappingURL=equals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../src/services/util/equals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,eAAO,MAAM,YAAY,4BAA6B,CAAC;AAEvD,eAAO,MAAM,UAAU,4BAAmC,CAAC;AAE3D,eAAO,MAAM,WAAW,4DAA6D,OAAO,YACE,CAAC;AAE/F,eAAO,MAAM,kBAAkB,gCAAyD,CAAC;AAEzF,eAAO,MAAM,QAAQ,MAAO,QAAQ,QAAQ,KAAK,QAAQ,QAAQ,YAAkB,CAAC;AAEpF,eAAO,MAAM,kBAAkB,MAAO,QAAQ,QAAQ,EAAE,KAAK,QAAQ,QAAQ,EAAE,YAAgC,CAAC;AAEhH,eAAO,MAAM,UAAU,MAAO,QAAQ,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,YACoC,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.utxoEquals = exports.transactionsEquals = exports.txEquals = exports.shallowArrayEquals = exports.arrayEquals = exports.deepEquals = exports.strictEquals = void 0;
4
+ const lodash_es_1 = require("lodash-es");
5
+ const strictEquals = (a, b) => a === b;
6
+ exports.strictEquals = strictEquals;
7
+ const deepEquals = (a, b) => lodash_es_1.isEqual(a, b);
8
+ exports.deepEquals = deepEquals;
9
+ const arrayEquals = (arrayA, arrayB, itemEquals) => arrayA.length === arrayB.length && arrayA.every((a) => arrayB.some((b) => itemEquals(a, b)));
10
+ exports.arrayEquals = arrayEquals;
11
+ const shallowArrayEquals = (a, b) => exports.arrayEquals(a, b, exports.strictEquals);
12
+ exports.shallowArrayEquals = shallowArrayEquals;
13
+ const txEquals = (a, b) => a.id === b.id;
14
+ exports.txEquals = txEquals;
15
+ const transactionsEquals = (a, b) => exports.arrayEquals(a, b, exports.txEquals);
16
+ exports.transactionsEquals = transactionsEquals;
17
+ const utxoEquals = (a, b) => exports.arrayEquals(a, b, ([aTxIn], [bTxIn]) => aTxIn.txId === bTxIn.txId && aTxIn.index === bTxIn.index);
18
+ exports.utxoEquals = utxoEquals;
19
+ //# sourceMappingURL=equals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equals.js","sourceRoot":"","sources":["../../../src/services/util/equals.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AAE7B,MAAM,YAAY,GAAG,CAAI,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAA1C,QAAA,YAAY,gBAA8B;AAEhD,MAAM,UAAU,GAAG,CAAI,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,mBAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAA9C,QAAA,UAAU,cAAoC;AAEpD,MAAM,WAAW,GAAG,CAAI,MAAW,EAAE,MAAW,EAAE,UAAmC,EAAE,EAAE,CAC9F,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AADlF,QAAA,WAAW,eACuE;AAExF,MAAM,kBAAkB,GAAG,CAAI,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,mBAAW,CAAC,CAAC,EAAE,CAAC,EAAE,oBAAY,CAAC,CAAC;AAA5E,QAAA,kBAAkB,sBAA0D;AAElF,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AAAvE,QAAA,QAAQ,YAA+D;AAE7E,MAAM,kBAAkB,GAAG,CAAC,CAAqB,EAAE,CAAqB,EAAE,EAAE,CAAC,mBAAW,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAQ,CAAC,CAAC;AAAnG,QAAA,kBAAkB,sBAAiF;AAEzG,MAAM,UAAU,GAAG,CAAC,CAAiB,EAAE,CAAiB,EAAE,EAAE,CACjE,mBAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;AADvF,QAAA,UAAU,cAC6E"}
@@ -0,0 +1,6 @@
1
+ export * from './TrackerSubject';
2
+ export * from './SyncableIntervalTrackerSubject';
3
+ export * from './equals';
4
+ export * from './trigger';
5
+ export * from './coldObservableProvider';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC"}
@@ -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 sharedDistinctBlock: (tip$: Observable<Cardano.Tip>) => Observable<number>;
4
+ export declare const sharedDistinctEpoch: (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,EAAoC,MAAM,MAAM,CAAC;AAEpE,eAAO,MAAM,mBAAmB,SAAU,WAAW,QAAQ,GAAG,CAAC,uBAK9D,CAAC;AAEJ,eAAO,MAAM,mBAAmB,iBAAkB,WAAW,WAAW,CAAC,uBAKtE,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sharedDistinctEpoch = exports.sharedDistinctBlock = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const sharedDistinctBlock = (tip$) => tip$.pipe(rxjs_1.map(({ blockNo }) => blockNo), rxjs_1.distinctUntilChanged(), rxjs_1.share());
6
+ exports.sharedDistinctBlock = sharedDistinctBlock;
7
+ const sharedDistinctEpoch = (networkInfo$) => networkInfo$.pipe(rxjs_1.map(({ currentEpoch: { number } }) => number), rxjs_1.distinctUntilChanged(), rxjs_1.share());
8
+ exports.sharedDistinctEpoch = sharedDistinctEpoch;
9
+ //# sourceMappingURL=trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/services/util/trigger.ts"],"names":[],"mappings":";;;AACA,+BAAoE;AAE7D,MAAM,mBAAmB,GAAG,CAAC,IAA6B,EAAE,EAAE,CACnE,IAAI,CAAC,IAAI,CACP,UAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAC7B,2BAAoB,EAAE,EACtB,YAAK,EAAE,CACR,CAAC;AALS,QAAA,mBAAmB,uBAK5B;AAEG,MAAM,mBAAmB,GAAG,CAAC,YAAqC,EAAE,EAAE,CAC3E,YAAY,CAAC,IAAI,CACf,UAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAC7C,2BAAoB,EAAE,EACtB,YAAK,EAAE,CACR,CAAC;AALS,QAAA,mBAAmB,uBAK5B"}
@@ -0,0 +1,35 @@
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 { TxInternals } from './Transaction';
5
+ export declare type InitializeTxProps = {
6
+ outputs?: Set<Cardano.TxOut>;
7
+ certificates?: Cardano.Certificate[];
8
+ withdrawals?: Cardano.Withdrawal[];
9
+ options?: {
10
+ validityInterval?: Cardano.ValidityInterval;
11
+ };
12
+ };
13
+ export interface FinalizeTxProps {
14
+ readonly body: Cardano.TxBodyAlonzo;
15
+ }
16
+ export declare type Assets = Partial<Record<Cardano.AssetId, Cardano.Asset>>;
17
+ export interface Wallet {
18
+ name: string;
19
+ readonly balance: TransactionalTracker<Balance>;
20
+ readonly delegation: DelegationTracker;
21
+ readonly utxo: TransactionalTracker<Cardano.Utxo[]>;
22
+ readonly transactions: TransactionsTracker;
23
+ readonly tip$: BehaviorObservable<Cardano.Tip>;
24
+ readonly genesisParameters$: BehaviorObservable<Cardano.CompactGenesis>;
25
+ readonly networkInfo$: BehaviorObservable<NetworkInfo>;
26
+ readonly protocolParameters$: BehaviorObservable<ProtocolParametersRequiredByWallet>;
27
+ readonly addresses$: BehaviorObservable<GroupedAddress[]>;
28
+ readonly assets$: BehaviorObservable<Assets>;
29
+ initializeTx(props: InitializeTxProps): Promise<TxInternals>;
30
+ finalizeTx(props: TxInternals): Promise<Cardano.NewTxAlonzo>;
31
+ submitTx(tx: Cardano.NewTxAlonzo): Promise<void>;
32
+ sync(): void;
33
+ shutdown(): void;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,oBAAY,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE;QACR,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC;CACrC;AAED,oBAAY,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAErE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxE,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IACrF,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,IAAI,IAAI,CAAC;CAClB"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/wallet",
3
- "version": "0.1.4",
3
+ "version": "0.1.8",
4
4
  "description": "Wallet modules",
5
5
  "engines": {
6
6
  "node": "^14"
@@ -19,23 +19,32 @@
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\"",
23
+ "prepack": "yarn build",
22
24
  "test": "jest -c ./jest.config.js",
25
+ "test:e2e": "jest -c ./e2e.jest.config.js",
23
26
  "test:debug": "DEBUG=true yarn test"
24
27
  },
25
28
  "devDependencies": {
26
- "@cardano-sdk/util-dev": "0.1.3",
29
+ "@cardano-sdk/util-dev": " 0.1.8",
27
30
  "shx": "^0.3.3"
28
31
  },
29
32
  "dependencies": {
30
- "@cardano-ogmios/schema": "4.1.0",
31
- "@cardano-sdk/cip2": "0.1.4",
32
- "@cardano-sdk/core": "0.1.4",
33
- "buffer": "^6.0.3",
33
+ "@cardano-sdk/cip2": " 0.1.8",
34
+ "@cardano-sdk/core": " 0.1.8",
35
+ "backoff-rxjs": "^6.5.7",
36
+ "bip39": "^3.0.4",
34
37
  "delay": "^5.0.0",
35
38
  "emittery": "^0.10.0",
36
- "isomorphic-bip39": "^3.0.5",
37
39
  "lodash-es": "^4.17.21",
40
+ "rxjs": "^7.4.0",
38
41
  "ts-custom-error": "^3.2.0",
39
42
  "ts-log": "^2.2.3"
40
- }
43
+ },
44
+ "files": [
45
+ "dist/*",
46
+ "!dist/tsconfig.tsbuildinfo",
47
+ "LICENSE",
48
+ "NOTICE"
49
+ ]
41
50
  }
package/jest.config.js DELETED
@@ -1 +0,0 @@
1
- module.exports = require('../../test/jest.config');
package/src/Address.ts DELETED
@@ -1,12 +0,0 @@
1
- /** internal = change address & external = receipt address */
2
- export enum AddressType {
3
- internal = 'Internal',
4
- external = 'External'
5
- }
6
-
7
- export interface Address {
8
- address: string;
9
- index: number;
10
- type: AddressType;
11
- accountIndex: number;
12
- }
@@ -1,62 +0,0 @@
1
- import { Utxo } from '@cardano-ogmios/schema';
2
- import { Ogmios } from '@cardano-sdk/core';
3
- import Emittery from 'emittery';
4
- import { dummyLogger } from 'ts-log';
5
- import { UtxoRepository, UtxoRepositoryEvent, UtxoRepositoryFields } from './types';
6
-
7
- export interface Balance extends Ogmios.Value {
8
- rewards: Ogmios.Lovelace;
9
- }
10
-
11
- export interface Balances {
12
- total: Balance;
13
- available: Balance;
14
- }
15
-
16
- export enum BalanceTrackerEvent {
17
- Changed = 'changed'
18
- }
19
-
20
- export interface BalanceTrackerEvents {
21
- changed: Balances;
22
- }
23
-
24
- export class BalanceTracker extends Emittery<BalanceTrackerEvents> implements Balances {
25
- total!: Balance;
26
- available!: Balance;
27
-
28
- constructor(utxoRepository: UtxoRepository, logger = dummyLogger) {
29
- super();
30
- this.#updateBalances(utxoRepository);
31
- utxoRepository.on(UtxoRepositoryEvent.Changed, (fields) => {
32
- this.#updateBalances(fields);
33
- this.emit(BalanceTrackerEvent.Changed, {
34
- available: this.available,
35
- total: this.total
36
- }).catch(logger.error);
37
- });
38
- }
39
-
40
- #updateBalances(utxoRepository: UtxoRepositoryFields) {
41
- this.total = {
42
- ...this.#getBalance(utxoRepository.allUtxos),
43
- rewards: utxoRepository.allRewards || 0n
44
- };
45
- this.available = {
46
- ...this.#getBalance(utxoRepository.availableUtxos),
47
- rewards: utxoRepository.availableRewards || 0n
48
- };
49
- }
50
-
51
- #getBalance(utxo: Utxo): Ogmios.Value {
52
- return Ogmios.util.coalesceValueQuantities(
53
- utxo.map(([_, txOut]) => {
54
- const { coins, assets } = txOut.value;
55
- return {
56
- coins: BigInt(coins),
57
- assets
58
- };
59
- })
60
- );
61
- }
62
- }
@@ -1,87 +0,0 @@
1
- import { TransactionTracker, TransactionTrackerEvents } from './types';
2
- import Emittery from 'emittery';
3
- import { Hash16, Slot, Tip } from '@cardano-ogmios/schema';
4
- import { CardanoProvider, ProviderError, CardanoSerializationLib, CSL, ProviderFailure } from '@cardano-sdk/core';
5
- import { TransactionError, TransactionFailure } from './TransactionError';
6
- import { dummyLogger, Logger } from 'ts-log';
7
- import delay from 'delay';
8
- import { TransactionTrackerEvent } from '.';
9
-
10
- export type Milliseconds = number;
11
-
12
- export interface InMemoryTransactionTrackerProps {
13
- provider: CardanoProvider;
14
- csl: CardanoSerializationLib;
15
- logger?: Logger;
16
- pollInterval?: Milliseconds;
17
- }
18
-
19
- export class InMemoryTransactionTracker extends Emittery<TransactionTrackerEvents> implements TransactionTracker {
20
- readonly #provider: CardanoProvider;
21
- readonly #pendingTransactions = new Map<string, Promise<void>>();
22
- readonly #csl: CardanoSerializationLib;
23
- readonly #logger: Logger;
24
- readonly #pollInterval: number;
25
-
26
- constructor({ provider, csl, logger = dummyLogger, pollInterval = 2000 }: InMemoryTransactionTrackerProps) {
27
- super();
28
- this.#provider = provider;
29
- this.#csl = csl;
30
- this.#logger = logger;
31
- this.#pollInterval = pollInterval;
32
- }
33
-
34
- async track(transaction: CSL.Transaction, submitted: Promise<void> = Promise.resolve()): Promise<void> {
35
- await submitted;
36
- const body = transaction.body();
37
- const hash = Buffer.from(this.#csl.hash_transaction(body).to_bytes()).toString('hex');
38
- this.#logger.debug('InMemoryTransactionTracker.trackTransaction', hash);
39
-
40
- if (this.#pendingTransactions.has(hash)) {
41
- return this.#pendingTransactions.get(hash)!;
42
- }
43
-
44
- const invalidHereafter = body.ttl();
45
- if (!invalidHereafter) {
46
- throw new TransactionError(TransactionFailure.CannotTrack, undefined, 'no TTL');
47
- }
48
-
49
- const promise = this.#checkTransactionViaProvider(hash, invalidHereafter);
50
- this.#pendingTransactions.set(hash, promise);
51
- this.emit(TransactionTrackerEvent.NewTransaction, { transaction, confirmed: promise }).catch(this.#logger.error);
52
- void promise.catch(() => void 0).then(() => this.#pendingTransactions.delete(hash));
53
-
54
- return promise;
55
- }
56
-
57
- async #checkTransactionViaProvider(hash: Hash16, invalidHereafter: Slot): Promise<void> {
58
- await delay(this.#pollInterval);
59
- try {
60
- const tx = await this.#provider.queryTransactionsByHashes([hash]);
61
- if (tx.length > 0) return; // done
62
- return this.#onTransactionNotFound(hash, invalidHereafter);
63
- } catch (error: unknown) {
64
- if (error instanceof ProviderError && error.reason === ProviderFailure.NotFound) {
65
- return this.#onTransactionNotFound(hash, invalidHereafter);
66
- }
67
- throw new TransactionError(TransactionFailure.CannotTrack, error);
68
- }
69
- }
70
-
71
- async #onTransactionNotFound(hash: string, invalidHereafter: number) {
72
- let tip: Tip | undefined;
73
- try {
74
- tip = await this.#provider.ledgerTip();
75
- } catch (error: unknown) {
76
- throw new TransactionError(
77
- TransactionFailure.CannotTrack,
78
- error,
79
- "can't query tip to check for transaction timeout"
80
- );
81
- }
82
- if (tip && tip.slot > invalidHereafter) {
83
- throw new TransactionError(TransactionFailure.Timeout);
84
- }
85
- return this.#checkTransactionViaProvider(hash, invalidHereafter);
86
- }
87
- }