@cheqd/did-provider-cheqd 3.2.1 → 3.3.0-develop.2
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/build/cjs/agent/ICheqd.d.ts +513 -14
- package/build/cjs/agent/ICheqd.d.ts.map +1 -1
- package/build/cjs/agent/ICheqd.js +1446 -5
- package/build/cjs/agent/ICheqd.js.map +1 -1
- package/build/cjs/did-manager/cheqd-did-provider.d.ts +26 -7
- package/build/cjs/did-manager/cheqd-did-provider.d.ts.map +1 -1
- package/build/cjs/did-manager/cheqd-did-provider.js +30 -8
- package/build/cjs/did-manager/cheqd-did-provider.js.map +1 -1
- package/build/cjs/did-manager/cheqd-did-resolver.d.ts +5 -0
- package/build/cjs/did-manager/cheqd-did-resolver.d.ts.map +1 -1
- package/build/cjs/did-manager/cheqd-did-resolver.js +7 -2
- package/build/cjs/did-manager/cheqd-did-resolver.js.map +1 -1
- package/build/cjs/dkg-threshold/lit-protocol.d.ts +92 -0
- package/build/cjs/dkg-threshold/lit-protocol.d.ts.map +1 -0
- package/build/cjs/dkg-threshold/lit-protocol.js +170 -0
- package/build/cjs/dkg-threshold/lit-protocol.js.map +1 -0
- package/build/cjs/global.d..d.ts +2 -0
- package/build/cjs/global.d..d.ts.map +1 -0
- package/build/cjs/global.d..js +2 -0
- package/build/cjs/global.d..js.map +1 -0
- package/build/cjs/index.js +1 -2
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils/env.d.ts +7 -0
- package/build/cjs/utils/env.d.ts.map +1 -0
- package/build/cjs/utils/env.js +10 -0
- package/build/cjs/utils/env.js.map +1 -0
- package/build/cjs/utils/helpers.d.ts +12 -0
- package/build/cjs/utils/helpers.d.ts.map +1 -0
- package/build/cjs/utils/helpers.js +63 -0
- package/build/cjs/utils/helpers.js.map +1 -0
- package/build/esm/agent/ICheqd.d.ts +513 -14
- package/build/esm/agent/ICheqd.d.ts.map +1 -1
- package/build/esm/agent/ICheqd.js +1446 -5
- package/build/esm/agent/ICheqd.js.map +1 -1
- package/build/esm/did-manager/cheqd-did-provider.d.ts +26 -7
- package/build/esm/did-manager/cheqd-did-provider.d.ts.map +1 -1
- package/build/esm/did-manager/cheqd-did-provider.js +29 -7
- package/build/esm/did-manager/cheqd-did-provider.js.map +1 -1
- package/build/esm/did-manager/cheqd-did-resolver.d.ts +5 -0
- package/build/esm/did-manager/cheqd-did-resolver.d.ts.map +1 -1
- package/build/esm/did-manager/cheqd-did-resolver.js +6 -1
- package/build/esm/did-manager/cheqd-did-resolver.js.map +1 -1
- package/build/esm/dkg-threshold/lit-protocol.d.ts +92 -0
- package/build/esm/dkg-threshold/lit-protocol.d.ts.map +1 -0
- package/build/esm/dkg-threshold/lit-protocol.js +166 -0
- package/build/esm/dkg-threshold/lit-protocol.js.map +1 -0
- package/build/esm/global.d..d.ts +2 -0
- package/build/esm/global.d..d.ts.map +1 -0
- package/build/esm/global.d..js +2 -0
- package/build/esm/global.d..js.map +1 -0
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/utils/env.d.ts +7 -0
- package/build/esm/utils/env.d.ts.map +1 -0
- package/build/esm/utils/env.js +7 -0
- package/build/esm/utils/env.js.map +1 -0
- package/build/esm/utils/helpers.d.ts +12 -0
- package/build/esm/utils/helpers.d.ts.map +1 -0
- package/build/esm/utils/helpers.js +51 -0
- package/build/esm/utils/helpers.js.map +1 -0
- package/build/tsconfig.cjs.tsbuildinfo +1 -1
- package/build/tsconfig.esm.tsbuildinfo +1 -1
- package/build/tsconfig.types.tsbuildinfo +1 -1
- package/build/types/agent/ICheqd.d.ts +513 -14
- package/build/types/agent/ICheqd.d.ts.map +1 -1
- package/build/types/did-manager/cheqd-did-provider.d.ts +26 -7
- package/build/types/did-manager/cheqd-did-provider.d.ts.map +1 -1
- package/build/types/did-manager/cheqd-did-resolver.d.ts +5 -0
- package/build/types/did-manager/cheqd-did-resolver.d.ts.map +1 -1
- package/build/types/dkg-threshold/lit-protocol.d.ts +92 -0
- package/build/types/dkg-threshold/lit-protocol.d.ts.map +1 -0
- package/build/types/global.d..d.ts +2 -0
- package/build/types/global.d..d.ts.map +1 -0
- package/build/types/utils/env.d.ts +7 -0
- package/build/types/utils/env.d.ts.map +1 -0
- package/build/types/utils/helpers.d.ts +12 -0
- package/build/types/utils/helpers.d.ts.map +1 -0
- package/package.json +13 -7
- package/src/agent/ICheqd.ts +2209 -232
- package/src/did-manager/cheqd-did-provider.ts +55 -8
- package/src/did-manager/cheqd-did-resolver.ts +7 -1
- package/src/dkg-threshold/lit-protocol.ts +238 -0
- package/src/global.d..ts +1 -0
- package/src/utils/env.ts +6 -0
- package/src/utils/helpers.ts +66 -0
- package/tsconfig.json +1 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Secp256k1HdWallet } from '@cosmjs/amino';
|
|
2
|
+
import { toString } from 'uint8arrays/to-string';
|
|
3
|
+
import { sha256 } from '@cosmjs/crypto';
|
|
4
|
+
import { LitNodeClientNodeJs, LitNodeClient, decryptString, encryptString, } from '@lit-protocol/lit-node-client';
|
|
5
|
+
import { randomBytes } from '../utils/helpers.js';
|
|
6
|
+
import { isBrowser, isNode } from '../utils/env.js';
|
|
7
|
+
import { v4 } from 'uuid';
|
|
8
|
+
export const LitNetworks = { jalapeno: 'jalapeno', serrano: 'serrano', localhost: 'localhost', custom: 'custom' };
|
|
9
|
+
export const LitCompatibleCosmosChains = { cosmos: 'cosmos', cheqdMainnet: 'cheqdMainnet', cheqdTestnet: 'cheqdTestnet' };
|
|
10
|
+
export const TxNonceFormats = { entropy: 'entropy', uuid: 'uuid', timestamp: 'timestamp' };
|
|
11
|
+
export class LitProtocol {
|
|
12
|
+
client;
|
|
13
|
+
litNetwork = LitNetworks.serrano;
|
|
14
|
+
chain = LitCompatibleCosmosChains.cheqdTestnet;
|
|
15
|
+
cosmosAuthWallet;
|
|
16
|
+
constructor(options) {
|
|
17
|
+
// validate options
|
|
18
|
+
if (options.litNetwork && !Object.values(LitNetworks).includes(options.litNetwork))
|
|
19
|
+
throw new Error(`[did-provider-cheqd]: lit-protocol: Invalid LitNetwork: ${options.litNetwork}`);
|
|
20
|
+
if (options.chain && !Object.values(LitCompatibleCosmosChains).includes(options.chain))
|
|
21
|
+
throw new Error(`[did-provider-cheqd]: lit-protocol: Invalid LitCompatibleCosmosChain: ${options.chain}`);
|
|
22
|
+
// set options
|
|
23
|
+
if (options.litNetwork)
|
|
24
|
+
this.litNetwork = options.litNetwork;
|
|
25
|
+
if (options.chain)
|
|
26
|
+
this.chain = options.chain;
|
|
27
|
+
this.cosmosAuthWallet = options.cosmosAuthWallet;
|
|
28
|
+
// set client as per environment
|
|
29
|
+
this.client = function (that) {
|
|
30
|
+
if (isNode)
|
|
31
|
+
return new LitNodeClientNodeJs({ litNetwork: that.litNetwork });
|
|
32
|
+
if (isBrowser)
|
|
33
|
+
return new LitNodeClient({ litNetwork: that.litNetwork });
|
|
34
|
+
throw new Error('[did-provider-cheqd]: lit-protocol: Unsupported runtime environment');
|
|
35
|
+
}(this);
|
|
36
|
+
}
|
|
37
|
+
async connect() {
|
|
38
|
+
return await this.client.connect();
|
|
39
|
+
}
|
|
40
|
+
async encrypt(secret, unifiedAccessControlConditions, returnSymmetricKey = false) {
|
|
41
|
+
const authSig = await LitProtocol.generateAuthSignature(this.cosmosAuthWallet);
|
|
42
|
+
const { encryptedString, symmetricKey } = await encryptString(secret);
|
|
43
|
+
const encryptedSymmetricKey = await this.client.saveEncryptionKey({
|
|
44
|
+
unifiedAccessControlConditions,
|
|
45
|
+
symmetricKey,
|
|
46
|
+
authSig: authSig,
|
|
47
|
+
chain: this.chain
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
encryptedString,
|
|
51
|
+
encryptedSymmetricKey: toString(encryptedSymmetricKey, 'hex'),
|
|
52
|
+
symmetricKey: returnSymmetricKey ? symmetricKey : undefined
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async decrypt(encryptedString, encryptedSymmetricKey, unifiedAccessControlConditions) {
|
|
56
|
+
const authSig = await LitProtocol.generateAuthSignature(this.cosmosAuthWallet);
|
|
57
|
+
const symmetricKey = await this.client.getEncryptionKey({
|
|
58
|
+
unifiedAccessControlConditions,
|
|
59
|
+
toDecrypt: encryptedSymmetricKey,
|
|
60
|
+
authSig: authSig,
|
|
61
|
+
chain: this.chain
|
|
62
|
+
});
|
|
63
|
+
return await decryptString(encryptedString, symmetricKey);
|
|
64
|
+
}
|
|
65
|
+
static async encryptDirect(secret) {
|
|
66
|
+
const { encryptedString, symmetricKey } = await encryptString(secret);
|
|
67
|
+
return {
|
|
68
|
+
encryptedString,
|
|
69
|
+
symmetricKey
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
static async decryptDirect(encryptedString, symmetricKey) {
|
|
73
|
+
return await decryptString(encryptedString, symmetricKey);
|
|
74
|
+
}
|
|
75
|
+
static async create(options) {
|
|
76
|
+
// instantiate underlying cosmos auth wallet
|
|
77
|
+
if (!options.cosmosAuthWallet)
|
|
78
|
+
options.cosmosAuthWallet = await Secp256k1HdWallet.generate(24, { prefix: await LitProtocol.getCosmosWalletPrefix(options?.chain) });
|
|
79
|
+
// validate top-level options chain
|
|
80
|
+
if (!options?.chain)
|
|
81
|
+
options.chain = LitCompatibleCosmosChains.cheqdTestnet;
|
|
82
|
+
// validate top-level options litNetwork
|
|
83
|
+
if (!options?.litNetwork)
|
|
84
|
+
options.litNetwork = LitNetworks.serrano;
|
|
85
|
+
const litProtocol = new LitProtocol(options);
|
|
86
|
+
await litProtocol.connect();
|
|
87
|
+
return litProtocol;
|
|
88
|
+
}
|
|
89
|
+
static async getCosmosWalletPrefix(chain) {
|
|
90
|
+
switch (chain) {
|
|
91
|
+
case LitCompatibleCosmosChains.cosmos:
|
|
92
|
+
return 'cosmos';
|
|
93
|
+
case LitCompatibleCosmosChains.cheqdMainnet:
|
|
94
|
+
return 'cheqd';
|
|
95
|
+
case LitCompatibleCosmosChains.cheqdTestnet:
|
|
96
|
+
return 'cheqd';
|
|
97
|
+
default:
|
|
98
|
+
return 'cheqd';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
static async generateAuthSignature(wallet) {
|
|
102
|
+
const signerAddress = (await wallet.getAccounts())[0].address;
|
|
103
|
+
const signData = await LitProtocol.generateSignData();
|
|
104
|
+
const signDoc = await LitProtocol.generateSignDoc(signerAddress, signData);
|
|
105
|
+
const result = await wallet.signAmino(signerAddress, signDoc);
|
|
106
|
+
return {
|
|
107
|
+
address: signerAddress,
|
|
108
|
+
derivedVia: 'cosmos.signArbitrary',
|
|
109
|
+
sig: result.signature.signature,
|
|
110
|
+
signedMessage: toString(sha256(new TextEncoder().encode(JSON.stringify(signDoc))), 'hex'), // <-- hex encoded sha256 hash of the json stringified signDoc
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
static async generateSignDoc(address, data) {
|
|
114
|
+
return {
|
|
115
|
+
account_number: '0',
|
|
116
|
+
chain_id: '',
|
|
117
|
+
fee: {
|
|
118
|
+
amount: [],
|
|
119
|
+
gas: '0'
|
|
120
|
+
},
|
|
121
|
+
memo: '',
|
|
122
|
+
msgs: [
|
|
123
|
+
{
|
|
124
|
+
type: 'sign/MsgSignData',
|
|
125
|
+
value: {
|
|
126
|
+
data: toString(data, 'base64'),
|
|
127
|
+
signer: address,
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
sequence: '0',
|
|
132
|
+
}; // <-- should be sorted alphabetically
|
|
133
|
+
}
|
|
134
|
+
static async generateSignData() {
|
|
135
|
+
return new TextEncoder().encode(`I am creating an account to use Lit Protocol at 2023-02-21T16:40:15.305Z`); // <-- lit nodes search for this string in the signData
|
|
136
|
+
}
|
|
137
|
+
static async generateTxNonce(format, entropyLength) {
|
|
138
|
+
switch (format) {
|
|
139
|
+
case TxNonceFormats.entropy:
|
|
140
|
+
return toString(await randomBytes(entropyLength || 64), 'hex');
|
|
141
|
+
case TxNonceFormats.uuid:
|
|
142
|
+
return v4();
|
|
143
|
+
case TxNonceFormats.timestamp:
|
|
144
|
+
return new Date().toISOString();
|
|
145
|
+
default:
|
|
146
|
+
return v4();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
static async generateCosmosAccessControlConditionBalance(returnValueTest, chain = LitCompatibleCosmosChains.cheqdTestnet, address = ':userAddress') {
|
|
150
|
+
return {
|
|
151
|
+
conditionType: 'cosmos',
|
|
152
|
+
path: `/cosmos/bank/v1beta1/balances/${address}`,
|
|
153
|
+
chain,
|
|
154
|
+
returnValueTest
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
static async generateCosmosAccessControlConditionTransactionMemo(returnValueTest, amount, sender, recipient = ':userAddress', chain = LitCompatibleCosmosChains.cheqdTestnet) {
|
|
158
|
+
return {
|
|
159
|
+
conditionType: 'cosmos',
|
|
160
|
+
path: `/cosmos/tx/v1beta1/txs?events=transfer.recipient='${recipient}'&events=transfer.sender='${sender}'&events=transfer.amount='${amount}'&order_by=2`,
|
|
161
|
+
chain,
|
|
162
|
+
returnValueTest
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=lit-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lit-protocol.js","sourceRoot":"","sources":["../../../src/dkg-threshold/lit-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d..d.ts","sourceRoot":"","sources":["../../src/global.d..ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d..js","sourceRoot":"","sources":["../../src/global.d..ts"],"names":[],"mappings":""}
|
package/build/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @public
|
|
3
3
|
*/
|
|
4
|
-
export { CheqdDIDProvider,
|
|
4
|
+
export { CheqdDIDProvider, EnglishMnemonic, } from './did-manager/cheqd-did-provider.js';
|
|
5
5
|
export { CheqdDidResolver, getResolver } from './did-manager/cheqd-did-resolver.js';
|
|
6
6
|
export { CheqdUniversalResolver } from './did-manager/resolver.js';
|
|
7
7
|
export { Cheqd } from './agent/ICheqd.js';
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACH,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACH,gBAAgB,EAMhB,eAAe,GAClB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACH,gBAAgB,EAChB,WAAW,EACd,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const isBrowser: boolean;
|
|
2
|
+
export declare const isNode: boolean;
|
|
3
|
+
export declare const isWebWorker: boolean;
|
|
4
|
+
export declare const isJsDom: boolean;
|
|
5
|
+
export declare const isReactNative: boolean;
|
|
6
|
+
export declare const isElectron: boolean;
|
|
7
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,SAA0E,CAAA;AAChG,eAAO,MAAM,MAAM,SAA8F,CAAA;AACjH,eAAO,MAAM,WAAW,SAAyG,CAAA;AACjI,eAAO,MAAM,OAAO,SAA0L,CAAA;AAC9M,eAAO,MAAM,aAAa,SAA0E,CAAA;AACpG,eAAO,MAAM,UAAU,SAAka,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
2
|
+
export const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
3
|
+
export const isWebWorker = typeof self === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';
|
|
4
|
+
export const isJsDom = (typeof window !== 'undefined' && window.name === 'nodejs') || (typeof navigator !== 'undefined' && (navigator.userAgent.includes('jsdom') || navigator.userAgent.includes('Node.js')));
|
|
5
|
+
export const isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative'; // use wisely: limited as of react-native v0.67 + navigator.product has been deprecated
|
|
6
|
+
export const isElectron = (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') || (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) || (typeof process === 'object' && typeof process.versions === 'object' && !!process.versions.electron);
|
|
7
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAA;AAChG,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAA;AACjH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,4BAA4B,CAAA;AACjI,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAC9M,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa,CAAA,CAAC,uFAAuF;AAC5L,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAK,MAAM,CAAC,OAAoF,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { type GenerateOptions } from 'generate-password';
|
|
3
|
+
export declare function randomFromRange(min: number, max: number, notIn: number[]): Promise<number>;
|
|
4
|
+
export declare function randomUniqueSubsetInRange(min: number, max: number, count: number): Promise<Array<number>>;
|
|
5
|
+
export declare function randomBytes(length: number): Promise<Buffer>;
|
|
6
|
+
export declare function randomUniqueSecret(options?: GenerateOptions): Promise<string>;
|
|
7
|
+
export declare function initialiseIndexArray(length: number): Promise<Array<boolean>>;
|
|
8
|
+
export declare function shuffleArray<T>(array: Array<T>): Promise<Array<T>>;
|
|
9
|
+
export declare function toBlob(data: Uint8Array): Promise<Blob>;
|
|
10
|
+
export declare function blobToHexString(blob: Blob): Promise<string>;
|
|
11
|
+
export declare function unescapeUnicode(str: string): string;
|
|
12
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";AAAA,OAAO,EAA8B,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGpF,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhG;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAM/G;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOjE;AAED,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnF;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAElF;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAGxE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAQjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { generate as generateSecret } from 'generate-password';
|
|
2
|
+
import { toString } from 'uint8arrays/to-string';
|
|
3
|
+
export async function randomFromRange(min, max, notIn) {
|
|
4
|
+
const random = Math.floor(Math.random() * (max - min + 1) + min);
|
|
5
|
+
if (notIn.includes(random)) {
|
|
6
|
+
return await randomFromRange(min, max, notIn);
|
|
7
|
+
}
|
|
8
|
+
return random;
|
|
9
|
+
}
|
|
10
|
+
export async function randomUniqueSubsetInRange(min, max, count) {
|
|
11
|
+
const subset = [];
|
|
12
|
+
for (let i = 0; i < count; i++) {
|
|
13
|
+
subset.push(await randomFromRange(min, max, subset));
|
|
14
|
+
}
|
|
15
|
+
return subset;
|
|
16
|
+
}
|
|
17
|
+
export async function randomBytes(length) {
|
|
18
|
+
return Buffer.from(Array.from({ length }, () => Math.floor(Math.random() * 256)));
|
|
19
|
+
}
|
|
20
|
+
export async function randomUniqueSecret(options) {
|
|
21
|
+
return generateSecret({
|
|
22
|
+
length: 64,
|
|
23
|
+
numbers: true,
|
|
24
|
+
symbols: true,
|
|
25
|
+
uppercase: true,
|
|
26
|
+
...options,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export async function initialiseIndexArray(length) {
|
|
30
|
+
return Array(length).fill(true);
|
|
31
|
+
}
|
|
32
|
+
export async function shuffleArray(array) {
|
|
33
|
+
const shuffled = array.sort(() => Math.random() - 0.5);
|
|
34
|
+
return shuffled;
|
|
35
|
+
}
|
|
36
|
+
export async function toBlob(data) {
|
|
37
|
+
return new Blob([data]);
|
|
38
|
+
}
|
|
39
|
+
export async function blobToHexString(blob) {
|
|
40
|
+
// buffer from blob
|
|
41
|
+
const buffer = await blob.arrayBuffer();
|
|
42
|
+
// convert buffer to uint8Array
|
|
43
|
+
const uint8Array = new Uint8Array(buffer);
|
|
44
|
+
return toString(uint8Array, 'hex');
|
|
45
|
+
}
|
|
46
|
+
export function unescapeUnicode(str) {
|
|
47
|
+
return str.replace(/\\u([a-fA-F0-9]{4})/g, (m, cc) => {
|
|
48
|
+
return String.fromCharCode(parseInt(cc, 16));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAwB,MAAM,mBAAmB,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,GAAW,EAAE,KAAe;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;KAChD;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa;IACnF,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;KACvD;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,IAAI,CACN,EAAE,MAAM,EAAE,EACV,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CACxC,CACJ,CAAA;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAyB;IAC9D,OAAO,cAAc,CAAC;QAClB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,GAAG,OAAO;KACb,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,KAAe;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;IACtD,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAgB;IACzC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU;IAC5C,mBAAmB;IACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;IAEvC,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAEzC,OAAO,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACjD,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACN,CAAC"}
|