@digitaldefiance/ecies-lib 2.1.16 → 2.1.17
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 +2 -0
- package/package.json +1 -1
- package/src/test-mocks/index.d.ts +2 -0
- package/src/test-mocks/index.d.ts.map +1 -0
- package/src/test-mocks/index.js +5 -0
- package/src/test-mocks/index.js.map +1 -0
- package/src/test-mocks/mock-frontend-member.d.ts +70 -0
- package/src/test-mocks/mock-frontend-member.d.ts.map +1 -0
- package/src/test-mocks/mock-frontend-member.js +136 -0
- package/src/test-mocks/mock-frontend-member.js.map +1 -0
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/test-mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/test-mocks/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { EmailString, MemberType, SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
import { Wallet } from '@ethereumjs/wallet';
|
|
3
|
+
import { ObjectId } from 'bson';
|
|
4
|
+
import { IMemberOperational } from '../interfaces';
|
|
5
|
+
import { SignatureUint8Array } from '../types';
|
|
6
|
+
export declare class MockFrontendMember implements IMemberOperational<ObjectId> {
|
|
7
|
+
private _id;
|
|
8
|
+
private _type;
|
|
9
|
+
private _name;
|
|
10
|
+
private _email;
|
|
11
|
+
private _publicKey;
|
|
12
|
+
private _creatorId;
|
|
13
|
+
private _dateCreated;
|
|
14
|
+
private _dateUpdated;
|
|
15
|
+
private _privateKey?;
|
|
16
|
+
private _wallet?;
|
|
17
|
+
private _hasPrivateKey;
|
|
18
|
+
constructor(data?: Partial<{
|
|
19
|
+
id: ObjectId;
|
|
20
|
+
type: MemberType;
|
|
21
|
+
name: string;
|
|
22
|
+
email: EmailString;
|
|
23
|
+
publicKey: Uint8Array;
|
|
24
|
+
privateKey: SecureBuffer;
|
|
25
|
+
wallet: Wallet;
|
|
26
|
+
creatorId: ObjectId;
|
|
27
|
+
dateCreated: Date;
|
|
28
|
+
dateUpdated: Date;
|
|
29
|
+
hasPrivateKey: boolean;
|
|
30
|
+
}>);
|
|
31
|
+
get id(): ObjectId;
|
|
32
|
+
get type(): MemberType;
|
|
33
|
+
get name(): string;
|
|
34
|
+
get email(): EmailString;
|
|
35
|
+
get publicKey(): Uint8Array;
|
|
36
|
+
get creatorId(): ObjectId;
|
|
37
|
+
get dateCreated(): Date;
|
|
38
|
+
get dateUpdated(): Date;
|
|
39
|
+
get privateKey(): SecureBuffer | undefined;
|
|
40
|
+
get wallet(): Wallet | undefined;
|
|
41
|
+
get hasPrivateKey(): boolean;
|
|
42
|
+
unloadPrivateKey(): void;
|
|
43
|
+
unloadWallet(): void;
|
|
44
|
+
unloadWalletAndPrivateKey(): void;
|
|
45
|
+
loadWallet(mnemonic: SecureString): void;
|
|
46
|
+
loadPrivateKey(privateKey: SecureBuffer): void;
|
|
47
|
+
sign(data: Uint8Array): SignatureUint8Array;
|
|
48
|
+
verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
|
|
49
|
+
encryptData(data: string | Uint8Array): Promise<Uint8Array>;
|
|
50
|
+
decryptData(encryptedData: Uint8Array): Promise<Uint8Array>;
|
|
51
|
+
toJson(): string;
|
|
52
|
+
dispose(): void;
|
|
53
|
+
static create(overrides?: Partial<{
|
|
54
|
+
id: ObjectId;
|
|
55
|
+
type: MemberType;
|
|
56
|
+
name: string;
|
|
57
|
+
email: EmailString;
|
|
58
|
+
publicKey: Uint8Array;
|
|
59
|
+
privateKey: SecureBuffer;
|
|
60
|
+
wallet: Wallet;
|
|
61
|
+
creatorId: ObjectId;
|
|
62
|
+
dateCreated: Date;
|
|
63
|
+
dateUpdated: Date;
|
|
64
|
+
hasPrivateKey: boolean;
|
|
65
|
+
}>): MockFrontendMember;
|
|
66
|
+
static createMultiple(count: number): MockFrontendMember[];
|
|
67
|
+
static createWithPrivateKey(): MockFrontendMember;
|
|
68
|
+
static createWithoutPrivateKey(): MockFrontendMember;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=mock-frontend-member.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-frontend-member.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/test-mocks/mock-frontend-member.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockFrontendMember = void 0;
|
|
4
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
+
const faker_1 = require("@faker-js/faker");
|
|
6
|
+
const bson_1 = require("bson");
|
|
7
|
+
const hexToUint8Array = (hex) => {
|
|
8
|
+
const clean = hex.replace(/^0x/, '');
|
|
9
|
+
const bytes = new Uint8Array(clean.length / 2);
|
|
10
|
+
for (let i = 0; i < clean.length; i += 2) {
|
|
11
|
+
bytes[i / 2] = parseInt(clean.slice(i, i + 2), 16);
|
|
12
|
+
}
|
|
13
|
+
return bytes;
|
|
14
|
+
};
|
|
15
|
+
const createMockWallet = () => ({
|
|
16
|
+
getPrivateKey: () => hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 64 })),
|
|
17
|
+
getPublicKey: () => hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 128 })),
|
|
18
|
+
getAddress: () => hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 40 })),
|
|
19
|
+
sign: () => hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 128 })),
|
|
20
|
+
});
|
|
21
|
+
class MockFrontendMember {
|
|
22
|
+
_id;
|
|
23
|
+
_type;
|
|
24
|
+
_name;
|
|
25
|
+
_email;
|
|
26
|
+
_publicKey;
|
|
27
|
+
_creatorId;
|
|
28
|
+
_dateCreated;
|
|
29
|
+
_dateUpdated;
|
|
30
|
+
_privateKey;
|
|
31
|
+
_wallet;
|
|
32
|
+
_hasPrivateKey;
|
|
33
|
+
constructor(data = {}) {
|
|
34
|
+
this._id = data.id || new bson_1.ObjectId();
|
|
35
|
+
this._type = data.type || faker_1.faker.helpers.enumValue(ecies_lib_1.MemberType);
|
|
36
|
+
this._name = data.name || faker_1.faker.person.fullName();
|
|
37
|
+
this._email = data.email || new ecies_lib_1.EmailString(faker_1.faker.internet.email());
|
|
38
|
+
this._publicKey =
|
|
39
|
+
data.publicKey ||
|
|
40
|
+
hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 130 }));
|
|
41
|
+
this._creatorId = data.creatorId || this._id;
|
|
42
|
+
this._dateCreated = data.dateCreated || faker_1.faker.date.past();
|
|
43
|
+
this._dateUpdated =
|
|
44
|
+
data.dateUpdated ||
|
|
45
|
+
faker_1.faker.date.between({ from: this._dateCreated, to: new Date() });
|
|
46
|
+
this._privateKey = data.privateKey;
|
|
47
|
+
this._wallet =
|
|
48
|
+
data.wallet ||
|
|
49
|
+
(data.hasPrivateKey !== false ? createMockWallet() : undefined);
|
|
50
|
+
this._hasPrivateKey = data.hasPrivateKey ?? !!this._privateKey;
|
|
51
|
+
}
|
|
52
|
+
get id() {
|
|
53
|
+
return this._id;
|
|
54
|
+
}
|
|
55
|
+
get type() {
|
|
56
|
+
return this._type;
|
|
57
|
+
}
|
|
58
|
+
get name() {
|
|
59
|
+
return this._name;
|
|
60
|
+
}
|
|
61
|
+
get email() {
|
|
62
|
+
return this._email;
|
|
63
|
+
}
|
|
64
|
+
get publicKey() {
|
|
65
|
+
return this._publicKey;
|
|
66
|
+
}
|
|
67
|
+
get creatorId() {
|
|
68
|
+
return this._creatorId;
|
|
69
|
+
}
|
|
70
|
+
get dateCreated() {
|
|
71
|
+
return this._dateCreated;
|
|
72
|
+
}
|
|
73
|
+
get dateUpdated() {
|
|
74
|
+
return this._dateUpdated;
|
|
75
|
+
}
|
|
76
|
+
get privateKey() {
|
|
77
|
+
return this._privateKey;
|
|
78
|
+
}
|
|
79
|
+
get wallet() {
|
|
80
|
+
return this._wallet;
|
|
81
|
+
}
|
|
82
|
+
get hasPrivateKey() {
|
|
83
|
+
return this._hasPrivateKey;
|
|
84
|
+
}
|
|
85
|
+
unloadPrivateKey() { }
|
|
86
|
+
unloadWallet() { }
|
|
87
|
+
unloadWalletAndPrivateKey() { }
|
|
88
|
+
loadWallet(mnemonic) { }
|
|
89
|
+
loadPrivateKey(privateKey) { }
|
|
90
|
+
sign(data) {
|
|
91
|
+
return hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 128 }));
|
|
92
|
+
}
|
|
93
|
+
verify(signature, data) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
async encryptData(data) {
|
|
97
|
+
return hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 256 }));
|
|
98
|
+
}
|
|
99
|
+
async decryptData(encryptedData) {
|
|
100
|
+
const text = faker_1.faker.lorem.paragraph();
|
|
101
|
+
return new TextEncoder().encode(text);
|
|
102
|
+
}
|
|
103
|
+
toJson() {
|
|
104
|
+
return JSON.stringify({
|
|
105
|
+
id: this._id.toString(),
|
|
106
|
+
type: this._type,
|
|
107
|
+
name: this._name,
|
|
108
|
+
email: this._email.toString(),
|
|
109
|
+
publicKey: btoa(String.fromCharCode(...this._publicKey)),
|
|
110
|
+
creatorId: this._creatorId.toString(),
|
|
111
|
+
dateCreated: this._dateCreated.toISOString(),
|
|
112
|
+
dateUpdated: this._dateUpdated.toISOString(),
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
dispose() { }
|
|
116
|
+
static create(overrides = {}) {
|
|
117
|
+
return new MockFrontendMember(overrides);
|
|
118
|
+
}
|
|
119
|
+
static createMultiple(count) {
|
|
120
|
+
return Array.from({ length: count }, () => this.create());
|
|
121
|
+
}
|
|
122
|
+
static createWithPrivateKey() {
|
|
123
|
+
return new MockFrontendMember({
|
|
124
|
+
privateKey: new ecies_lib_1.SecureBuffer(hexToUint8Array(faker_1.faker.string.hexadecimal({ length: 64 }))),
|
|
125
|
+
hasPrivateKey: true,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
static createWithoutPrivateKey() {
|
|
129
|
+
return new MockFrontendMember({
|
|
130
|
+
privateKey: undefined,
|
|
131
|
+
hasPrivateKey: false,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.MockFrontendMember = MockFrontendMember;
|
|
136
|
+
//# sourceMappingURL=mock-frontend-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-frontend-member.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/test-mocks/mock-frontend-member.ts"],"names":[],"mappings":"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"}
|