@docknetwork/wallet-sdk-core 1.5.9 → 1.5.10

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 (45) hide show
  1. package/jest.config.ts +1 -1
  2. package/lib/credential-provider.d.ts +2 -7
  3. package/lib/credential-provider.d.ts.map +1 -1
  4. package/lib/credential-provider.js +15 -1
  5. package/lib/credential-provider.js.map +1 -1
  6. package/lib/did-provider.js +2 -2
  7. package/lib/did-provider.js.map +1 -1
  8. package/lib/ecosystem-tools.d.ts +2 -0
  9. package/lib/ecosystem-tools.d.ts.map +1 -1
  10. package/lib/ecosystem-tools.js +27 -1
  11. package/lib/ecosystem-tools.js.map +1 -1
  12. package/lib/network-resolver.d.ts +0 -1
  13. package/lib/network-resolver.d.ts.map +1 -1
  14. package/lib/network-resolver.js +1 -23
  15. package/lib/network-resolver.js.map +1 -1
  16. package/lib/types.d.ts +0 -2
  17. package/lib/types.d.ts.map +1 -1
  18. package/lib/wallet-wasm.d.ts.map +1 -1
  19. package/lib/wallet-wasm.js +1 -6
  20. package/lib/wallet-wasm.js.map +1 -1
  21. package/lib/wallet.d.ts +16 -0
  22. package/lib/wallet.d.ts.map +1 -1
  23. package/lib/wallet.js +29 -18
  24. package/lib/wallet.js.map +1 -1
  25. package/package.json +4 -4
  26. package/src/credential-provider.test.ts +105 -13
  27. package/src/credential-provider.ts +18 -1
  28. package/src/did-provider.ts +2 -2
  29. package/src/ecosystem-tools.ts +29 -0
  30. package/src/network-resolver.ts +0 -36
  31. package/src/types.ts +0 -4
  32. package/src/verification-controller.test.ts +1 -1
  33. package/src/wallet-wasm.ts +1 -7
  34. package/src/wallet.ts +24 -8
  35. package/tsconfig.build.tsbuildinfo +1 -1
  36. package/lib/account-provider.d.ts +0 -8
  37. package/lib/account-provider.d.ts.map +0 -1
  38. package/lib/account-provider.js +0 -15
  39. package/lib/account-provider.js.map +0 -1
  40. package/lib/v1-helpers.d.ts +0 -20
  41. package/lib/v1-helpers.d.ts.map +0 -1
  42. package/lib/v1-helpers.js +0 -147
  43. package/lib/v1-helpers.js.map +0 -1
  44. package/src/account-provider.ts +0 -18
  45. package/src/v1-helpers.ts +0 -160
@@ -1,8 +0,0 @@
1
- import { IWallet } from './types';
2
- import { Accounts } from '@docknetwork/wallet-sdk-wasm/lib/modules/accounts';
3
- interface ICreateAccountsProvider {
4
- wallet: IWallet;
5
- }
6
- export declare function createAccountProvider({ wallet }: ICreateAccountsProvider): Accounts;
7
- export {};
8
- //# sourceMappingURL=account-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account-provider.d.ts","sourceRoot":"","sources":["../src/account-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,QAAQ,EAAC,MAAM,mDAAmD,CAAC;AAG3E,UAAU,uBAAuB;IAC/B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,EAAC,MAAM,EAAC,EAAE,uBAAuB,YAStE"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccountProvider = void 0;
4
- const accounts_1 = require("@docknetwork/wallet-sdk-wasm/lib/modules/accounts");
5
- const v1_helpers_1 = require("./v1-helpers");
6
- function createAccountProvider({ wallet }) {
7
- const accountsModule = new accounts_1.Accounts({
8
- wallet: wallet,
9
- walletService: (0, v1_helpers_1.toV1WalletService)(wallet),
10
- });
11
- accounts_1.Accounts.instance = accountsModule;
12
- return accountsModule;
13
- }
14
- exports.createAccountProvider = createAccountProvider;
15
- //# sourceMappingURL=account-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account-provider.js","sourceRoot":"","sources":["../src/account-provider.ts"],"names":[],"mappings":";;;AACA,gFAA2E;AAC3E,6CAA+C;AAM/C,SAAgB,qBAAqB,CAAC,EAAC,MAAM,EAA0B;IACrE,MAAM,cAAc,GAAG,IAAI,mBAAQ,CAAC;QAClC,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,IAAA,8BAAiB,EAAC,MAAM,CAAC;KACzC,CAAC,CAAC;IAEF,mBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC;IAE5C,OAAO,cAAc,CAAC;AACxB,CAAC;AATD,sDASC"}
@@ -1,20 +0,0 @@
1
- import { IWallet } from './types';
2
- export declare function toV1Wallet(wallet: IWallet): Promise<IWallet>;
3
- export type KeypairType = 'sr25519' | 'ed25519' | 'ecdsa';
4
- /**
5
- * Wallet service methods
6
- * @param wallet
7
- */
8
- export declare function toV1WalletService(wallet: IWallet): {
9
- getDocumentById: (id: any) => Promise<any>;
10
- createAccountDocuments: (params: {
11
- name: string;
12
- json?: string;
13
- password?: string;
14
- mnemonic?: string;
15
- type?: KeypairType;
16
- derivePath?: string;
17
- hasBackup?: boolean;
18
- }) => Promise<any[]>;
19
- };
20
- //# sourceMappingURL=v1-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v1-helpers.d.ts","sourceRoot":"","sources":["../src/v1-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,OAAO,EAAC,MAAM,SAAS,CAAC;AAS3C,wBAAsB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA6DlE;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO;;qCAQN;QACrC,MAAM,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;EAgEJ"}
package/lib/v1-helpers.js DELETED
@@ -1,147 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.toV1WalletService = exports.toV1Wallet = void 0;
27
- const account_provider_1 = require("./account-provider");
28
- const walletServiceConfigs = __importStar(require("@docknetwork/wallet-sdk-wasm/lib/services/wallet/configs"));
29
- const index_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/keyring/index");
30
- const wallet_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/wallet");
31
- const uuid_1 = require("uuid");
32
- async function toV1Wallet(wallet) {
33
- const accounts = await (0, account_provider_1.createAccountProvider)({
34
- wallet,
35
- });
36
- const v1Wallet = {
37
- accounts: accounts,
38
- create(json) {
39
- return wallet.addDocument(document);
40
- },
41
- deleteWallet() {
42
- return wallet.deleteWallet();
43
- },
44
- exportDocuments: (params) => {
45
- return wallet_1.walletService.exportDocuments(params);
46
- },
47
- ensureNetwork() {
48
- return Promise.resolve(undefined);
49
- },
50
- async query({ id, type, }) {
51
- if (id) {
52
- return [await wallet.getDocumentById(id)].filter(item => !!item);
53
- }
54
- if (type) {
55
- return wallet.getDocumentsByType(type);
56
- }
57
- return wallet.getAllDocuments();
58
- },
59
- remove(id, options) {
60
- return wallet.removeDocument(id);
61
- },
62
- add(json, options) {
63
- return wallet.addDocument(json, options);
64
- },
65
- resolveCorrelations(id) {
66
- return wallet.getDocumentCorrelations(id);
67
- },
68
- sync() {
69
- return Promise.resolve(undefined);
70
- },
71
- update(json, options) {
72
- return wallet.updateDocument(json, options);
73
- },
74
- upsert(json) {
75
- return wallet.upsertDocument(json);
76
- },
77
- };
78
- const newWallet = {
79
- ...v1Wallet,
80
- ...wallet,
81
- };
82
- accounts.wallet = newWallet;
83
- return newWallet;
84
- }
85
- exports.toV1Wallet = toV1Wallet;
86
- /**
87
- * Wallet service methods
88
- * @param wallet
89
- */
90
- function toV1WalletService(wallet) {
91
- return {
92
- getDocumentById: id => {
93
- return wallet.dataStore.documents.getDocumentById(id);
94
- },
95
- // accounts are not required in a wallet
96
- // Ideally should move this code to the accounts provider file
97
- // and make account provider available on its own package
98
- createAccountDocuments: async (params) => {
99
- walletServiceConfigs.validation.createAccountDocuments(params);
100
- const { name, type = 'sr25519', derivePath, mnemonic, json, password, hasBackup } = params;
101
- const keyringJson = json
102
- ? await index_1.keyringService.addFromJson({ jsonData: json, password })
103
- : await index_1.keyringService.getKeyringPairJSON({ mnemonic, derivePath, type });
104
- const correlations = [];
105
- correlations.push({
106
- '@context': ['https://w3id.org/wallet/v1'],
107
- id: (0, uuid_1.v4)(),
108
- type: 'KeyringPair',
109
- value: keyringJson,
110
- });
111
- correlations.push({
112
- '@context': ['https://w3id.org/wallet/v1'],
113
- id: (0, uuid_1.v4)(),
114
- type: 'Currency',
115
- value: 0,
116
- symbol: 'DOCK',
117
- });
118
- if (mnemonic) {
119
- correlations.push({
120
- '@context': ['https://w3id.org/wallet/v1'],
121
- id: (0, uuid_1.v4)(),
122
- type: 'Mnemonic',
123
- value: mnemonic,
124
- });
125
- }
126
- const correlationsDocs = [];
127
- for (let i = 0; i < correlations.length; i++) {
128
- const doc = correlations[i];
129
- const addedDoc = await wallet.addDocument(doc);
130
- correlationsDocs.push(addedDoc);
131
- }
132
- const addressDocument = await wallet.addDocument({
133
- '@context': ['https://w3id.org/wallet/v1'],
134
- id: keyringJson.address,
135
- type: 'Address',
136
- value: keyringJson.address,
137
- address: keyringJson.address,
138
- name,
139
- hasBackup,
140
- correlation: correlations.map(doc => doc.id),
141
- });
142
- return [addressDocument, ...correlationsDocs];
143
- },
144
- };
145
- }
146
- exports.toV1WalletService = toV1WalletService;
147
- //# sourceMappingURL=v1-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v1-helpers.js","sourceRoot":"","sources":["../src/v1-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import {IWallet} from './types';
2
- import {Accounts} from '@docknetwork/wallet-sdk-wasm/src/modules/accounts';
3
- import {toV1WalletService} from './v1-helpers';
4
-
5
- interface ICreateAccountsProvider {
6
- wallet: IWallet;
7
- }
8
-
9
- export function createAccountProvider({wallet}: ICreateAccountsProvider) {
10
- const accountsModule = new Accounts({
11
- wallet: wallet,
12
- walletService: toV1WalletService(wallet),
13
- });
14
-
15
- (Accounts as any).instance = accountsModule;
16
-
17
- return accountsModule;
18
- }
package/src/v1-helpers.ts DELETED
@@ -1,160 +0,0 @@
1
- // TODO: [wallet-sdk] Cleanup wallet-sdk unnused wasm services https://dock-team.atlassian.net/browse/DCKA-1658
2
- import {IV1Wallet, IWallet} from './types';
3
- import {createAccountProvider} from './account-provider';
4
- import {WalletDocument} from '@docknetwork/wallet-sdk-data-store/src/types';
5
- import * as walletServiceConfigs from '@docknetwork/wallet-sdk-wasm/src/services/wallet/configs';
6
- import {keyringService} from '@docknetwork/wallet-sdk-wasm/src/services/keyring/index';
7
- import {walletService} from '@docknetwork/wallet-sdk-wasm/src/services/wallet';
8
- import {v4 as uuid} from 'uuid';
9
- import {EventEmitter} from 'events';
10
-
11
- export async function toV1Wallet(wallet: IWallet): Promise<IWallet> {
12
- const accounts = await createAccountProvider({
13
- wallet,
14
- });
15
-
16
- const v1Wallet = {
17
- accounts: accounts,
18
- create(json: any): Promise<WalletDocument> {
19
- return wallet.addDocument(document);
20
- },
21
- deleteWallet(): Promise<void> {
22
- return wallet.deleteWallet();
23
- },
24
- exportDocuments: (params: {documents: any}) => {
25
- return walletService.exportDocuments(params);
26
- },
27
- ensureNetwork(): Promise<void> {
28
- return Promise.resolve(undefined);
29
- },
30
- async query({
31
- id,
32
- type,
33
- }: {id?: string; type?: string} | undefined): Promise<WalletDocument[]> {
34
- if (id) {
35
- return [await wallet.getDocumentById(id)].filter(item => !!item);
36
- }
37
-
38
- if (type) {
39
- return wallet.getDocumentsByType(type);
40
- }
41
-
42
- return wallet.getAllDocuments();
43
- },
44
- remove(id: string, options: any): Promise<void> {
45
- return wallet.removeDocument(id);
46
- },
47
- add(json: any, options): Promise<WalletDocument> {
48
- return wallet.addDocument(json, options);
49
- },
50
- resolveCorrelations(id: string): Promise<WalletDocument[]> {
51
- return wallet.getDocumentCorrelations(id);
52
- },
53
- sync(): Promise<void> {
54
- return Promise.resolve(undefined);
55
- },
56
- update(json: any, options): Promise<WalletDocument> {
57
- return wallet.updateDocument(json, options);
58
- },
59
- upsert(json: any): Promise<WalletDocument> {
60
- return wallet.upsertDocument(json);
61
- },
62
- };
63
-
64
- const newWallet = {
65
- ...v1Wallet,
66
- ...wallet,
67
- };
68
-
69
- (accounts as any).wallet = newWallet;
70
-
71
- return newWallet;
72
- }
73
-
74
- export type KeypairType = 'sr25519' | 'ed25519' | 'ecdsa';
75
-
76
- /**
77
- * Wallet service methods
78
- * @param wallet
79
- */
80
- export function toV1WalletService(wallet: IWallet) {
81
- return {
82
- getDocumentById: id => {
83
- return wallet.dataStore.documents.getDocumentById(id);
84
- },
85
- // accounts are not required in a wallet
86
- // Ideally should move this code to the accounts provider file
87
- // and make account provider available on its own package
88
- createAccountDocuments: async (params: {
89
- name: string;
90
- json?: string;
91
- password?: string;
92
- mnemonic?: string;
93
- type?: KeypairType;
94
- derivePath?: string;
95
- hasBackup?: boolean;
96
- }) => {
97
- walletServiceConfigs.validation.createAccountDocuments(params);
98
-
99
- const {
100
- name,
101
- type = 'sr25519',
102
- derivePath,
103
- mnemonic,
104
- json,
105
- password,
106
- hasBackup
107
- } = params;
108
-
109
- const keyringJson = json
110
- ? await keyringService.addFromJson({jsonData: json, password})
111
- : await keyringService.getKeyringPairJSON({mnemonic, derivePath, type});
112
- const correlations: any[] = [];
113
-
114
- correlations.push({
115
- '@context': ['https://w3id.org/wallet/v1'],
116
- id: uuid(),
117
- type: 'KeyringPair',
118
- value: keyringJson,
119
- });
120
-
121
- correlations.push({
122
- '@context': ['https://w3id.org/wallet/v1'],
123
- id: uuid(),
124
- type: 'Currency',
125
- value: 0,
126
- symbol: 'DOCK',
127
- });
128
-
129
- if (mnemonic) {
130
- correlations.push({
131
- '@context': ['https://w3id.org/wallet/v1'],
132
- id: uuid(),
133
- type: 'Mnemonic',
134
- value: mnemonic,
135
- });
136
- }
137
-
138
- const correlationsDocs = [];
139
-
140
- for (let i = 0; i < correlations.length; i++) {
141
- const doc = correlations[i];
142
- const addedDoc = await wallet.addDocument(doc);
143
- correlationsDocs.push(addedDoc);
144
- }
145
-
146
- const addressDocument = await wallet.addDocument({
147
- '@context': ['https://w3id.org/wallet/v1'],
148
- id: keyringJson.address,
149
- type: 'Address',
150
- value: keyringJson.address,
151
- address: keyringJson.address,
152
- name,
153
- hasBackup,
154
- correlation: correlations.map(doc => doc.id),
155
- });
156
-
157
- return [addressDocument, ...correlationsDocs];
158
- },
159
- };
160
- }