@keetanetwork/keetanet-client 0.18.0 → 0.18.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/client/builder.d.ts +23 -10
- package/client/index-browser.d.ts +1 -1
- package/client/index-browser.js +208 -81
- package/client/index.d.ts +1 -1
- package/client/index.js +146 -43
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Certificate.html +1 -4
- package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdempotentKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetErrorBase.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerIdempotentKeyError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerVoteError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Log.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PossiblyUnsignedBlock.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Stats.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.StatsPending.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.UnsignedBlock.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.UserClientBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.UserClient.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.AccountACLRow.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseACLRow.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1Canonical.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.CertificateACLRow.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256K1AccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256R1AccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ED25519AccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultisigAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.PendingOperations.html +2 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.PendingOperationsJSON.html +2 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.StorageAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.TokenAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Struct.html +1 -1
- package/docs/types/KeetaNetSDK.Referenced.LogOptions.html +13 -3
- package/lib/log/common.d.ts +1 -1
- package/lib/log/index.d.ts +21 -6
- package/lib/utils/certificate.d.ts +0 -1
- package/lib/utils/external-keys/passkey-prf.js +100 -21
- package/lib/utils/helper_testing.d.ts +10 -0
- package/npm-shrinkwrap.json +10 -17
- package/package.json +2 -2
- package/version.d.ts +1 -1
|
@@ -134,6 +134,60 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
134
134
|
}
|
|
135
135
|
return true;
|
|
136
136
|
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Normalize a PRF result value into a Buffer.
|
|
140
|
+
*
|
|
141
|
+
* The PRF extension spec types `results.first` as an ArrayBuffer, but in
|
|
142
|
+
* practice it is a BufferSource and credential providers disagree on the
|
|
143
|
+
* concrete type they return (see https://github.com/w3c/webauthn/issues/1851).
|
|
144
|
+
* Notably the 1Password browser extension returns a plain Array of byte
|
|
145
|
+
* numbers after serializing the WebAuthn response across its content-script
|
|
146
|
+
* bridge, and some authenticators return an ArrayBufferView (e.g. a
|
|
147
|
+
* DataView, which has no `slice` method). Every accepted shape is copied
|
|
148
|
+
* byte-for-byte so that the derived account is identical regardless of how
|
|
149
|
+
* the provider encoded the result.
|
|
150
|
+
*/
|
|
151
|
+
function prfResultToBuffer(value) {
|
|
152
|
+
/*
|
|
153
|
+
* Real ArrayBuffer (same realm)
|
|
154
|
+
*/
|
|
155
|
+
if (value instanceof ArrayBuffer) {
|
|
156
|
+
return Buffer.from(new Uint8Array(value));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/*
|
|
160
|
+
* TypedArray or DataView: honor byteOffset/byteLength. This check
|
|
161
|
+
* inspects the internal slot, so it works across realms.
|
|
162
|
+
*/
|
|
163
|
+
if (ArrayBuffer.isView(value)) {
|
|
164
|
+
return Buffer.from(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/*
|
|
168
|
+
* Cross-realm ArrayBuffer: instanceof fails but it is duck-typed
|
|
169
|
+
*/
|
|
170
|
+
if (isArrayBufferLike(value)) {
|
|
171
|
+
return Buffer.from(new Uint8Array(value));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/*
|
|
175
|
+
* Array of byte numbers. 1Password's browser extension returns the PRF
|
|
176
|
+
* result this way. Each entry must be an integer in [0, 255]: iterate
|
|
177
|
+
* every position (not Array.prototype.every(), which skips sparse holes)
|
|
178
|
+
* so that out-of-range, fractional, or missing values are rejected
|
|
179
|
+
* rather than silently truncated by Buffer.from() into a wrong byte.
|
|
180
|
+
*/
|
|
181
|
+
if (Array.isArray(value)) {
|
|
182
|
+
for (const entry of value) {
|
|
183
|
+
if (!Number.isInteger(entry) || entry < 0 || entry > 255) {
|
|
184
|
+
throw new Error('PRF extension result value is an array but contains a non-byte entry');
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return Buffer.from(value);
|
|
188
|
+
}
|
|
189
|
+
throw new Error(`PRF extension result value is of an unsupported type: ${Object.prototype.toString.call(value)}`);
|
|
190
|
+
}
|
|
137
191
|
function credentialToEntropy(credential) {
|
|
138
192
|
if (typeof credential !== 'object' || credential === null) {
|
|
139
193
|
throw new Error('Credential is not an object');
|
|
@@ -153,16 +207,13 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
153
207
|
throw new Error('PRF extension does not indicate PRF is enabled');
|
|
154
208
|
}
|
|
155
209
|
if (!('results' in prfExtension) || typeof prfExtension.results !== 'object' || prfExtension.results === null) {
|
|
156
|
-
|
|
210
|
+
return null;
|
|
157
211
|
}
|
|
158
212
|
const prfResults = prfExtension.results;
|
|
159
|
-
if (!('first' in prfResults) ||
|
|
160
|
-
|
|
213
|
+
if (!('first' in prfResults) || prfResults.first === null || prfResults.first === undefined) {
|
|
214
|
+
return null;
|
|
161
215
|
}
|
|
162
|
-
|
|
163
|
-
throw new Error('PRF extension "first" value is not an ArrayBuffer');
|
|
164
|
-
}
|
|
165
|
-
return Buffer.from(prfResults.first);
|
|
216
|
+
return prfResultToBuffer(prfResults.first);
|
|
166
217
|
}
|
|
167
218
|
async function entropyToAccount(entropy, index, keyType) {
|
|
168
219
|
const passphrase = bip39.entropyToMnemonic(new Uint8Array(entropy));
|
|
@@ -294,14 +345,6 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
294
345
|
if (syncable) {
|
|
295
346
|
syncableExtraAttributes = {
|
|
296
347
|
authenticatorSelection: {
|
|
297
|
-
/**
|
|
298
|
-
* Restricts to the device's built-in authenticator (Touch ID, Face ID,
|
|
299
|
-
* Windows Hello) backed by the OS keychain. Required for cross-device
|
|
300
|
-
* sync — only platform authenticators sync passkeys via iCloud Keychain
|
|
301
|
-
* / Google Password Manager, which is what lets the same passkey work
|
|
302
|
-
* on web and iOS. Excludes roaming security keys (e.g., YubiKey).
|
|
303
|
-
*/
|
|
304
|
-
authenticatorAttachment: 'platform',
|
|
305
348
|
/**
|
|
306
349
|
* Required for cross-device sync and usernameless sign-in.
|
|
307
350
|
*/
|
|
@@ -350,13 +393,33 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
350
393
|
if (!credentialHasRawId(credential)) {
|
|
351
394
|
throw new Error('Created credential does not have a raw ID');
|
|
352
395
|
}
|
|
353
|
-
const entropy = credentialToEntropy(credential);
|
|
354
|
-
const {
|
|
355
|
-
rawPublicKey
|
|
356
|
-
} = await entropyToAccount(entropy, index, keyType);
|
|
357
396
|
const keyID = Buffer.from(credential.rawId).toString('base64');
|
|
358
397
|
const rpID = options.rp.id;
|
|
359
|
-
|
|
398
|
+
const entropy = credentialToEntropy(credential);
|
|
399
|
+
let rawPublicKey;
|
|
400
|
+
/*
|
|
401
|
+
* If the fallback get() below derives an account, hold onto it so we
|
|
402
|
+
* can seed the cache and avoid a redundant ceremony. The non-fallback
|
|
403
|
+
* path intentionally leaves this undefined: no assertion (get) ceremony was
|
|
404
|
+
* performed there, so the first sign/decrypt should drive one.
|
|
405
|
+
*/
|
|
406
|
+
let fallbackAccount;
|
|
407
|
+
/*
|
|
408
|
+
* The "credentials.create" may not return the entropy,
|
|
409
|
+
* so we may need to fetch the credential to get it
|
|
410
|
+
* (e.g. if the authenticator does not return the PRF
|
|
411
|
+
* result in the create response, but does return it in
|
|
412
|
+
* the get response).
|
|
413
|
+
*/
|
|
414
|
+
if (entropy === null) {
|
|
415
|
+
const lookupResult = await _lookupByKeyIDWithSalt.call(KeetaPasskeyPRFKeyPair, keyID, salt, index, keyType, rpID);
|
|
416
|
+
rawPublicKey = lookupResult.rawPublicKey;
|
|
417
|
+
fallbackAccount = lookupResult.account;
|
|
418
|
+
} else {
|
|
419
|
+
const accountInfo = await entropyToAccount(entropy, index, keyType);
|
|
420
|
+
rawPublicKey = accountInfo.rawPublicKey;
|
|
421
|
+
}
|
|
422
|
+
const keyPair = new KeetaPasskeyPRFKeyPair({
|
|
360
423
|
rawPublicKey,
|
|
361
424
|
keyID,
|
|
362
425
|
salt,
|
|
@@ -365,6 +428,18 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
365
428
|
rpID,
|
|
366
429
|
cachedAccountTimeout
|
|
367
430
|
});
|
|
431
|
+
|
|
432
|
+
/*
|
|
433
|
+
* The fallback path already performed a get() to derive the account.
|
|
434
|
+
* If the caller opted into caching, seed the cache with it so the
|
|
435
|
+
* first sign/decrypt/export does not trigger a second, redundant
|
|
436
|
+
* credential ceremony. #setCachedAccount is a no-op when caching is
|
|
437
|
+
* disabled.
|
|
438
|
+
*/
|
|
439
|
+
if (fallbackAccount !== undefined) {
|
|
440
|
+
_assertClassBrand(_KeetaPasskeyPRFKeyPair_brand, keyPair, _setCachedAccount).call(keyPair, fallbackAccount);
|
|
441
|
+
}
|
|
442
|
+
return keyPair;
|
|
368
443
|
}
|
|
369
444
|
removeCachedAccountTimeout() {
|
|
370
445
|
_classPrivateFieldSet(_cachedAccountTimeout, this, undefined);
|
|
@@ -428,6 +503,9 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
428
503
|
keyID = checkKeyID.toString('base64');
|
|
429
504
|
}
|
|
430
505
|
const entropy = credentialToEntropy(credential);
|
|
506
|
+
if (entropy === null) {
|
|
507
|
+
throw new Error('PRF extension results do not contain a valid result or result does not have a valid "first" value');
|
|
508
|
+
}
|
|
431
509
|
const convertedData = await entropyToAccount(entropy, index, keyType);
|
|
432
510
|
|
|
433
511
|
/* Should we check the challenge is correctly signed ? */
|
|
@@ -469,7 +547,8 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
|
|
|
469
547
|
}
|
|
470
548
|
/** @internal */
|
|
471
549
|
_defineProperty(KeetaPasskeyPRFKeyPair, "_Testing", {
|
|
472
|
-
entropyToAccount: entropyToAccount
|
|
550
|
+
entropyToAccount: entropyToAccount,
|
|
551
|
+
prfResultToBuffer: prfResultToBuffer
|
|
473
552
|
});
|
|
474
553
|
if (!includeTesting) {
|
|
475
554
|
/**
|
|
@@ -2,6 +2,8 @@ import Account from '../account';
|
|
|
2
2
|
import LocalNode from '../node/local';
|
|
3
3
|
import { VoteStaple } from '../vote';
|
|
4
4
|
import type { Block } from '../block';
|
|
5
|
+
import { CertificateBuilder } from './certificate';
|
|
6
|
+
import type { Certificate } from './certificate';
|
|
5
7
|
export declare const testingNetworkId = 0n;
|
|
6
8
|
type NodeConfig = ConstructorParameters<typeof LocalNode>[0];
|
|
7
9
|
export declare function canListenOn(ip: string): Promise<boolean>;
|
|
@@ -26,6 +28,14 @@ export interface LocalNodeWithPrivateKey extends LocalNode {
|
|
|
26
28
|
}
|
|
27
29
|
export declare function createTestNode(account: Account, options?: CreateTestNodeOptions): Promise<LocalNodeWithPrivateKey>;
|
|
28
30
|
export declare function getVotesFromSingleNode(node: LocalNode, fromAccount: Account, toAccount: Account, headBlock: Block | null): Promise<VoteStaple>;
|
|
31
|
+
/**
|
|
32
|
+
* Build a Certificate with defaults for tests.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildTestCertificate(params: NonNullable<ConstructorParameters<typeof CertificateBuilder>[0]> & {
|
|
35
|
+
serial: bigint | number;
|
|
36
|
+
issuer: Account;
|
|
37
|
+
subjectPublicKey: Account;
|
|
38
|
+
}): Promise<Certificate>;
|
|
29
39
|
/**
|
|
30
40
|
* Run a command and get its output
|
|
31
41
|
*/
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keetanetwork/keetanet-client",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@keetanetwork/keetanet-client",
|
|
9
|
-
"version": "0.18.
|
|
9
|
+
"version": "0.18.2",
|
|
10
10
|
"license": "see LICENSE",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"secp256k1": "5.0.1"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"optionalDependencies": {
|
|
22
22
|
"@google-cloud/logging": "11.2.0",
|
|
23
|
-
"@keetanetwork/asn1-napi-rs": "1.2.
|
|
23
|
+
"@keetanetwork/asn1-napi-rs": "1.2.3"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"node_modules/@google-cloud/common": {
|
|
@@ -182,8 +182,8 @@
|
|
|
182
182
|
}
|
|
183
183
|
},
|
|
184
184
|
"node_modules/@keetanetwork/asn1-napi-rs": {
|
|
185
|
-
"version": "1.2.
|
|
186
|
-
"integrity": "sha512-
|
|
185
|
+
"version": "1.2.3",
|
|
186
|
+
"integrity": "sha512-3Uao9FFrzAl6SEMHMiTTF2IGqd1c7N9ZAkKECV0g9jrrqxg75yDYsFhbO2X/uYsZaAuGp0cYVoC6JJCTvp/z4A==",
|
|
187
187
|
"license": "SEE LICENSE IN LICENSE",
|
|
188
188
|
"optional": true,
|
|
189
189
|
"engines": {
|
|
@@ -218,8 +218,8 @@
|
|
|
218
218
|
"optional": true
|
|
219
219
|
},
|
|
220
220
|
"node_modules/@protobufjs/eventemitter": {
|
|
221
|
-
"version": "1.1.
|
|
222
|
-
"integrity": "sha512-
|
|
221
|
+
"version": "1.1.1",
|
|
222
|
+
"integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
|
|
223
223
|
"license": "BSD-3-Clause",
|
|
224
224
|
"optional": true
|
|
225
225
|
},
|
|
@@ -238,12 +238,6 @@
|
|
|
238
238
|
"license": "BSD-3-Clause",
|
|
239
239
|
"optional": true
|
|
240
240
|
},
|
|
241
|
-
"node_modules/@protobufjs/inquire": {
|
|
242
|
-
"version": "1.1.2",
|
|
243
|
-
"integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==",
|
|
244
|
-
"license": "BSD-3-Clause",
|
|
245
|
-
"optional": true
|
|
246
|
-
},
|
|
247
241
|
"node_modules/@protobufjs/path": {
|
|
248
242
|
"version": "1.1.2",
|
|
249
243
|
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
|
|
@@ -1121,8 +1115,8 @@
|
|
|
1121
1115
|
}
|
|
1122
1116
|
},
|
|
1123
1117
|
"node_modules/protobufjs": {
|
|
1124
|
-
"version": "7.6.
|
|
1125
|
-
"integrity": "sha512-
|
|
1118
|
+
"version": "7.6.4",
|
|
1119
|
+
"integrity": "sha512-RJJPTTpvFfHcWLkIa2JFWK4XvtSzS0yEWDmunqHXli1h3JlkbcQZXDZdcWxv+JK3Xsl5/UFDPZ0iGm7DAengYw==",
|
|
1126
1120
|
"hasInstallScript": true,
|
|
1127
1121
|
"license": "BSD-3-Clause",
|
|
1128
1122
|
"optional": true,
|
|
@@ -1130,10 +1124,9 @@
|
|
|
1130
1124
|
"@protobufjs/aspromise": "^1.1.2",
|
|
1131
1125
|
"@protobufjs/base64": "^1.1.2",
|
|
1132
1126
|
"@protobufjs/codegen": "^2.0.5",
|
|
1133
|
-
"@protobufjs/eventemitter": "^1.1.
|
|
1127
|
+
"@protobufjs/eventemitter": "^1.1.1",
|
|
1134
1128
|
"@protobufjs/fetch": "^1.1.1",
|
|
1135
1129
|
"@protobufjs/float": "^1.0.2",
|
|
1136
|
-
"@protobufjs/inquire": "^1.1.2",
|
|
1137
1130
|
"@protobufjs/path": "^1.1.2",
|
|
1138
1131
|
"@protobufjs/pool": "^1.1.0",
|
|
1139
1132
|
"@protobufjs/utf8": "^1.1.1",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keetanetwork/keetanet-client",
|
|
3
3
|
"repository": "https://github.com/keetanetwork/node.git",
|
|
4
|
-
"version": "0.18.
|
|
4
|
+
"version": "0.18.2",
|
|
5
5
|
"description": "KeetaNet Client TypeScript Reference Implementation",
|
|
6
6
|
"files": [
|
|
7
7
|
"**/*.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"secp256k1": "5.0.1"
|
|
25
25
|
},
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"@keetanetwork/asn1-napi-rs": "1.2.
|
|
27
|
+
"@keetanetwork/asn1-napi-rs": "1.2.3",
|
|
28
28
|
"@google-cloud/logging": "11.2.0"
|
|
29
29
|
},
|
|
30
30
|
"browser": "./client/index-browser.js",
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.18.
|
|
1
|
+
export declare const version = "0.18.2+gac0baac4139da80613edd4a1ebc7532f37fc834a";
|
|
2
2
|
export default version;
|