@enbox/crypto 0.0.1 → 0.0.3
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 +34 -102
- package/dist/browser.js +6 -10
- package/dist/browser.js.map +4 -4
- package/dist/browser.mjs +6 -10
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/algorithms/aes-gcm.js +1 -1
- package/dist/esm/algorithms/aes-gcm.js.map +1 -1
- package/dist/esm/algorithms/ecdsa.js +9 -5
- package/dist/esm/algorithms/ecdsa.js.map +1 -1
- package/dist/esm/algorithms/eddsa.js +9 -5
- package/dist/esm/algorithms/eddsa.js.map +1 -1
- package/dist/esm/algorithms/sha-2.js +1 -1
- package/dist/esm/algorithms/sha-2.js.map +1 -1
- package/dist/esm/crypto-error.js +41 -0
- package/dist/esm/crypto-error.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jose/jwk.js +52 -26
- package/dist/esm/jose/jwk.js.map +1 -1
- package/dist/esm/local-key-manager.js +3 -2
- package/dist/esm/local-key-manager.js.map +1 -1
- package/dist/esm/primitives/aes-ctr.js.map +1 -1
- package/dist/esm/primitives/aes-gcm.js.map +1 -1
- package/dist/esm/primitives/aes-kw.js +246 -0
- package/dist/esm/primitives/aes-kw.js.map +1 -0
- package/dist/esm/primitives/concat-kdf.js +1 -1
- package/dist/esm/primitives/concat-kdf.js.map +1 -1
- package/dist/esm/primitives/ed25519.js +3 -3
- package/dist/esm/primitives/ed25519.js.map +1 -1
- package/dist/esm/primitives/hkdf.js +79 -0
- package/dist/esm/primitives/hkdf.js.map +1 -0
- package/dist/esm/primitives/pbkdf2.js +49 -0
- package/dist/esm/primitives/pbkdf2.js.map +1 -1
- package/dist/esm/primitives/secp256k1.js +4 -4
- package/dist/esm/primitives/secp256k1.js.map +1 -1
- package/dist/esm/primitives/secp256r1.js +4 -4
- package/dist/esm/primitives/secp256r1.js.map +1 -1
- package/dist/esm/primitives/x25519.js +1 -1
- package/dist/esm/primitives/x25519.js.map +1 -1
- package/dist/esm/primitives/xchacha20-poly1305.js +48 -3
- package/dist/esm/primitives/xchacha20-poly1305.js.map +1 -1
- package/dist/esm/primitives/xchacha20.js +1 -1
- package/dist/esm/primitives/xchacha20.js.map +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/algorithms/aes-ctr.d.ts +1 -1
- package/dist/types/algorithms/aes-ctr.d.ts.map +1 -1
- package/dist/types/algorithms/aes-gcm.d.ts +2 -2
- package/dist/types/algorithms/aes-gcm.d.ts.map +1 -1
- package/dist/types/algorithms/ecdsa.d.ts +1 -1
- package/dist/types/algorithms/ecdsa.d.ts.map +1 -1
- package/dist/types/algorithms/eddsa.d.ts +2 -2
- package/dist/types/algorithms/eddsa.d.ts.map +1 -1
- package/dist/types/algorithms/sha-2.d.ts +1 -1
- package/dist/types/algorithms/sha-2.d.ts.map +1 -1
- package/dist/types/crypto-error.d.ts +29 -0
- package/dist/types/crypto-error.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/jose/jwk.d.ts.map +1 -1
- package/dist/types/local-key-manager.d.ts +3 -3
- package/dist/types/local-key-manager.d.ts.map +1 -1
- package/dist/types/primitives/aes-kw.d.ts +103 -0
- package/dist/types/primitives/aes-kw.d.ts.map +1 -0
- package/dist/types/primitives/concat-kdf.d.ts +1 -1
- package/dist/types/primitives/concat-kdf.d.ts.map +1 -1
- package/dist/types/primitives/hkdf.d.ts +90 -0
- package/dist/types/primitives/hkdf.d.ts.map +1 -0
- package/dist/types/primitives/pbkdf2.d.ts +58 -0
- package/dist/types/primitives/pbkdf2.d.ts.map +1 -1
- package/dist/types/primitives/xchacha20-poly1305.d.ts +47 -0
- package/dist/types/primitives/xchacha20-poly1305.d.ts.map +1 -1
- package/dist/types/types/cipher.d.ts +1 -1
- package/dist/types/types/crypto-api.d.ts +3 -3
- package/dist/types/types/crypto-api.d.ts.map +1 -1
- package/dist/types/types/params-direct.d.ts +79 -1
- package/dist/types/types/params-direct.d.ts.map +1 -1
- package/dist/utils.js.map +2 -2
- package/package.json +21 -34
- package/src/algorithms/aes-ctr.ts +1 -1
- package/src/algorithms/aes-gcm.ts +3 -2
- package/src/algorithms/ecdsa.ts +13 -7
- package/src/algorithms/eddsa.ts +9 -9
- package/src/algorithms/sha-2.ts +2 -2
- package/src/crypto-error.ts +45 -0
- package/src/index.ts +3 -0
- package/src/jose/jwk.ts +32 -32
- package/src/local-key-manager.ts +14 -13
- package/src/primitives/aes-ctr.ts +1 -1
- package/src/primitives/aes-gcm.ts +5 -5
- package/src/primitives/aes-kw.ts +269 -0
- package/src/primitives/concat-kdf.ts +4 -2
- package/src/primitives/ed25519.ts +6 -6
- package/src/primitives/hkdf.ts +121 -0
- package/src/primitives/pbkdf2.ts +91 -0
- package/src/primitives/secp256k1.ts +6 -6
- package/src/primitives/secp256r1.ts +6 -6
- package/src/primitives/x25519.ts +3 -3
- package/src/primitives/xchacha20-poly1305.ts +57 -4
- package/src/primitives/xchacha20.ts +1 -1
- package/src/types/cipher.ts +1 -1
- package/src/types/crypto-api.ts +5 -5
- package/src/types/params-direct.ts +97 -1
- package/src/utils.ts +2 -2
- package/dist/cjs/algorithms/aes-ctr.js +0 -188
- package/dist/cjs/algorithms/aes-ctr.js.map +0 -1
- package/dist/cjs/algorithms/aes-gcm.js +0 -196
- package/dist/cjs/algorithms/aes-gcm.js.map +0 -1
- package/dist/cjs/algorithms/crypto-algorithm.js +0 -13
- package/dist/cjs/algorithms/crypto-algorithm.js.map +0 -1
- package/dist/cjs/algorithms/ecdsa.js +0 -352
- package/dist/cjs/algorithms/ecdsa.js.map +0 -1
- package/dist/cjs/algorithms/eddsa.js +0 -325
- package/dist/cjs/algorithms/eddsa.js.map +0 -1
- package/dist/cjs/algorithms/sha-2.js +0 -119
- package/dist/cjs/algorithms/sha-2.js.map +0 -1
- package/dist/cjs/index.js +0 -41
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/jose/jwe.js +0 -3
- package/dist/cjs/jose/jwe.js.map +0 -1
- package/dist/cjs/jose/jwk.js +0 -278
- package/dist/cjs/jose/jwk.js.map +0 -1
- package/dist/cjs/jose/jws.js +0 -3
- package/dist/cjs/jose/jws.js.map +0 -1
- package/dist/cjs/jose/jwt.js +0 -3
- package/dist/cjs/jose/jwt.js.map +0 -1
- package/dist/cjs/jose/utils.js +0 -60
- package/dist/cjs/jose/utils.js.map +0 -1
- package/dist/cjs/local-key-manager.js +0 -521
- package/dist/cjs/local-key-manager.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/primitives/aes-ctr.js +0 -398
- package/dist/cjs/primitives/aes-ctr.js.map +0 -1
- package/dist/cjs/primitives/aes-gcm.js +0 -425
- package/dist/cjs/primitives/aes-gcm.js.map +0 -1
- package/dist/cjs/primitives/concat-kdf.js +0 -215
- package/dist/cjs/primitives/concat-kdf.js.map +0 -1
- package/dist/cjs/primitives/ed25519.js +0 -651
- package/dist/cjs/primitives/ed25519.js.map +0 -1
- package/dist/cjs/primitives/pbkdf2.js +0 -120
- package/dist/cjs/primitives/pbkdf2.js.map +0 -1
- package/dist/cjs/primitives/secp256k1.js +0 -958
- package/dist/cjs/primitives/secp256k1.js.map +0 -1
- package/dist/cjs/primitives/secp256r1.js +0 -959
- package/dist/cjs/primitives/secp256r1.js.map +0 -1
- package/dist/cjs/primitives/sha256.js +0 -93
- package/dist/cjs/primitives/sha256.js.map +0 -1
- package/dist/cjs/primitives/x25519.js +0 -498
- package/dist/cjs/primitives/x25519.js.map +0 -1
- package/dist/cjs/primitives/xchacha20-poly1305.js +0 -340
- package/dist/cjs/primitives/xchacha20-poly1305.js.map +0 -1
- package/dist/cjs/primitives/xchacha20.js +0 -316
- package/dist/cjs/primitives/xchacha20.js.map +0 -1
- package/dist/cjs/types/cipher.js +0 -3
- package/dist/cjs/types/cipher.js.map +0 -1
- package/dist/cjs/types/crypto-api.js +0 -3
- package/dist/cjs/types/crypto-api.js.map +0 -1
- package/dist/cjs/types/hasher.js +0 -3
- package/dist/cjs/types/hasher.js.map +0 -1
- package/dist/cjs/types/identifier.js +0 -3
- package/dist/cjs/types/identifier.js.map +0 -1
- package/dist/cjs/types/key-compressor.js +0 -3
- package/dist/cjs/types/key-compressor.js.map +0 -1
- package/dist/cjs/types/key-converter.js +0 -3
- package/dist/cjs/types/key-converter.js.map +0 -1
- package/dist/cjs/types/key-deriver.js +0 -3
- package/dist/cjs/types/key-deriver.js.map +0 -1
- package/dist/cjs/types/key-generator.js +0 -3
- package/dist/cjs/types/key-generator.js.map +0 -1
- package/dist/cjs/types/key-io.js +0 -3
- package/dist/cjs/types/key-io.js.map +0 -1
- package/dist/cjs/types/key-wrapper.js +0 -3
- package/dist/cjs/types/key-wrapper.js.map +0 -1
- package/dist/cjs/types/params-direct.js +0 -3
- package/dist/cjs/types/params-direct.js.map +0 -1
- package/dist/cjs/types/params-enclosed.js +0 -3
- package/dist/cjs/types/params-enclosed.js.map +0 -1
- package/dist/cjs/types/params-kms.js +0 -3
- package/dist/cjs/types/params-kms.js.map +0 -1
- package/dist/cjs/types/signer.js +0 -3
- package/dist/cjs/types/signer.js.map +0 -1
- package/dist/cjs/utils.js +0 -173
- package/dist/cjs/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Enbox Crypto API
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
> **Research Preview** — Enbox is under active development. APIs may change without notice.
|
|
4
|
+
|
|
5
|
+
| A cryptography and JOSE library for building secure decentralized applications |
|
|
6
|
+
| ------------------------------------------------------------------------------ |
|
|
5
7
|
|
|
6
8
|
[![NPM Package][crypto-npm-badge]][crypto-npm-link]
|
|
7
9
|
[![NPM Downloads][crypto-downloads-badge]][crypto-npm-link]
|
|
@@ -12,7 +14,7 @@
|
|
|
12
14
|
|
|
13
15
|
---
|
|
14
16
|
|
|
15
|
-
- [
|
|
17
|
+
- [Enbox Crypto API](#enbox-crypto-api)
|
|
16
18
|
- [Supported Algorithms \& Key Types](#supported-algorithms--key-types)
|
|
17
19
|
- [Extensions](#extensions)
|
|
18
20
|
- [Getting Started](#getting-started)
|
|
@@ -46,7 +48,7 @@
|
|
|
46
48
|
|
|
47
49
|
<a id="introduction"></a>
|
|
48
50
|
|
|
49
|
-
The
|
|
51
|
+
The Enbox Crypto API is a core component of the [Enbox](https://github.com/enboxorg/enbox)
|
|
50
52
|
ecosystem, providing the cryptography and JSON Object Signing and Encryption (JOSE) capabilities
|
|
51
53
|
essential for building secure applications and services with Decentralized Identifiers
|
|
52
54
|
([DID](https://www.w3.org/TR/did-core/)) and Verifiable Credentials
|
|
@@ -56,7 +58,7 @@ This JavaScript library was designed for modern development runtimes, including
|
|
|
56
58
|
browsers, and React Native. It provides cryptographic functionality for cipher, hash, and signature
|
|
57
59
|
algorithms and basic JOSE support for JSON Web Key (JWK). Additionally, it includes the crypto
|
|
58
60
|
interfaces and local Key Management System (KMS) implementation that are used by
|
|
59
|
-
[other libraries](https://github.com/enboxorg/enbox
|
|
61
|
+
[other libraries](https://github.com/enboxorg/enbox) in this monorepo.
|
|
60
62
|
|
|
61
63
|
### Supported Algorithms & Key Types
|
|
62
64
|
|
|
@@ -81,33 +83,22 @@ Packages that extend the functionality of the `@enbox/crypto` library:
|
|
|
81
83
|
|
|
82
84
|
## Getting Started
|
|
83
85
|
|
|
84
|
-
The
|
|
86
|
+
The Enbox Crypto API is distributed as `@enbox/crypto` via [npmjs.com][crypto-npm-link],
|
|
85
87
|
[jsdelivr.com][crypto-jsdelivr-link], [unpkg.com][crypto-unpkg-link], and
|
|
86
88
|
[github.com][crypto-repo-link].
|
|
87
89
|
|
|
88
|
-
### Node.js
|
|
89
|
-
|
|
90
|
-
This library is designed and tested for the _active_ (`v20`) and _maintenance_
|
|
91
|
-
(`v18`) [LTS releases](https://nodejs.org/en/about/previous-releases) of Node.js
|
|
90
|
+
### Node.js / Bun
|
|
92
91
|
|
|
93
|
-
Install
|
|
92
|
+
Install using `bun` or your preferred package manager:
|
|
94
93
|
|
|
95
94
|
```shell
|
|
96
|
-
|
|
95
|
+
bun add @enbox/crypto
|
|
97
96
|
```
|
|
98
97
|
|
|
99
|
-
Example ESM import:
|
|
100
|
-
|
|
101
98
|
```js
|
|
102
99
|
import { Ed25519 } from "@enbox/crypto";
|
|
103
100
|
```
|
|
104
101
|
|
|
105
|
-
Example CJS require:
|
|
106
|
-
|
|
107
|
-
```js
|
|
108
|
-
const { Ed25519 } = require("@enbox/crypto");
|
|
109
|
-
```
|
|
110
|
-
|
|
111
102
|
### Web Browsers
|
|
112
103
|
|
|
113
104
|
A polyfilled distribution is published to [jsdelivr.com][crypto-jsdelivr-browser] and
|
|
@@ -153,19 +144,19 @@ We welcome you to join our open source community. Whether you're new to open sou
|
|
|
153
144
|
contributor, there's a place for you here. From coding to documentation, every contribution matters.
|
|
154
145
|
Check out our [contribution guide][contributing-link] for ways to get started.
|
|
155
146
|
|
|
156
|
-
For help, discussion about best practices, or to chat with others building on
|
|
147
|
+
For help, discussion about best practices, or to chat with others building on Enbox join our
|
|
157
148
|
[Discord Server][discord-link]:
|
|
158
149
|
|
|
159
150
|
[![discord-badge]][discord-link]
|
|
160
151
|
|
|
161
152
|
Remember, contributing is not just about code; it's about building together. Join us in shaping the
|
|
162
|
-
future of
|
|
153
|
+
future of decentralized applications!
|
|
163
154
|
|
|
164
155
|
## Core Concepts
|
|
165
156
|
|
|
166
157
|
### Key URIs
|
|
167
158
|
|
|
168
|
-
One of the core design principles for the SDKs in the
|
|
159
|
+
One of the core design principles for the SDKs in the Enbox ecosystem is the protection of private
|
|
169
160
|
key material. Instead of directly handling sensitive key information, our SDKs interact with
|
|
170
161
|
cryptographic keys through Key Management Systems (KMS) referenced by a unique identifier called a
|
|
171
162
|
**Key URI**. This approach ensures that private keys remain secure, while still allowing for
|
|
@@ -182,7 +173,7 @@ a prefix. The following table shows the format of supported **Key URIs**:
|
|
|
182
173
|
All cryptographic keys are represented in JSON Web Key
|
|
183
174
|
([JWK](https://datatracker.ietf.org/doc/html/rfc7517)) format and the `jwk-thumbprint`, a
|
|
184
175
|
[standardized](https://datatracker.ietf.org/doc/html/rfc7638), deterministic, and unique hash of the
|
|
185
|
-
key, acts as a fingerprint, enabling consistent key referencing across all
|
|
176
|
+
key, acts as a fingerprint, enabling consistent key referencing across all Enbox libraries without
|
|
186
177
|
exposing private key information.
|
|
187
178
|
|
|
188
179
|
### Using a Local KMS
|
|
@@ -203,7 +194,7 @@ const kms = new LocalKeyManager();
|
|
|
203
194
|
```
|
|
204
195
|
|
|
205
196
|
An ephemeral, in-memory key store is used by default but any persistent store that implements the
|
|
206
|
-
[`KeyValueStore`](https://github.com/enboxorg/enbox/
|
|
197
|
+
[`KeyValueStore`](https://github.com/enboxorg/enbox/blob/main/packages/common/src/types.ts)
|
|
207
198
|
interface can also be passed. See the [Persistent Key Store](#persistent-key-store) customization
|
|
208
199
|
for an example.
|
|
209
200
|
|
|
@@ -262,57 +253,11 @@ console.log(isValid);
|
|
|
262
253
|
// Output: true
|
|
263
254
|
```
|
|
264
255
|
|
|
265
|
-
Export the private key:
|
|
266
|
-
|
|
267
|
-
```ts
|
|
268
|
-
const privateKey = await kms.exportKey({ keyUri });
|
|
269
|
-
console.log(privateKey);
|
|
270
|
-
// Output:
|
|
271
|
-
// {
|
|
272
|
-
// kty: "OKP",
|
|
273
|
-
// crv: "Ed25519",
|
|
274
|
-
// alg: "EdDSA",
|
|
275
|
-
// kid: "8DaTzHZcvQXUVvl8ezQKgGQHza1hiOZlPkdrB55Vt6Q",
|
|
276
|
-
// x: "6alAHg28tLuqWtaj0YOg7d5ySM4ERwPqQrLoy2pwdZk",
|
|
277
|
-
// d: "0xLuQyXFaWjrqp2o0orhwvwhtYhp2Z7KeRcioIs78CY"
|
|
278
|
-
// }
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
Import a private key generated by another library:
|
|
282
|
-
|
|
283
|
-
```ts
|
|
284
|
-
import type { Jwk } from "@enbox/crypto";
|
|
285
|
-
|
|
286
|
-
const privateKey: Jwk = {
|
|
287
|
-
kty: "OKP",
|
|
288
|
-
crv: "Ed25519",
|
|
289
|
-
x: "0thnrEFw6MVSs1XFgd4OD-Yn05XGQv24hvskmGajtKQ",
|
|
290
|
-
d: "0xLuQyXFaWjrqp2o0orhwvwhtYhp2Z7KeRcioIs78CY",
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
const keyUri = await kms.importKey({ key: privateKey });
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
Compute the hash digest of arbitrary data:
|
|
297
|
-
|
|
298
|
-
```ts
|
|
299
|
-
const data = new TextEncoder().encode("Message");
|
|
300
|
-
const hash = await kms.digest({ algorithm: "SHA-256", data });
|
|
301
|
-
console.log(hash);
|
|
302
|
-
// Output:
|
|
303
|
-
// Uint8Array(32) [
|
|
304
|
-
// 8, 187, 94, 93, 110, 170, 193, 4,
|
|
305
|
-
// 158, 222, 8, 147, 211, 14, 208, 34,
|
|
306
|
-
// 177, 164, 217, 181, 180, 141, 180, 20,
|
|
307
|
-
// 135, 31, 81, 201, 203, 53, 40, 61
|
|
308
|
-
// ]
|
|
309
|
-
```
|
|
310
|
-
|
|
311
256
|
### JSON Web Key (JWK)
|
|
312
257
|
|
|
313
258
|
A JSON Web Key (JWK) is a [standardized](https://datatracker.ietf.org/doc/html/rfc7517) format for
|
|
314
259
|
representing cryptographic keys in a JSON data structure. The JWK format is used by all
|
|
315
|
-
[
|
|
260
|
+
[Enbox SDKs](https://github.com/enboxorg/enbox) to promote portability and
|
|
316
261
|
interoperability.
|
|
317
262
|
|
|
318
263
|
Defining a JWK:
|
|
@@ -339,19 +284,6 @@ console.log(thumbprint);
|
|
|
339
284
|
// Output: VhWyK5rpk2u_51_KniJxjRhwTUOsL8BLuKJaqpNYuEA
|
|
340
285
|
```
|
|
341
286
|
|
|
342
|
-
The provided type guard functions can be used for type narrowing or to perform runtime verification
|
|
343
|
-
of a specific JWK key type:
|
|
344
|
-
|
|
345
|
-
```ts
|
|
346
|
-
isPublicJwk(publicKey); // true
|
|
347
|
-
isPrivateJwk(publicKey); // false
|
|
348
|
-
isOkpPublicJwk(publicKey); // true
|
|
349
|
-
isOkpPrivateJwk(publicKey); // false
|
|
350
|
-
isOctPrivateJwk(publicKey); // false
|
|
351
|
-
isEcPublicJwk(publicKey); // false
|
|
352
|
-
isEcPrivateJwk(publicKey); // false
|
|
353
|
-
```
|
|
354
|
-
|
|
355
287
|
### Random Number Generation
|
|
356
288
|
|
|
357
289
|
Cryptographically strong random number generation is vital in cryptography. The unpredictability of
|
|
@@ -359,7 +291,7 @@ these random numbers is crucial for creating secure cryptographic keys, initiali
|
|
|
359
291
|
nonces (numbers used once). Their strength lies in their resistance to being guessed or replicated,
|
|
360
292
|
making them foundational to maintaining the integrity and confidentiality of cryptographic systems.
|
|
361
293
|
|
|
362
|
-
The
|
|
294
|
+
The Enbox Crypto API includes two utility functions for random number generation:
|
|
363
295
|
|
|
364
296
|
#### `randomBytes()`
|
|
365
297
|
|
|
@@ -411,7 +343,7 @@ const uuid = CryptoUtils.randomUuid();
|
|
|
411
343
|
|
|
412
344
|
By default, `LocalKeyManager` uses an in-memory key store to simplify prototyping and testing.
|
|
413
345
|
To persist keys that are generated or imported, an implementation of the
|
|
414
|
-
[`KeyValueStore`](https://github.com/enboxorg/enbox/
|
|
346
|
+
[`KeyValueStore`](https://github.com/enboxorg/enbox/blob/main/packages/common/src/types.ts)
|
|
415
347
|
interface can be passed.
|
|
416
348
|
|
|
417
349
|
For example, to use the [LevelDB](https://github.com/Level/level)-backed store from `@enbox/common`:
|
|
@@ -687,22 +619,22 @@ const decryptedData = await XChaCha20Poly1305.decrypt({
|
|
|
687
619
|
[crypto-npm-badge]: https://img.shields.io/npm/v/@enbox/crypto.svg?style=flat&color=blue&santize=true
|
|
688
620
|
[crypto-npm-link]: https://www.npmjs.com/package/@enbox/crypto
|
|
689
621
|
[crypto-downloads-badge]: https://img.shields.io/npm/dt/@enbox/crypto?&color=blue
|
|
690
|
-
[crypto-build-badge]: https://img.shields.io/github/actions/workflow/status/enboxorg/enbox/
|
|
691
|
-
[crypto-build-link]: https://github.com/enboxorg/enbox/
|
|
692
|
-
[crypto-coverage-badge]: https://img.shields.io/
|
|
693
|
-
[crypto-coverage-link]: https://
|
|
694
|
-
[crypto-issues-badge]: https://img.shields.io/github/issues/enboxorg/enbox/
|
|
695
|
-
[crypto-issues-link]: https://github.com/enboxorg/enbox/
|
|
696
|
-
[crypto-aws-kms-repo-link]: https://github.com/enboxorg/enbox/
|
|
697
|
-
[crypto-repo-link]: https://github.com/enboxorg/enbox/
|
|
622
|
+
[crypto-build-badge]: https://img.shields.io/github/actions/workflow/status/enboxorg/enbox/tests-ci.yml?branch=main&label=build
|
|
623
|
+
[crypto-build-link]: https://github.com/enboxorg/enbox/actions/workflows/tests-ci.yml
|
|
624
|
+
[crypto-coverage-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/LiranCohen/02d15f39a46173a612a8862ec6d7cfcf/raw/crypto.json
|
|
625
|
+
[crypto-coverage-link]: https://github.com/enboxorg/enbox/actions/workflows/ci.yml
|
|
626
|
+
[crypto-issues-badge]: https://img.shields.io/github/issues/enboxorg/enbox/package:%20crypto?label=issues
|
|
627
|
+
[crypto-issues-link]: https://github.com/enboxorg/enbox/issues?q=is%3Aopen+is%3Aissue+label%3A"package%3A+crypto"
|
|
628
|
+
[crypto-aws-kms-repo-link]: https://github.com/enboxorg/enbox/tree/main/packages/crypto-aws-kms
|
|
629
|
+
[crypto-repo-link]: https://github.com/enboxorg/enbox/tree/main/packages/crypto
|
|
698
630
|
[crypto-jsdelivr-link]: https://www.jsdelivr.com/package/npm/@enbox/crypto
|
|
699
631
|
[crypto-jsdelivr-browser]: https://cdn.jsdelivr.net/npm/@enbox/crypto/dist/browser.mjs
|
|
700
632
|
[crypto-unpkg-link]: https://unpkg.com/@enbox/crypto
|
|
701
633
|
[crypto-unpkg-browser]: https://unpkg.com/@enbox/crypto/dist/browser.mjs
|
|
702
|
-
[codeowners-link]: https://github.com/enboxorg/enbox/
|
|
703
|
-
[code-of-conduct-link]: https://github.com/enboxorg/enbox/
|
|
704
|
-
[contributing-link]: https://github.com/enboxorg/enbox/
|
|
705
|
-
[governance-link]: https://github.com/enboxorg/enbox/
|
|
706
|
-
[license-link]: https://github.com/enboxorg/enbox/
|
|
634
|
+
[codeowners-link]: https://github.com/enboxorg/enbox/blob/main/CODEOWNERS
|
|
635
|
+
[code-of-conduct-link]: https://github.com/enboxorg/enbox/blob/main/CODE_OF_CONDUCT.md
|
|
636
|
+
[contributing-link]: https://github.com/enboxorg/enbox/blob/main/CONTRIBUTING.md
|
|
637
|
+
[governance-link]: https://github.com/enboxorg/enbox/blob/main/GOVERNANCE.md
|
|
638
|
+
[license-link]: https://github.com/enboxorg/enbox/blob/main/LICENSE
|
|
707
639
|
[discord-badge]: https://img.shields.io/discord/937858703112155166?color=5865F2&logo=discord&logoColor=white
|
|
708
|
-
[discord-link]: https://discord.com/channels/937858703112155166/969272658501976117
|
|
640
|
+
[discord-link]: https://discord.com/channels/937858703112155166/969272658501976117
|