@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.
- package/README.md +8 -0
- package/dist/KeyManagement/InMemoryKeyAgent.d.ts +30 -0
- package/dist/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
- package/dist/KeyManagement/InMemoryKeyAgent.js +132 -0
- package/dist/KeyManagement/InMemoryKeyAgent.js.map +1 -0
- package/dist/KeyManagement/KeyAgentBase.d.ts +16 -0
- package/dist/KeyManagement/KeyAgentBase.d.ts.map +1 -0
- package/dist/KeyManagement/KeyAgentBase.js +49 -0
- package/dist/KeyManagement/KeyAgentBase.js.map +1 -0
- package/dist/KeyManagement/cachedGetPassword.d.ts +4 -0
- package/dist/KeyManagement/cachedGetPassword.d.ts.map +1 -0
- package/dist/KeyManagement/cachedGetPassword.js +18 -0
- package/dist/KeyManagement/cachedGetPassword.js.map +1 -0
- package/dist/KeyManagement/emip3.d.ts +5 -0
- package/dist/KeyManagement/emip3.d.ts.map +1 -0
- package/dist/KeyManagement/emip3.js +48 -0
- package/dist/KeyManagement/emip3.js.map +1 -0
- package/dist/KeyManagement/errors/AuthenticationError.d.ts +6 -0
- package/dist/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
- package/dist/KeyManagement/errors/AuthenticationError.js +16 -0
- package/dist/KeyManagement/errors/AuthenticationError.js.map +1 -0
- package/dist/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
- package/dist/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
- package/dist/KeyManagement/errors/InvalidMnemonicError.js +13 -0
- package/dist/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
- package/dist/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
- package/dist/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
- package/dist/KeyManagement/errors/InvalidSerializableDataError .js +15 -0
- package/dist/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
- package/dist/KeyManagement/errors/index.d.ts +3 -1
- package/dist/KeyManagement/errors/index.d.ts.map +1 -1
- package/dist/KeyManagement/errors/index.js +13 -3
- package/dist/KeyManagement/errors/index.js.map +1 -1
- package/dist/KeyManagement/index.d.ts +6 -2
- package/dist/KeyManagement/index.d.ts.map +1 -1
- package/dist/KeyManagement/index.js +6 -2
- package/dist/KeyManagement/index.js.map +1 -1
- package/dist/KeyManagement/restoreKeyAgent.d.ts +7 -0
- package/dist/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
- package/dist/KeyManagement/restoreKeyAgent.js +30 -0
- package/dist/KeyManagement/restoreKeyAgent.js.map +1 -0
- package/dist/KeyManagement/types.d.ts +57 -12
- package/dist/KeyManagement/types.d.ts.map +1 -1
- package/dist/KeyManagement/types.js +19 -0
- package/dist/KeyManagement/types.js.map +1 -1
- package/dist/KeyManagement/util.d.ts +4 -0
- package/dist/KeyManagement/util.d.ts.map +1 -1
- package/dist/KeyManagement/util.js +8 -2
- package/dist/KeyManagement/util.js.map +1 -1
- package/dist/SingleAddressWallet.d.ts +38 -23
- package/dist/SingleAddressWallet.d.ts.map +1 -1
- package/dist/SingleAddressWallet.js +178 -52
- package/dist/SingleAddressWallet.js.map +1 -1
- package/dist/Transaction/computeImplicitCoin.d.ts +2 -2
- package/dist/Transaction/computeImplicitCoin.d.ts.map +1 -1
- package/dist/Transaction/computeImplicitCoin.js +5 -5
- package/dist/Transaction/computeImplicitCoin.js.map +1 -1
- package/dist/Transaction/createTransactionInternals.d.ts +7 -8
- package/dist/Transaction/createTransactionInternals.d.ts.map +1 -1
- package/dist/Transaction/createTransactionInternals.js +16 -30
- package/dist/Transaction/createTransactionInternals.js.map +1 -1
- package/dist/Transaction/ensureValidityInterval.d.ts +3 -0
- package/dist/Transaction/ensureValidityInterval.d.ts.map +1 -0
- package/dist/Transaction/ensureValidityInterval.js +6 -0
- package/dist/Transaction/ensureValidityInterval.js.map +1 -0
- package/dist/Transaction/index.d.ts +1 -3
- package/dist/Transaction/index.d.ts.map +1 -1
- package/dist/Transaction/index.js +1 -3
- package/dist/Transaction/index.js.map +1 -1
- package/dist/index.d.ts +1 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -6
- package/dist/index.js.map +1 -1
- package/dist/services/AssetsTracker.d.ts +17 -0
- package/dist/services/AssetsTracker.d.ts.map +1 -0
- package/dist/services/AssetsTracker.js +10 -0
- package/dist/services/AssetsTracker.js.map +1 -0
- package/dist/services/BalanceTracker.d.ts +5 -0
- package/dist/services/BalanceTracker.d.ts.map +1 -0
- package/dist/services/BalanceTracker.js +43 -0
- package/dist/services/BalanceTracker.js.map +1 -0
- package/dist/services/DelegationTracker/DelegationTracker.d.ts +26 -0
- package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
- package/dist/services/DelegationTracker/DelegationTracker.js +39 -0
- package/dist/services/DelegationTracker/DelegationTracker.js.map +1 -0
- package/dist/services/DelegationTracker/RewardAccounts.d.ts +36 -0
- package/dist/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
- package/dist/services/DelegationTracker/RewardAccounts.js +86 -0
- package/dist/services/DelegationTracker/RewardAccounts.js.map +1 -0
- package/dist/services/DelegationTracker/RewardsHistory.d.ts +13 -0
- package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
- package/dist/services/DelegationTracker/RewardsHistory.js +27 -0
- package/dist/services/DelegationTracker/RewardsHistory.js.map +1 -0
- package/dist/services/DelegationTracker/index.d.ts +5 -0
- package/dist/services/DelegationTracker/index.d.ts.map +1 -0
- package/dist/services/DelegationTracker/index.js +17 -0
- package/dist/services/DelegationTracker/index.js.map +1 -0
- package/dist/services/DelegationTracker/transactionCertificates.d.ts +9 -0
- package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
- package/dist/services/DelegationTracker/transactionCertificates.js +33 -0
- package/dist/services/DelegationTracker/transactionCertificates.js.map +1 -0
- package/dist/services/DelegationTracker/types.d.ts +6 -0
- package/dist/services/DelegationTracker/types.d.ts.map +1 -0
- package/dist/{Transaction → services/DelegationTracker}/types.js +0 -0
- package/dist/services/DelegationTracker/types.js.map +1 -0
- package/dist/services/TransactionsTracker.d.ts +22 -0
- package/dist/services/TransactionsTracker.d.ts.map +1 -0
- package/dist/services/TransactionsTracker.js +74 -0
- package/dist/services/TransactionsTracker.js.map +1 -0
- package/dist/services/UtxoTracker.d.ts +18 -0
- package/dist/services/UtxoTracker.d.ts.map +1 -0
- package/dist/services/UtxoTracker.js +20 -0
- package/dist/services/UtxoTracker.js.map +1 -0
- package/dist/services/index.d.ts +8 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +20 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/types.d.ts +88 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/types.js +24 -0
- package/dist/services/types.js.map +1 -0
- package/dist/services/util/SyncableIntervalTrackerSubject.d.ts +19 -0
- package/dist/services/util/SyncableIntervalTrackerSubject.d.ts.map +1 -0
- package/dist/services/util/SyncableIntervalTrackerSubject.js +30 -0
- package/dist/services/util/SyncableIntervalTrackerSubject.js.map +1 -0
- package/dist/services/util/TrackerSubject.d.ts +14 -0
- package/dist/services/util/TrackerSubject.d.ts.map +1 -0
- package/dist/services/util/TrackerSubject.js +46 -0
- package/dist/services/util/TrackerSubject.js.map +1 -0
- package/dist/services/util/coldObservableProvider.d.ts +4 -0
- package/dist/services/util/coldObservableProvider.d.ts.map +1 -0
- package/dist/services/util/coldObservableProvider.js +14 -0
- package/dist/services/util/coldObservableProvider.js.map +1 -0
- package/dist/services/util/equals.d.ts +9 -0
- package/dist/services/util/equals.d.ts.map +1 -0
- package/dist/services/util/equals.js +19 -0
- package/dist/services/util/equals.js.map +1 -0
- package/dist/services/util/index.d.ts +6 -0
- package/dist/services/util/index.d.ts.map +1 -0
- package/dist/services/util/index.js +18 -0
- package/dist/services/util/index.js.map +1 -0
- package/dist/services/util/trigger.d.ts +5 -0
- package/dist/services/util/trigger.d.ts.map +1 -0
- package/dist/services/util/trigger.js +9 -0
- package/dist/services/util/trigger.js.map +1 -0
- package/dist/types.d.ts +47 -29
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -10
- package/dist/types.js.map +1 -1
- package/package.json +13 -5
- package/dist/Address.d.ts +0 -11
- package/dist/Address.d.ts.map +0 -1
- package/dist/Address.js +0 -9
- package/dist/Address.js.map +0 -1
- package/dist/BalanceTracker.d.ts +0 -23
- package/dist/BalanceTracker.d.ts.map +0 -1
- package/dist/BalanceTracker.js +0 -48
- package/dist/BalanceTracker.js.map +0 -1
- package/dist/InMemoryTransactionTracker.d.ts +0 -16
- package/dist/InMemoryTransactionTracker.d.ts.map +0 -1
- package/dist/InMemoryTransactionTracker.js +0 -84
- package/dist/InMemoryTransactionTracker.js.map +0 -1
- package/dist/InMemoryUtxoRepository.d.ts +0 -25
- package/dist/InMemoryUtxoRepository.d.ts.map +0 -1
- package/dist/InMemoryUtxoRepository.js +0 -154
- package/dist/InMemoryUtxoRepository.js.map +0 -1
- package/dist/KeyManagement/InMemoryKeyManager.d.ts +0 -9
- package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +0 -1
- package/dist/KeyManagement/InMemoryKeyManager.js +0 -68
- package/dist/KeyManagement/InMemoryKeyManager.js.map +0 -1
- package/dist/KeyManagement/errors/InvalidMnemonic.d.ts +0 -5
- package/dist/KeyManagement/errors/InvalidMnemonic.d.ts.map +0 -1
- package/dist/KeyManagement/errors/InvalidMnemonic.js +0 -13
- package/dist/KeyManagement/errors/InvalidMnemonic.js.map +0 -1
- package/dist/Transaction/CertificateFactory.d.ts +0 -50
- package/dist/Transaction/CertificateFactory.d.ts.map +0 -1
- package/dist/Transaction/CertificateFactory.js +0 -72
- package/dist/Transaction/CertificateFactory.js.map +0 -1
- package/dist/Transaction/types.d.ts +0 -11
- package/dist/Transaction/types.d.ts.map +0 -1
- package/dist/Transaction/types.js.map +0 -1
- package/dist/Transaction/withdrawal.d.ts +0 -8
- package/dist/Transaction/withdrawal.d.ts.map +0 -1
- package/dist/Transaction/withdrawal.js +0 -10
- package/dist/Transaction/withdrawal.js.map +0 -1
- package/dist/TransactionError.d.ts +0 -15
- package/dist/TransactionError.d.ts.map +0 -1
- package/dist/TransactionError.js +0 -23
- 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 {
|
|
2
|
-
import { Cardano,
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
21
|
-
|
|
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
|
|
29
|
-
|
|
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
|
|
32
|
-
|
|
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
|
|
35
|
-
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,
|
|
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.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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":";;;
|
|
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.
|
|
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.
|
|
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.
|
|
32
|
-
"@cardano-sdk/core": "0.
|
|
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
|
-
"
|
|
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
package/dist/Address.d.ts.map
DELETED
|
@@ -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
|
package/dist/Address.js.map
DELETED
|
@@ -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"}
|
package/dist/BalanceTracker.d.ts
DELETED
|
@@ -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"}
|
package/dist/BalanceTracker.js
DELETED
|
@@ -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"}
|