@cardano-sdk/web-extension 0.17.1 → 0.19.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 (101) hide show
  1. package/dist/cjs/cip30/exposeAuthenticatorApi.d.ts.map +1 -1
  2. package/dist/cjs/cip30/exposeAuthenticatorApi.js +9 -4
  3. package/dist/cjs/cip30/exposeAuthenticatorApi.js.map +1 -1
  4. package/dist/cjs/cip30/exposeWalletApi.d.ts +2 -2
  5. package/dist/cjs/cip30/exposeWalletApi.d.ts.map +1 -1
  6. package/dist/cjs/cip30/exposeWalletApi.js +10 -3
  7. package/dist/cjs/cip30/exposeWalletApi.js.map +1 -1
  8. package/dist/cjs/cip30/initializeBackgroundScript.d.ts +2 -2
  9. package/dist/cjs/cip30/initializeBackgroundScript.d.ts.map +1 -1
  10. package/dist/cjs/cip30/util.d.ts +2 -0
  11. package/dist/cjs/cip30/util.d.ts.map +1 -1
  12. package/dist/cjs/cip30/util.js +39 -1
  13. package/dist/cjs/cip30/util.js.map +1 -1
  14. package/dist/cjs/messaging/util.d.ts +0 -2
  15. package/dist/cjs/messaging/util.d.ts.map +1 -1
  16. package/dist/cjs/messaging/util.js +1 -11
  17. package/dist/cjs/messaging/util.js.map +1 -1
  18. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  19. package/dist/cjs/walletManager/SignerManager/KeyAgentFactory.d.ts +10 -0
  20. package/dist/cjs/walletManager/SignerManager/KeyAgentFactory.d.ts.map +1 -0
  21. package/dist/cjs/walletManager/SignerManager/KeyAgentFactory.js +13 -0
  22. package/dist/cjs/walletManager/SignerManager/KeyAgentFactory.js.map +1 -0
  23. package/dist/cjs/walletManager/SignerManager/SignerManager.d.ts +21 -0
  24. package/dist/cjs/walletManager/SignerManager/SignerManager.d.ts.map +1 -0
  25. package/dist/cjs/walletManager/SignerManager/SignerManager.js +124 -0
  26. package/dist/cjs/walletManager/SignerManager/SignerManager.js.map +1 -0
  27. package/dist/cjs/walletManager/SignerManager/index.d.ts +4 -0
  28. package/dist/cjs/walletManager/SignerManager/index.d.ts.map +1 -0
  29. package/dist/cjs/walletManager/SignerManager/index.js +20 -0
  30. package/dist/cjs/walletManager/SignerManager/index.js.map +1 -0
  31. package/dist/cjs/walletManager/SignerManager/types.d.ts +51 -0
  32. package/dist/cjs/walletManager/SignerManager/types.d.ts.map +1 -0
  33. package/dist/cjs/walletManager/SignerManager/types.js +3 -0
  34. package/dist/cjs/walletManager/SignerManager/types.js.map +1 -0
  35. package/dist/cjs/walletManager/WalletRepository/WalletRepository.d.ts +5 -4
  36. package/dist/cjs/walletManager/WalletRepository/WalletRepository.d.ts.map +1 -1
  37. package/dist/cjs/walletManager/WalletRepository/WalletRepository.js +66 -37
  38. package/dist/cjs/walletManager/WalletRepository/WalletRepository.js.map +1 -1
  39. package/dist/cjs/walletManager/WalletRepository/types.d.ts +10 -32
  40. package/dist/cjs/walletManager/WalletRepository/types.d.ts.map +1 -1
  41. package/dist/cjs/walletManager/WalletRepository/types.js +0 -8
  42. package/dist/cjs/walletManager/WalletRepository/types.js.map +1 -1
  43. package/dist/cjs/walletManager/index.d.ts +2 -0
  44. package/dist/cjs/walletManager/index.d.ts.map +1 -1
  45. package/dist/cjs/walletManager/index.js +2 -0
  46. package/dist/cjs/walletManager/index.js.map +1 -1
  47. package/dist/cjs/walletManager/types.d.ts +43 -0
  48. package/dist/cjs/walletManager/types.d.ts.map +1 -0
  49. package/dist/cjs/walletManager/types.js +11 -0
  50. package/dist/cjs/walletManager/types.js.map +1 -0
  51. package/dist/esm/cip30/exposeAuthenticatorApi.d.ts.map +1 -1
  52. package/dist/esm/cip30/exposeAuthenticatorApi.js +10 -5
  53. package/dist/esm/cip30/exposeAuthenticatorApi.js.map +1 -1
  54. package/dist/esm/cip30/exposeWalletApi.d.ts +2 -2
  55. package/dist/esm/cip30/exposeWalletApi.d.ts.map +1 -1
  56. package/dist/esm/cip30/exposeWalletApi.js +11 -4
  57. package/dist/esm/cip30/exposeWalletApi.js.map +1 -1
  58. package/dist/esm/cip30/initializeBackgroundScript.d.ts +2 -2
  59. package/dist/esm/cip30/initializeBackgroundScript.d.ts.map +1 -1
  60. package/dist/esm/cip30/util.d.ts +2 -0
  61. package/dist/esm/cip30/util.d.ts.map +1 -1
  62. package/dist/esm/cip30/util.js +37 -0
  63. package/dist/esm/cip30/util.js.map +1 -1
  64. package/dist/esm/messaging/util.d.ts +0 -2
  65. package/dist/esm/messaging/util.d.ts.map +1 -1
  66. package/dist/esm/messaging/util.js +0 -9
  67. package/dist/esm/messaging/util.js.map +1 -1
  68. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  69. package/dist/esm/walletManager/SignerManager/KeyAgentFactory.d.ts +10 -0
  70. package/dist/esm/walletManager/SignerManager/KeyAgentFactory.d.ts.map +1 -0
  71. package/dist/esm/walletManager/SignerManager/KeyAgentFactory.js +9 -0
  72. package/dist/esm/walletManager/SignerManager/KeyAgentFactory.js.map +1 -0
  73. package/dist/esm/walletManager/SignerManager/SignerManager.d.ts +21 -0
  74. package/dist/esm/walletManager/SignerManager/SignerManager.d.ts.map +1 -0
  75. package/dist/esm/walletManager/SignerManager/SignerManager.js +120 -0
  76. package/dist/esm/walletManager/SignerManager/SignerManager.js.map +1 -0
  77. package/dist/esm/walletManager/SignerManager/index.d.ts +4 -0
  78. package/dist/esm/walletManager/SignerManager/index.d.ts.map +1 -0
  79. package/dist/esm/walletManager/SignerManager/index.js +4 -0
  80. package/dist/esm/walletManager/SignerManager/index.js.map +1 -0
  81. package/dist/esm/walletManager/SignerManager/types.d.ts +51 -0
  82. package/dist/esm/walletManager/SignerManager/types.d.ts.map +1 -0
  83. package/dist/esm/walletManager/SignerManager/types.js +2 -0
  84. package/dist/esm/walletManager/SignerManager/types.js.map +1 -0
  85. package/dist/esm/walletManager/WalletRepository/WalletRepository.d.ts +5 -4
  86. package/dist/esm/walletManager/WalletRepository/WalletRepository.d.ts.map +1 -1
  87. package/dist/esm/walletManager/WalletRepository/WalletRepository.js +68 -39
  88. package/dist/esm/walletManager/WalletRepository/WalletRepository.js.map +1 -1
  89. package/dist/esm/walletManager/WalletRepository/types.d.ts +10 -32
  90. package/dist/esm/walletManager/WalletRepository/types.d.ts.map +1 -1
  91. package/dist/esm/walletManager/WalletRepository/types.js +1 -7
  92. package/dist/esm/walletManager/WalletRepository/types.js.map +1 -1
  93. package/dist/esm/walletManager/index.d.ts +2 -0
  94. package/dist/esm/walletManager/index.d.ts.map +1 -1
  95. package/dist/esm/walletManager/index.js +2 -0
  96. package/dist/esm/walletManager/index.js.map +1 -1
  97. package/dist/esm/walletManager/types.d.ts +43 -0
  98. package/dist/esm/walletManager/types.d.ts.map +1 -0
  99. package/dist/esm/walletManager/types.js +8 -0
  100. package/dist/esm/walletManager/types.js.map +1 -0
  101. package/package.json +12 -10
@@ -0,0 +1,10 @@
1
+ import { InMemoryKeyAgent, InMemoryKeyAgentProps, KeyAgentDependencies } from '@cardano-sdk/key-management';
2
+ import { LedgerKeyAgent, LedgerKeyAgentProps } from '@cardano-sdk/hardware-ledger';
3
+ import { TrezorKeyAgent, TrezorKeyAgentProps } from '@cardano-sdk/hardware-trezor';
4
+ export declare const createKeyAgentFactory: (dependencies: KeyAgentDependencies) => {
5
+ InMemory: (props: InMemoryKeyAgentProps) => InMemoryKeyAgent;
6
+ Ledger: (props: LedgerKeyAgentProps) => LedgerKeyAgent;
7
+ Trezor: (props: TrezorKeyAgentProps) => TrezorKeyAgent;
8
+ };
9
+ export declare type KeyAgentFactory = ReturnType<typeof createKeyAgentFactory>;
10
+ //# sourceMappingURL=KeyAgentFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyAgentFactory.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/KeyAgentFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnF,eAAO,MAAM,qBAAqB,iBAAkB,oBAAoB;sBACpD,qBAAqB;oBACvB,mBAAmB;oBACnB,mBAAmB;CACnC,CAAC;AAEH,oBAAY,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createKeyAgentFactory = void 0;
4
+ const key_management_1 = require("@cardano-sdk/key-management");
5
+ const hardware_ledger_1 = require("@cardano-sdk/hardware-ledger");
6
+ const hardware_trezor_1 = require("@cardano-sdk/hardware-trezor");
7
+ const createKeyAgentFactory = (dependencies) => ({
8
+ InMemory: (props) => new key_management_1.InMemoryKeyAgent(props, dependencies),
9
+ Ledger: (props) => new hardware_ledger_1.LedgerKeyAgent(props, dependencies),
10
+ Trezor: (props) => new hardware_trezor_1.TrezorKeyAgent(props, dependencies)
11
+ });
12
+ exports.createKeyAgentFactory = createKeyAgentFactory;
13
+ //# sourceMappingURL=KeyAgentFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyAgentFactory.js","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/KeyAgentFactory.ts"],"names":[],"mappings":";;;AAAA,gEAA4G;AAC5G,kEAAmF;AACnF,kEAAmF;AAE5E,MAAM,qBAAqB,GAAG,CAAC,YAAkC,EAAE,EAAE,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,IAAI,iCAAgB,CAAC,KAAK,EAAE,YAAY,CAAC;IACrF,MAAM,EAAE,CAAC,KAA0B,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,KAAK,EAAE,YAAY,CAAC;IAC/E,MAAM,EAAE,CAAC,KAA0B,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,KAAK,EAAE,YAAY,CAAC;CAChF,CAAC,CAAC;AAJU,QAAA,qBAAqB,yBAI/B"}
@@ -0,0 +1,21 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { SignBlobResult, TrezorConfig } from '@cardano-sdk/key-management';
3
+ import { KeyAgentFactory } from './KeyAgentFactory';
4
+ import { RequestContext, SignDataProps, SignDataRequest, SignTransactionProps, SignerManagerConfirmationApi, SignerManagerSignApi, TransactionWitnessRequest } from './types';
5
+ import { Subject } from 'rxjs';
6
+ export declare type HardwareKeyAgentOptions = TrezorConfig;
7
+ export declare type SignerManagerProps = {
8
+ hwOptions: HardwareKeyAgentOptions;
9
+ };
10
+ export declare type SignerManagerDependencies = {
11
+ keyAgentFactory: KeyAgentFactory;
12
+ };
13
+ export declare class SignerManager<WalletMetadata extends {}> implements SignerManagerConfirmationApi<WalletMetadata>, SignerManagerSignApi<WalletMetadata> {
14
+ #private;
15
+ readonly transactionWitnessRequest$: Subject<TransactionWitnessRequest<WalletMetadata>>;
16
+ readonly signDataRequest$: Subject<SignDataRequest<WalletMetadata>>;
17
+ constructor(props: SignerManagerProps, { keyAgentFactory }: SignerManagerDependencies);
18
+ signTransaction({ tx, signContext, options }: SignTransactionProps, requestContext: RequestContext<WalletMetadata>): Promise<Cardano.Signatures>;
19
+ signData(props: SignDataProps, requestContext: RequestContext<WalletMetadata>): Promise<SignBlobResult>;
20
+ }
21
+ //# sourceMappingURL=SignerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignerManager.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/SignerManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAY,cAAc,EAAE,YAAY,EAAU,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEL,cAAc,EACd,aAAa,EACb,eAAe,EAEf,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,oBAAY,uBAAuB,GAAG,YAAY,CAAC;AAEnD,oBAAY,kBAAkB,GAAG;IAC/B,SAAS,EAAE,uBAAuB,CAAC;CACpC,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAuBF,qBAAa,aAAa,CAAC,cAAc,SAAS,EAAE,CAClD,YAAW,4BAA4B,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC;;IAE7F,QAAQ,CAAC,0BAA0B,qDAA4D;IAC/F,QAAQ,CAAC,gBAAgB,2CAAkD;gBAI/D,KAAK,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,EAAE,yBAAyB;IAK/E,eAAe,CACnB,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAClD,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAsBxB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CA4F9G"}
@@ -0,0 +1,124 @@
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 _SignerManager_instances, _SignerManager_hwOptions, _SignerManager_keyAgentFactory, _SignerManager_signRequest;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SignerManager = void 0;
16
+ const core_1 = require("@cardano-sdk/core");
17
+ const types_1 = require("../types");
18
+ const key_management_1 = require("@cardano-sdk/key-management");
19
+ const rxjs_1 = require("rxjs");
20
+ const clearPassphrase = (passphrase) => {
21
+ for (let i = 0; i < passphrase.length; i++) {
22
+ passphrase[i] = 0;
23
+ }
24
+ };
25
+ const bubbleResolveReject = async (action, resolve, reject) => {
26
+ try {
27
+ const result = action();
28
+ resolve(result);
29
+ return result;
30
+ }
31
+ catch (error) {
32
+ reject(error);
33
+ throw error;
34
+ }
35
+ };
36
+ class SignerManager {
37
+ constructor(props, { keyAgentFactory }) {
38
+ _SignerManager_instances.add(this);
39
+ this.transactionWitnessRequest$ = new rxjs_1.Subject();
40
+ this.signDataRequest$ = new rxjs_1.Subject();
41
+ _SignerManager_hwOptions.set(this, void 0);
42
+ _SignerManager_keyAgentFactory.set(this, void 0);
43
+ __classPrivateFieldSet(this, _SignerManager_hwOptions, props.hwOptions, "f");
44
+ __classPrivateFieldSet(this, _SignerManager_keyAgentFactory, keyAgentFactory, "f");
45
+ }
46
+ async signTransaction({ tx, signContext, options }, requestContext) {
47
+ const transaction = core_1.Serialization.Transaction.fromCbor(tx);
48
+ return __classPrivateFieldGet(this, _SignerManager_instances, "m", _SignerManager_signRequest).call(this, this.transactionWitnessRequest$, {
49
+ requestContext,
50
+ signContext,
51
+ transaction,
52
+ walletType: requestContext.wallet.type
53
+ }, (keyAgent) => keyAgent.signTransaction({
54
+ body: transaction.body().toCore(),
55
+ hash: transaction.getId()
56
+ }, signContext, options));
57
+ }
58
+ async signData(props, requestContext) {
59
+ return __classPrivateFieldGet(this, _SignerManager_instances, "m", _SignerManager_signRequest).call(this, this.signDataRequest$, {
60
+ ...props,
61
+ requestContext,
62
+ walletType: requestContext.wallet.type
63
+ }, (keyAgent) => keyAgent.signBlob(props.derivationPath, props.blob));
64
+ }
65
+ }
66
+ exports.SignerManager = SignerManager;
67
+ _SignerManager_hwOptions = new WeakMap(), _SignerManager_keyAgentFactory = new WeakMap(), _SignerManager_instances = new WeakSet(), _SignerManager_signRequest = function _SignerManager_signRequest(emitter$, request, sign) {
68
+ return new Promise((resolve, reject) => {
69
+ if (!emitter$.observed) {
70
+ return reject(new key_management_1.errors.AuthenticationError('Internal error: signDataRequest$ not observed'));
71
+ }
72
+ const account = request.requestContext.wallet.accounts.find(({ accountIndex }) => accountIndex === request.requestContext.accountIndex);
73
+ if (!account) {
74
+ return reject(new key_management_1.errors.ProofGenerationError(`Account not found: ${request.requestContext.accountIndex}`));
75
+ }
76
+ const commonRequestProps = {
77
+ ...request,
78
+ reject: async (reason) => reject(new key_management_1.errors.AuthenticationError(reason))
79
+ };
80
+ emitter$.next(request.walletType === types_1.WalletType.InMemory
81
+ ? {
82
+ ...commonRequestProps,
83
+ sign: async (passphrase) => bubbleResolveReject(async () => {
84
+ const wallet = request.requestContext.wallet;
85
+ try {
86
+ const result = await sign(__classPrivateFieldGet(this, _SignerManager_keyAgentFactory, "f").InMemory({
87
+ accountIndex: account.accountIndex,
88
+ chainId: request.requestContext.chainId,
89
+ encryptedRootPrivateKeyBytes: [
90
+ ...Buffer.from(wallet.encryptedSecrets.rootPrivateKeyBytes, 'hex')
91
+ ],
92
+ extendedAccountPublicKey: wallet.extendedAccountPublicKey,
93
+ getPassphrase: async () => passphrase
94
+ }));
95
+ clearPassphrase(passphrase);
96
+ return result;
97
+ }
98
+ catch (error) {
99
+ clearPassphrase(passphrase);
100
+ throw error;
101
+ }
102
+ }, resolve, reject),
103
+ walletType: request.walletType
104
+ }
105
+ : {
106
+ ...commonRequestProps,
107
+ sign: async () => bubbleResolveReject(async () => sign(request.walletType === types_1.WalletType.Ledger
108
+ ? __classPrivateFieldGet(this, _SignerManager_keyAgentFactory, "f").Ledger({
109
+ accountIndex: request.requestContext.accountIndex,
110
+ chainId: request.requestContext.chainId,
111
+ communicationType: __classPrivateFieldGet(this, _SignerManager_hwOptions, "f").communicationType,
112
+ extendedAccountPublicKey: request.requestContext.wallet.extendedAccountPublicKey
113
+ })
114
+ : __classPrivateFieldGet(this, _SignerManager_keyAgentFactory, "f").Trezor({
115
+ accountIndex: request.requestContext.accountIndex,
116
+ chainId: request.requestContext.chainId,
117
+ extendedAccountPublicKey: request.requestContext.wallet.extendedAccountPublicKey,
118
+ trezorConfig: __classPrivateFieldGet(this, _SignerManager_hwOptions, "f")
119
+ })), resolve, reject),
120
+ walletType: request.walletType
121
+ });
122
+ });
123
+ };
124
+ //# sourceMappingURL=SignerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignerManager.js","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/SignerManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,4CAA2D;AAC3D,oCAAsD;AACtD,gEAA6F;AAa7F,+BAA+B;AAY/B,MAAM,eAAe,GAAG,CAAC,UAAsB,EAAE,EAAE;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACnB;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,MAAwB,EACxB,OAAyC,EACzC,MAAgC,EACpB,EAAE;IACd,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAC;AAEF,MAAa,aAAa;IAQxB,YAAY,KAAyB,EAAE,EAAE,eAAe,EAA6B;;QAL5E,+BAA0B,GAAG,IAAI,cAAO,EAA6C,CAAC;QACtF,qBAAgB,GAAG,IAAI,cAAO,EAAmC,CAAC;QAC3E,2CAA6C;QAC7C,iDAA2C;QAGzC,uBAAA,IAAI,4BAAc,KAAK,CAAC,SAAS,MAAA,CAAC;QAClC,uBAAA,IAAI,kCAAoB,eAAe,MAAA,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAwB,EAClD,cAA8C;QAE9C,MAAM,WAAW,GAAG,oBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,uBAAA,IAAI,4DAAa,MAAjB,IAAI,EACT,IAAI,CAAC,0BAA0B,EAC/B;YACE,cAAc;YACd,WAAW;YACX,WAAW;YACX,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI;SACvC,EACD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,eAAe,CACtB;YACE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;YACjC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;SAC1B,EACD,WAAW,EACX,OAAO,CACR,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAoB,EAAE,cAA8C;QACjF,OAAO,uBAAA,IAAI,4DAAa,MAAjB,IAAI,EACT,IAAI,CAAC,gBAAgB,EACrB;YACE,GAAG,KAAK;YACR,cAAc;YACd,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI;SACvC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAClE,CAAC;IACJ,CAAC;CAkFF;AAlID,sCAkIC;qMA/EG,QAAsB,EACtB,OAAqC,EACrC,IAAwC;IAExC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,OAAO,MAAM,CAAC,IAAI,uBAAM,CAAC,mBAAmB,CAAC,+CAA+C,CAAC,CAAC,CAAC;SAChG;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACzD,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,OAAO,CAAC,cAAc,CAAC,YAAY,CAC3E,CAAC;QACF,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,MAAM,CAAC,IAAI,uBAAM,CAAC,oBAAoB,CAAC,sBAAsB,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SAC7G;QAED,MAAM,kBAAkB,GAAG;YACzB,GAAG,OAAO;YACV,MAAM,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,uBAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SACjF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC,UAAU,KAAK,kBAAU,CAAC,QAAQ;YACxC,CAAC,CAAE;gBACC,GAAG,kBAAkB;gBACrB,IAAI,EAAE,KAAK,EAAE,UAAsB,EAAE,EAAE,CACrC,mBAAmB,CACjB,KAAK,IAAI,EAAE;oBACT,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAwC,CAAC;oBAC/E,IAAI;wBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,uBAAA,IAAI,sCAAiB,CAAC,QAAQ,CAAC;4BAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO;4BACvC,4BAA4B,EAAE;gCAC5B,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,CAAC;6BACnE;4BACD,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;4BACzD,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU;yBACtC,CAAC,CACH,CAAC;wBACF,eAAe,CAAC,UAAU,CAAC,CAAC;wBAC5B,OAAO,MAAM,CAAC;qBACf;oBAAC,OAAO,KAAK,EAAE;wBACd,eAAe,CAAC,UAAU,CAAC,CAAC;wBAC5B,MAAM,KAAK,CAAC;qBACb;gBACH,CAAC,EACD,OAAO,EACP,MAAM,CACP;gBACH,UAAU,EAAE,OAAO,CAAC,UAAU;aACvB;YACX,CAAC,CAAE;gBACC,GAAG,kBAAkB;gBACrB,IAAI,EAAE,KAAK,IAAgB,EAAE,CAC3B,mBAAmB,CACjB,KAAK,IAAI,EAAE,CACT,IAAI,CACF,OAAO,CAAC,UAAU,KAAK,kBAAU,CAAC,MAAM;oBACtC,CAAC,CAAC,uBAAA,IAAI,sCAAiB,CAAC,MAAM,CAAC;wBAC3B,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY;wBACjD,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO;wBACvC,iBAAiB,EAAE,uBAAA,IAAI,gCAAW,CAAC,iBAAiB;wBACpD,wBAAwB,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,wBAAwB;qBACjF,CAAC;oBACJ,CAAC,CAAC,uBAAA,IAAI,sCAAiB,CAAC,MAAM,CAAC;wBAC3B,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY;wBACjD,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO;wBACvC,wBAAwB,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,wBAAwB;wBAChF,YAAY,EAAE,uBAAA,IAAI,gCAAW;qBAC9B,CAAC,CACP,EACH,OAAO,EACP,MAAM,CACP;gBACH,UAAU,EAAE,OAAO,CAAC,UAAU;aACvB,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './SignerManager';
3
+ export * from './KeyAgentFactory';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./SignerManager"), exports);
19
+ __exportStar(require("./KeyAgentFactory"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,kDAAgC;AAChC,oDAAkC"}
@@ -0,0 +1,51 @@
1
+ import { AccountKeyDerivationPath, MessageSender, SignBlobResult, SignTransactionContext, SignTransactionOptions } from '@cardano-sdk/key-management';
2
+ import { AnyBip32Wallet, WalletType } from '../types';
3
+ import { Cardano, Serialization, TxCBOR } from '@cardano-sdk/core';
4
+ import { HexBlob } from '@cardano-sdk/util';
5
+ import { Observable } from 'rxjs';
6
+ export declare type RequestContext<WalletMetadata extends {}> = {
7
+ wallet: AnyBip32Wallet<WalletMetadata>;
8
+ accountIndex: number;
9
+ chainId: Cardano.ChainId;
10
+ };
11
+ export declare type RequestBase<WalletMetadata extends {}> = {
12
+ requestContext: RequestContext<WalletMetadata>;
13
+ reject(reason: string): Promise<void>;
14
+ };
15
+ declare type SignRequestInMemory<R> = {
16
+ walletType: WalletType.InMemory;
17
+ sign(passphrase: Uint8Array): Promise<R>;
18
+ };
19
+ declare type SignRequestHardware<R> = {
20
+ walletType: WalletType.Trezor | WalletType.Ledger;
21
+ sign(): Promise<R>;
22
+ };
23
+ export declare type SignRequest<R> = SignRequestHardware<R> | SignRequestInMemory<R>;
24
+ export declare type TransactionWitnessRequest<WalletMetadata extends {}> = RequestBase<WalletMetadata> & {
25
+ transaction: Serialization.Transaction;
26
+ signContext: SignTransactionContext;
27
+ } & SignRequest<Cardano.Signatures>;
28
+ export declare type SignDataContext = {
29
+ sender?: MessageSender;
30
+ };
31
+ export declare type SignDataProps = {
32
+ derivationPath: AccountKeyDerivationPath;
33
+ blob: HexBlob;
34
+ signContext: SignDataContext;
35
+ };
36
+ export declare type SignDataRequest<WalletMetadata extends {}> = RequestBase<WalletMetadata> & SignDataProps & SignRequest<SignBlobResult>;
37
+ export declare type SignTransactionProps = {
38
+ tx: TxCBOR;
39
+ signContext: SignTransactionContext;
40
+ options?: SignTransactionOptions;
41
+ };
42
+ export interface SignerManagerConfirmationApi<WalletMetadata extends {}> {
43
+ transactionWitnessRequest$: Observable<TransactionWitnessRequest<WalletMetadata>>;
44
+ signDataRequest$: Observable<SignDataRequest<WalletMetadata>>;
45
+ }
46
+ export interface SignerManagerSignApi<WalletMetadata extends {}> {
47
+ signTransaction(props: SignTransactionProps, requestContext: RequestContext<WalletMetadata>): Promise<Cardano.Signatures>;
48
+ signData(props: SignDataProps, requestContext: RequestContext<WalletMetadata>): Promise<SignBlobResult>;
49
+ }
50
+ export {};
51
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/SignerManager/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,oBAAY,cAAc,CAAC,cAAc,SAAS,EAAE,IAAI;IACtD,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;CAC1B,CAAC;AAEF,oBAAY,WAAW,CAAC,cAAc,SAAS,EAAE,IAAI;IACnD,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAEF,aAAK,mBAAmB,CAAC,CAAC,IAAI;IAC5B,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC;IAChC,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC;AAEF,aAAK,mBAAmB,CAAC,CAAC,IAAI;IAC5B,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAElD,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACpB,CAAC;AAEF,oBAAY,WAAW,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7E,oBAAY,yBAAyB,CAAC,cAAc,SAAS,EAAE,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG;IAC/F,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC;CACrC,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpC,oBAAY,eAAe,GAAG;IAAE,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC;AAEzD,oBAAY,aAAa,GAAG;IAC1B,cAAc,EAAE,wBAAwB,CAAC;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,oBAAY,eAAe,CAAC,cAAc,SAAS,EAAE,IAAI,WAAW,CAAC,cAAc,CAAC,GAClF,aAAa,GACb,WAAW,CAAC,cAAc,CAAC,CAAC;AAE9B,oBAAY,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,sBAAsB,CAAC;IACpC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,4BAA4B,CAAC,cAAc,SAAS,EAAE;IACrE,0BAA0B,EAAE,UAAU,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAAC;IAClF,gBAAgB,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,oBAAoB,CAAC,cAAc,SAAS,EAAE;IAC7D,eAAe,CACb,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACzG"}
@@ -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/walletManager/SignerManager/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { AccountId, AddAccountProps, AddWalletProps, AnyWallet, UpdateMetadataProps, WalletId, WalletRepositoryApi } from './types';
1
+ import { AddAccountProps, AddWalletProps, RemoveAccountProps, UpdateMetadataProps, WalletRepositoryApi } from './types';
2
+ import { AnyWallet, WalletId } from '../types';
2
3
  import { Logger } from 'ts-log';
3
4
  import { Observable } from 'rxjs';
4
5
  import { storage } from '@cardano-sdk/wallet';
@@ -11,9 +12,9 @@ export declare class WalletRepository<AccountMetadata extends {}> implements Wal
11
12
  readonly wallets$: Observable<AnyWallet<AccountMetadata>[]>;
12
13
  constructor({ logger, store }: WalletRepositoryDependencies<AccountMetadata>);
13
14
  addWallet(props: AddWalletProps<AccountMetadata>): Promise<WalletId>;
14
- addAccount({ walletId, accountIndex, metadata }: AddAccountProps<AccountMetadata>): Promise<AccountId>;
15
- updateMetadata<ID extends AccountId | WalletId>({ target, metadata }: UpdateMetadataProps<AccountMetadata, ID>): Promise<ID>;
16
- removeAccount(accountId: AccountId): Promise<AccountId>;
15
+ addAccount(props: AddAccountProps<AccountMetadata>): Promise<AddAccountProps<AccountMetadata>>;
16
+ updateMetadata(props: UpdateMetadataProps<AccountMetadata>): Promise<UpdateMetadataProps<AccountMetadata>>;
17
+ removeAccount(props: RemoveAccountProps): Promise<RemoveAccountProps>;
17
18
  removeWallet(walletId: WalletId): Promise<WalletId>;
18
19
  }
19
20
  //# sourceMappingURL=WalletRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletRepository.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,SAAS,EAET,mBAAmB,EACnB,QAAQ,EACR,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAsD,MAAM,MAAM,CAAC;AAItF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,4BAA4B,CAAC,eAAe,SAAS,EAAE;IACtE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,qBAAa,gBAAgB,CAAC,eAAe,SAAS,EAAE,CAAE,YAAW,mBAAmB,CAAC,eAAe,CAAC;;IAGvG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAEhD,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,eAAe,CAAC;IAMtE,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB1E,UAAU,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAqCtG,cAAc,CAAC,EAAE,SAAS,SAAS,GAAG,QAAQ,EAAE,EAC9C,MAAM,EACN,QAAQ,EACT,EAAE,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;IAmCzD,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBvD,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CAepD"}
1
+ {"version":3,"file":"WalletRepository.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACxH,OAAO,EAAE,SAAS,EAAgB,QAAQ,EAAc,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAA4D,MAAM,MAAM,CAAC;AAI5F,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,4BAA4B,CAAC,eAAe,SAAS,EAAE;IACtE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AA0BD,qBAAa,gBAAgB,CAAC,eAAe,SAAS,EAAE,CAAE,YAAW,mBAAmB,CAAC,eAAe,CAAC;;IAGvG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAEhD,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,eAAe,CAAC;IActE,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsC1E,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAoC9F,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAuC1G,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgCrE,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CAuBpD"}
@@ -10,10 +10,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _WalletRepository_logger, _WalletRepository_store;
13
+ var _WalletRepository_instances, _WalletRepository_logger, _WalletRepository_store, _WalletRepository_getWallets;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.WalletRepository = void 0;
16
- const types_1 = require("./types");
16
+ const types_1 = require("../types");
17
17
  const crypto_1 = require("@cardano-sdk/crypto");
18
18
  const rxjs_1 = require("rxjs");
19
19
  const core_1 = require("@cardano-sdk/core");
@@ -24,19 +24,24 @@ const cloneSplice = (array, start, deleteCount, ...items) => [
24
24
  ...items,
25
25
  ...array.slice(start + deleteCount)
26
26
  ];
27
- const findAccount = (wallets, accountId) => wallets
28
- .map((wallet, walletIndex) => {
29
- if (wallet.type === types_1.WalletType.Script)
27
+ const findAccount = (wallets, walletId, accountIndex) => {
28
+ const walletIdx = wallets.findIndex((w) => w.walletId === walletId);
29
+ const wallet = wallets[walletIdx];
30
+ if (!wallet || wallet.type === types_1.WalletType.Script)
30
31
  return;
31
- const accountIndex = wallet.accounts.findIndex((a) => a.accountId === accountId);
32
- if (accountIndex < 0)
32
+ const accountIdx = wallet.accounts.findIndex((acc) => acc.accountIndex === accountIndex);
33
+ if (accountIdx < 0)
33
34
  return;
34
- const account = wallet.accounts[accountIndex];
35
- return { account, accountIndex, wallet, walletIndex };
36
- })
37
- .find(util_1.isNotNil);
35
+ return {
36
+ account: wallet.accounts[accountIdx],
37
+ accountIdx,
38
+ wallet,
39
+ walletIdx
40
+ };
41
+ };
38
42
  class WalletRepository {
39
43
  constructor({ logger, store }) {
44
+ _WalletRepository_instances.add(this);
40
45
  _WalletRepository_logger.set(this, void 0);
41
46
  _WalletRepository_store.set(this, void 0);
42
47
  __classPrivateFieldSet(this, _WalletRepository_store, store, "f");
@@ -48,19 +53,29 @@ class WalletRepository {
48
53
  const walletId = props.type === types_1.WalletType.Script
49
54
  ? core_1.Serialization.Script.fromCore(props.script).hash()
50
55
  : (0, crypto_1.Hash28ByteBase16)(await crypto_1.Bip32PublicKey.fromHex(props.extendedAccountPublicKey).hash());
51
- return (0, rxjs_1.firstValueFrom)(this.wallets$.pipe((0, rxjs_1.switchMap)((wallets) => {
56
+ return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
52
57
  if (wallets.some((wallet) => wallet.walletId === walletId)) {
53
58
  throw new errors_1.WalletConflictError(`Wallet '${walletId}' already exists`);
54
59
  }
60
+ if (props.type === types_1.WalletType.Script) {
61
+ for (const ownSigner of props.ownSigners) {
62
+ if (!wallets.some((wallet) => wallet.walletId === ownSigner.walletId &&
63
+ wallet.type !== types_1.WalletType.Script &&
64
+ wallet.accounts.some((account) => account.accountIndex === ownSigner.accountIndex))) {
65
+ throw new errors_1.WalletConflictError(`Wallet or account does not exist: ${ownSigner.walletId}/${ownSigner.accountIndex}`);
66
+ }
67
+ }
68
+ }
55
69
  return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll([
56
70
  ...wallets,
57
71
  props.type === types_1.WalletType.Script ? { ...props, walletId } : { ...props, accounts: [], walletId }
58
72
  ]);
59
73
  }), (0, rxjs_1.map)(() => walletId)));
60
74
  }
61
- addAccount({ walletId, accountIndex, metadata }) {
75
+ addAccount(props) {
76
+ const { walletId, accountIndex, metadata } = props;
62
77
  __classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('addAccount', walletId, accountIndex, metadata);
63
- return (0, rxjs_1.firstValueFrom)(this.wallets$.pipe((0, rxjs_1.switchMap)((wallets) => {
78
+ return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
64
79
  const walletIndex = wallets.findIndex((w) => w.walletId === walletId);
65
80
  if (walletIndex < 0) {
66
81
  throw new errors_1.WalletConflictError(`Wallet '${walletId}' does not exist`);
@@ -72,69 +87,83 @@ class WalletRepository {
72
87
  if (wallet.accounts.some((acc) => acc.accountIndex === accountIndex)) {
73
88
  throw new errors_1.WalletConflictError(`Account #${accountIndex} for wallet '${walletId}' already exists`);
74
89
  }
75
- const accountId = `${walletId}-${accountIndex}`;
76
90
  return __classPrivateFieldGet(this, _WalletRepository_store, "f")
77
91
  .setAll(cloneSplice(wallets, walletIndex, 1, {
78
92
  ...wallet,
79
93
  accounts: [
80
94
  ...wallet.accounts,
81
95
  {
82
- accountId,
83
96
  accountIndex,
84
97
  metadata
85
98
  }
86
99
  ]
87
100
  }))
88
- .pipe((0, rxjs_1.map)(() => accountId));
101
+ .pipe((0, rxjs_1.map)(() => props));
89
102
  })));
90
103
  }
91
- updateMetadata({ target, metadata }) {
92
- __classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('updateMetadata', target, metadata);
93
- return (0, rxjs_1.firstValueFrom)(this.wallets$.pipe((0, rxjs_1.switchMap)((wallets) => {
94
- const bip32Account = findAccount(wallets, target);
95
- if (bip32Account) {
96
- return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll(cloneSplice(wallets, bip32Account.walletIndex, 1, {
104
+ updateMetadata(props) {
105
+ const { walletId, accountIndex, metadata } = props;
106
+ __classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('updateMetadata', walletId, accountIndex, metadata);
107
+ return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
108
+ if (typeof accountIndex !== 'undefined') {
109
+ const bip32Account = findAccount(wallets, walletId, accountIndex);
110
+ if (!bip32Account) {
111
+ throw new errors_1.WalletConflictError(`Account not found: ${walletId}/${accountIndex}`);
112
+ }
113
+ return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll(cloneSplice(wallets, bip32Account.walletIdx, 1, {
97
114
  ...bip32Account.wallet,
98
- accounts: cloneSplice(bip32Account.wallet.accounts, bip32Account.accountIndex, 1, {
115
+ accounts: cloneSplice(bip32Account.wallet.accounts, bip32Account.accountIdx, 1, {
99
116
  ...bip32Account.account,
100
117
  metadata
101
118
  })
102
119
  }));
103
120
  }
104
- const scriptWalletIndex = wallets.findIndex((wallet) => wallet.walletId === target && wallet.type === types_1.WalletType.Script);
121
+ const scriptWalletIndex = wallets.findIndex((wallet) => wallet.walletId === walletId && wallet.type === types_1.WalletType.Script);
105
122
  if (scriptWalletIndex >= 0) {
106
123
  return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll(cloneSplice(wallets, scriptWalletIndex, 1, {
107
124
  ...wallets[scriptWalletIndex],
108
125
  metadata
109
126
  }));
110
127
  }
111
- throw new errors_1.WalletConflictError(`BIP32 AccountId or script WalletId not found: ${target}`);
112
- }), (0, rxjs_1.map)(() => target)));
128
+ throw new errors_1.WalletConflictError(`Script wallet not found: ${walletId}`);
129
+ }), (0, rxjs_1.map)(() => props)));
113
130
  }
114
- removeAccount(accountId) {
115
- __classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('removeAccount', accountId);
116
- return (0, rxjs_1.firstValueFrom)(this.wallets$.pipe((0, rxjs_1.switchMap)((wallets) => {
117
- const bip32Account = findAccount(wallets, accountId);
131
+ removeAccount(props) {
132
+ const { walletId, accountIndex } = props;
133
+ __classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('removeAccount', walletId, accountIndex);
134
+ return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
135
+ const bip32Account = findAccount(wallets, walletId, accountIndex);
118
136
  if (!bip32Account) {
119
- throw new errors_1.WalletConflictError(`Account '${accountId}' does not exist`);
137
+ throw new errors_1.WalletConflictError(`Account '${walletId}/${accountIndex}' does not exist`);
120
138
  }
121
- return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll(cloneSplice(wallets, bip32Account.walletIndex, 1, {
139
+ const dependentWallet = wallets.find((wallet) => wallet.type === types_1.WalletType.Script &&
140
+ wallet.ownSigners.some((signer) => signer.walletId === walletId && signer.accountIndex === accountIndex));
141
+ if (dependentWallet) {
142
+ throw new errors_1.WalletConflictError(`Wallet '${dependentWallet.walletId}' depends on account '${walletId}/${accountIndex}'`);
143
+ }
144
+ return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll(cloneSplice(wallets, bip32Account.walletIdx, 1, {
122
145
  ...bip32Account.wallet,
123
- accounts: cloneSplice(bip32Account.wallet.accounts, bip32Account.accountIndex, 1)
146
+ accounts: cloneSplice(bip32Account.wallet.accounts, bip32Account.accountIdx, 1)
124
147
  }));
125
- }), (0, rxjs_1.map)(() => accountId)));
148
+ }), (0, rxjs_1.map)(() => props)));
126
149
  }
127
150
  removeWallet(walletId) {
128
151
  __classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('removeWallet', walletId);
129
- return (0, rxjs_1.firstValueFrom)(this.wallets$.pipe((0, rxjs_1.switchMap)((wallets) => {
152
+ return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchMap)((wallets) => {
130
153
  const walletIndex = wallets.findIndex((w) => w.walletId === walletId);
131
154
  if (walletIndex < 0) {
132
155
  throw new errors_1.WalletConflictError(`Wallet '${walletId}' does not exist`);
133
156
  }
157
+ const dependentWallet = wallets.find((wallet) => wallet.type === types_1.WalletType.Script && wallet.ownSigners.some((signer) => signer.walletId === walletId));
158
+ if (dependentWallet) {
159
+ throw new errors_1.WalletConflictError(`Wallet '${dependentWallet.walletId}' depends on wallet '${walletId}'`);
160
+ }
134
161
  return __classPrivateFieldGet(this, _WalletRepository_store, "f").setAll(cloneSplice(wallets, walletIndex, 1));
135
162
  }), (0, rxjs_1.map)(() => walletId)));
136
163
  }
137
164
  }
138
165
  exports.WalletRepository = WalletRepository;
139
- _WalletRepository_logger = new WeakMap(), _WalletRepository_store = new WeakMap();
166
+ _WalletRepository_logger = new WeakMap(), _WalletRepository_store = new WeakMap(), _WalletRepository_instances = new WeakSet(), _WalletRepository_getWallets = function _WalletRepository_getWallets() {
167
+ return this.wallets$.pipe((0, rxjs_1.take)(1));
168
+ };
140
169
  //# sourceMappingURL=WalletRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletRepository.js","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletRepository.js","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,26 @@
1
- import { Bip32PublicKeyHex, Hash28ByteBase16 } from '@cardano-sdk/crypto';
2
- import { Cardano } from '@cardano-sdk/core';
1
+ import { AnyWallet, HardwareWallet, InMemoryWallet, ScriptWallet, WalletId } from '../types';
3
2
  import { Observable } from 'rxjs';
4
- export declare enum WalletType {
5
- InMemory = "InMemory",
6
- Ledger = "Ledger",
7
- Trezor = "Trezor",
8
- Script = "Script"
9
- }
10
- export declare type WalletId = Hash28ByteBase16;
11
- export declare type AccountId = string;
12
- export declare type Bip32WalletAccount<Metadata extends {}> = {
13
- accountId: AccountId;
14
- accountIndex: number;
15
- metadata: Metadata;
16
- };
17
- export declare type Bip32Wallet<Metadata extends {}> = {
18
- type: WalletType.InMemory | WalletType.Ledger | WalletType.Trezor;
3
+ export declare type RemoveAccountProps = {
19
4
  walletId: WalletId;
20
- extendedAccountPublicKey: Bip32PublicKeyHex;
21
- accounts: Bip32WalletAccount<Metadata>[];
22
- };
23
- export declare type ScriptWallet<Metadata extends {}> = {
24
- type: WalletType.Script;
25
- walletId: WalletId;
26
- metadata: Metadata;
27
- script: Cardano.Script;
5
+ accountIndex: number;
28
6
  };
29
- export declare type AnyWallet<Metadata extends {}> = Bip32Wallet<Metadata> | ScriptWallet<Metadata>;
30
7
  export declare type AddAccountProps<Metadata extends {}> = {
31
8
  walletId: WalletId;
32
9
  accountIndex: number;
33
10
  metadata: Metadata;
34
11
  };
35
- export declare type UpdateMetadataProps<Metadata extends {}, ID extends AccountId | WalletId> = {
36
- target: ID;
12
+ export declare type UpdateMetadataProps<Metadata extends {}> = {
13
+ walletId: WalletId;
14
+ accountIndex?: number;
37
15
  metadata: Metadata;
38
16
  };
39
- export declare type AddWalletProps<Metadata extends {}> = Omit<Bip32Wallet<Metadata>, 'walletId' | 'accounts'> | Omit<ScriptWallet<Metadata>, 'walletId'>;
17
+ export declare type AddWalletProps<Metadata extends {}> = Omit<HardwareWallet<Metadata>, 'walletId' | 'accounts'> | Omit<InMemoryWallet<Metadata>, 'walletId' | 'accounts'> | Omit<ScriptWallet<Metadata>, 'walletId'>;
40
18
  export interface WalletRepositoryApi<Metadata extends {}> {
41
19
  wallets$: Observable<AnyWallet<Metadata>[]>;
42
20
  addWallet(props: AddWalletProps<Metadata>): Promise<WalletId>;
43
- addAccount(props: AddAccountProps<Metadata>): Promise<AccountId>;
44
- updateMetadata<ID extends WalletId | AccountId>(props: UpdateMetadataProps<Metadata, ID>): Promise<ID>;
45
- removeAccount(accountId: AccountId): Promise<AccountId>;
21
+ addAccount(props: AddAccountProps<Metadata>): Promise<AddAccountProps<Metadata>>;
22
+ updateMetadata(props: UpdateMetadataProps<Metadata>): Promise<UpdateMetadataProps<Metadata>>;
23
+ removeAccount(props: RemoveAccountProps): Promise<RemoveAccountProps>;
46
24
  removeWallet(walletId: WalletId): Promise<WalletId>;
47
25
  }
48
26
  //# sourceMappingURL=types.d.ts.map